随着软件不断迭代,对应的功能也会越来越多,从而对应的测试用例也会呈指数增长.如果将全部的测试用例集成在一个文件中就会显得特别的臃肿而且维护成本也会很高. 一个很好的放大就是将这些测试yo你给里按照功能类型进行拆分,分散到不同测试文件中,即一个项目,对应多个分支. 1.testbaidu.py文件 from selenium import webdriver import unittest import time class MyTest(unittest.TestCase): def setUp…
1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去掉验证码1.1.手动在请求中添加cookies信息 url = "http://www.baidu.com" driver = webdriver.Firefox() driver.get(url) time.sleep(3) #添加cookies的方式 c1 = {'domain': '…
参考内容:虫师:<selenium2自动化测试实战——基于python语言> PS:书中的代码,只能做参考,最好还是自己码一码,不一定照搬就全是对的,实践出真知啊,踩了很多坑的说... 随着软件不断迭代功能越来越多,对应的测试用例也会呈指数增长.一个实现几十个功能的项目,对应的用例可能有上百个甚至更多,如果全部集成在一个文件中,那么这个文件就很臃肿且维护麻烦. 一个很好的方法就是将这些用例按照功能类型进行拆分,分散到不同测试文件中,即一个项目,对应多个分支. 一.分拆后的实现代码 1.test…
HTML报告 http://tungwaiyip.info/software/HTMLTestRunner.html   下载地址 这个扩展非常简单,只有一个HTMLTestRunner.py文件,选中后保存到本地.将其复制到Python安装目录接口; Windows:Python35\Lib目录下. HTMLTestRunner.py --->直接python3可以用了; HTMLTestRunner.py   已经修改过了,直接可以用于Python3 """ A T…
Python中的单元测试框架包含:doctest.unittest.pyttest.nose等,使用unittest单元测试框架不需要自行定义断言失败的提示,并且当一个测试函数执行失败后,后面的测试函数还会继续执行下去.下面以一个简单计算器来编写自动化测试用例.被测试的代码如下: # 计算器类 class Calculator: def __init__(self, a, b): self.a = int(a) self.b = int(b) def add(self): return self…
单元测试 #单元测试 #unittest+接口 unittest python自带 pytest+jenkins+allure #接口测试的本质 就是测试类里面的函数 #单元测试的本质 测试函数 代码级别 #功能测试 #.写用例 Testcase #.执行用例 Testsuite(存储用例) Testloader(找用例,加载用例,存到testsuite里面) #.对比实际结果,期望结果,判定用例是否通过 #断言(assert) #.出具测试报告 TextTestrunner import un…
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner 一.导入HTMLTestRunner 1.这个模块下载不能通过pip安装了,只能下载后手动导入,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 2.Download下HTMLTestRunner.py文件就是我们需要下载…
一.断言方法 方法 检查 版本 assertEqual(a,b) a==b   assertNotEqual(a,b) a!=b   assertTrue(x) bool(x) is True   assertFalse(x) bool(x) is False   assertIs(a,b) a is b 3.1 assertIsNot(a,b) a is not b 3.1 assertIsNone(x) x is None 3.1 assertIsNotNone(x) x is not No…
第一步:写Excel操作方法 excel_operate.py文件 from openpyxl import load_workbook #引入模块 class MyExcel: def __init__(self,filepath,sheetname): # 初始化函数在实例化对象时调用 self.wb = load_workbook(filepath) self.sh = self.wb[sheetname] # 读取指定单元格的数据 def read_data(self,row,colum…
本文来介绍如何生成自动化测试报告,前面文章尾部提到了利用HTMLTestRunner.py来生成自动化测试报告.关于HTMLTestRunner不过多介绍,只需要知道是一个能生成一个HTML格式的网页报告就可以,其他的可以自己去搜索查询资料.我们需要在我们自动化框架里面继承一个报告输出,直接来看看效果. 这里我们报告输出代码写到了,负责执行测试套件TestRunner.py这个文件.相关代码如下: # coding=utf-8 import HTMLTestRunner import os im…
一.测试用例的执行顺序 层级:多个测试目录 > 多个测试文件 > 多个测试类 > 多个测试方法(测试用例).在这里以一个测试执行顺序的脚本为例test_order.py import unittest class TestBdd(unittest.TestCase): def setUp(self): print("test TestBdd") def test_ccc(self): print("test ccc") def test_aaa(s…
执行用例 #写一个测试类 import unittest import HTMLTestRunnerNew #写好的模块可以直接调用 #import HTMLTest #测试报告模板 from class_004_unittest.class_003 import TestMathMethod suite=unittest.TestSuite() #存储用例,创建一个容器,存储用例 #测试用例们是一个类,如何加载用例,首先创建这个测试用例类的实例 #这个类的实例们是一个个的单独的用例 #在模块外…
这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将测试结果通过邮件发送到接收人 # coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header from .logger import * def send_email(test_report): with open(test_report, 'r', encoding='utf-8')…
一.单元测试框架说明 ​ 单元测试是指在编程中,针对程序模块的最小单元(类中的方法)进行正确性检验的测试工作.python+selenium自动化测试中通常使用unittest或者pytest作为单元测试框架.而java+selenium自动化测试中通常使用junit或者testng作为单元测试框架. 二.unittest框架的4个重要概念. ​ (1) test fixture(测试固件):一个测试固件代表一个或多个测试执行前的准备工作和测试结束后的清理工作,例如:创建数据库连接.关闭数据库连…
1. HTML测试报告 对测试人员来而言,测试的产出很难衡量.换句话说,测试人员的价值比较难以量化和评估,相信这一点对软件测试人员来说深有体会.我们花费了很多时间与精力所做的自动化测试也是如此.所以,需要一份漂亮且通俗易懂的测试报告来展示自动化测试成果.显然,一份简单的Log文件是不够的. HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告.HTMLTestRunner是在BSD许可证下发布的. 下载地址:http://tun…
分享一个比较基础的,系统性的知识点.Python+selenium+unittest+HTMLTestReportCN单元测试框架分享 Unittest简介 unittest是Python语言的单元测试框架,在Python的官方文档中,对unittest单元测试框架进行了详细的介绍,感兴趣的读者可以到 https://www.python.org/doc/网站了解.本章重点介绍unittest单元测试框架在自动化测试中的应用.unittest 单元测试框架提供了创建测试用例.测试套件和批量执行测…
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是test,也就是一个测试用例.要了解unittest单元测试框架,先来了解以下几个重要的概念. 1.测试固件(test fixture) 一个测试固件包括两部分,执行测试代码之前的准备部分和测试结束之后的清扫代码.这两部分一般用函数setUp()和tearDown()表示.这里举例以下,例如要测试百…
前面文章已经简单介绍了一些关于自动化测试框架的介绍,知道了什么是自动化测试框架,主要有哪些特点,基本组成部分等.在继续介绍框架设计之前,我们先来学习一个工具,叫unittest.       unittest是一个单元测试框架,是Python编程的单元测试框架.有时候,也做叫做“PyUnit”,是Junit的Python语言版本.这里了解下,Junit是Java语言的单元测试框架,Java还有一个很好用的单元测试框架叫TestNG,本系列只学习Python,所以只需要unittest是Pytho…
unittest是一个单元测试框架,是Python编程的单元测试框架.有时候,也做叫做“PyUnit”,是Junit的Python语言版本.这里了解下,Junit是Java语言的单元测试框架,Java还有一个很好用的单元测试框架叫TestNG,本系列只学习Python,所以只需要unittest是Python里的一个单元测试框架就可以了.       unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是test,也就是一个测试用例.要了解unitt…
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去掉验证码 1.手动在请求中添加cookies信息 url = "http://www.baidu.com" driver = webdriver.Firefox() driver.get(url) time.sleep() #添加cookies的方式 c1 = {'domain': '.b…
python+selenium+HTMLTestRunner+unittest生成HTML测试报告 首先要准备HTMLTestRunner文件,官网的HTMLTestRunner是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法:https://pan.baidu.com/s/1dEZQ0pz可下载修改之后的. 修改之后将HTMLTestRunner.py复制到python35的lib目录下 from time import sleepfrom…
unittest单元测试框架包括 Test Case,  Test Suite, Test Runner, Test Fixture Test Cases 组成Test Suite, Test Runner去执行test suite/case, Test Fixture通过覆盖Test Case的setUp()和tearDown()方法来实现. 以上图为例 一个TestCase写法如下 若只运行testadd.py的用例,直接运行这份文件即可,但若相一次性运行这个项目的所有case时,需要用到r…
参考内容: 虫师:<selenium2自动化测试实战——基于python语言> PS:书中的代码,只能做参考,最好还是自己码一码,不一定照搬就全是对的,实践出真知... 随着软件不断迭代功能越来越多,对应的测试用例也会呈指数增长.一个实现几十个功能的项目,对应的用例可能有上百个甚至更多,如果全部集成在一个文件中,那么这个文件就很臃肿且维护麻烦. 一个很好的方法就是将这些用例按照功能类型进行拆分,分散到不同测试文件中,即一个项目,对应多个分支. 前言: HTML测试报告 对软件测试人员来讲,测试…
3.1 unittest简介 前言(python基础比较弱的,建议大家多花点时间把基础语法学好,这里有套视频,可以照着练习下:http://pan.baidu.com/s/1i44jZdb 密码:92fs)熟悉java的应该都清楚常见的单元测试框架Junit和TestNG,这个招聘的需求上也是经常见到的.python里面也有单元测试框架-unittest,相当于是一个python版的junit.python里面的单元测试框架除了unittest,还有一个pytest框架,这个用的比较少,后面有空…
Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.SVN.Git.Mercurial.Perforce和ClearCase,而且可以执行用Apache Ant或Java Maven构建的项目.同时,它也可以利用一些插件.Shell脚本和Windows批处理命令来构建其他平台的项目. Jenkins除了构建软件功能外,还可以用于搭建自动化测试环境,比如…
#网络很慢可能会运行报错 (一)   前言 Selenium WebDriver是一个浏览器自动化测试的API集合.它提供了很多与浏览器自动化交互的特性,并且这些API主要是用于测试Web程序.如果仅仅使用Selenium WebDriver,我们无法实现执行测试前置条件.测试后置条件,比对预期结果和实际结果,检查程序的状态,生成测试报告,创建数据驱动的测试等功能. (二)   unittest单元测试框架 unittest(一般称为PyUnit)是从Java程序开发中广泛应用的JUnit启发而…
1. 带unittest的脚本分析 也许你现在心里还有疑问,unittest框架与我们前面所编写的Web自动化测试之间有什么必然联系吗?当然有,既然unittest可以组织.运行测试用例,那么为什么不能组织.运行Web自动化测试用例呢?我们现在就来开始通过一个实例来看看吧. # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.…
1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_page import Login_Page from HTMLReport import logger import time def login(driver, username, password): """ 登录业务 :param driver:浏览器驱动 :param us…
# -*- coding: utf-8 -*- import HTMLTestReport import HTMLTestRunner import os import sys import time import unittest from selenium import webdriver class Baidu(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.implici…
单元测试:开发自测时写的代码 unittest基本原理: ♦整个平台的搭建使用的是python的unittest测试框架,这里简单介绍下unittest模块的简单应用. ♦unittest是python的标准测试库,相比于其他测试框架是python目前使用最广的测试框架. 几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起 TestLoader是用来加载TestCase到TestSuite中的 TestRunner是来执行测试用例的,测试的结果会保存到Tes…