unittest

Selenium(十八):unittest单元测试框架(四) HTML测试报告

…衆ロ難τιáo~ 提交于 2019-12-06 09:59:11
1. HTML测试报告 对测试人员来而言,测试的产出很难衡量。换句话说,测试人员的价值比较难以量化和评估,相信这一点对软件测试人员来说深有体会。我们花费了很多时间与精力所做的自动化测试也是如此。所以,需要一份漂亮且通俗易懂的测试报告来展示自动化测试成果。显然,一份简单的Log文件是不够的。 HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告。HTMLTestRunner是在BSD许可证下发布的。 下载地址: http://tungwaiyip.info/software/HTMLTestRunner.html 这个扩展非常简单,只有一个HTMLTestRunner.py文件,被选中后单击鼠标右键,在弹出的快捷菜单中选择另存为,将它保存到本地。安装方法也很简单,将其复制到Python安装目录下即可。 Windows:将下载的文件保存到...\Python36\Lib目录下。pycharm中不能使用,就找到pycharm的lib目录,将文件粘贴进去。 Linux:以Ubuntu为例,首先需要打开终端,找到Python的安装目录。打开终端后,输入Python命令进入Python交互模式,通过sys.path可以查看本机python的安装目录。以root身份将HTMLTestRunner.py文件复制到/usr

unittest,requests,assertEqual实战演练

爷,独闯天下 提交于 2019-12-06 08:50:22
请求方式:POST请求url:https://api.apiopen.top/developerLogin请求参数:名称 类型 必须 描述 示例name string 是 账号 peakchaopasswd string 是 密码 123456 import unittest,requestsclass Login(unittest.TestCase): def login(self,names,passwds): url="https://api.apiopen.top/developerLogin" data={"name":names,"passwd":passwds} a = requests.post(url, data=data) return self.assertEqual(a.json()["code"],200) def test_1_normal(self): #data={"name":"peakchao","passwd":"123456"} # a=requests.post("https://api.apiopen.top/developerLogin",data=data) # self.assertEqual(a.json()["code"],200) # self.assertEqual(a.json()["message"],'成功!')

python测试框架

本小妞迷上赌 提交于 2019-12-06 08:30:24
一、测试常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的; 每个测试单元必须是完全独立的,必须能单独运行。这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作。通常通过setUp()和setDown()方法处理; 编写执行快速的测试代码。在某些情况下,测试需要加载复杂的数据结构,而且每次执行的时候都要重新加载,这个时候测试执行会很慢。因此,在这种情况下,可以将这种测试放置一个后台的任务中。 在编写代码前执行完整的测试,而且在编写代码后再重新执行一次。这样能保证你后来编写的代码不会破坏任何事情; 在提交代码前执行完整的测试; 如果在开发期间被打断了工作,写一个打断的单元测试,关于你下一步将要开发的。当你回来工作时,你能知道上一步开发到的指针; 单元测试函数使用长的而且具有描述性的名字。在正式执行代码中,可能使用square()或sqr()取名,但是在测试函数中,你必须取像test_square_of_number_2()、test_square_negativer_number()这些名字,这些名字描述更加清楚; 测试代码必须具有可读性; 单元测试对新进的开发人员来说是工作指南。 二、python常用的测试框架 1. unittest unittest是Python内置的标准类库 unittest 和 JUnit类似

unittest---unittest跳过用例

为君一笑 提交于 2019-12-06 08:28:15
  我们在做自动化测试的时候,可能会遇到一些用例中间不用回归,想要进行跳过。直接注释的话,代码量修改过大,显然这个方法不妥,哪还有什么方法?unittest这个自动化框架可以帮助我们完成这个操作 自动跳过用例 unittest中提供了一些跳过用例的装饰器方法。我们可以通过这些装饰器来帮我们完成这些操作 @unittest.skip() 表示:无条件跳过用例 def skip(reason): """ 无条件地跳过用例 """ def decorator(test_item): if not isinstance(test_item, type): @functools.wraps(test_item) def skip_wrapper(*args, **kwargs): raise SkipTest(reason) test_item = skip_wrapper test_item.__unittest_skip__ = True test_item.__unittest_skip_why__ = reason return test_item return decorator @unittest.skipIf() 表示:如果条件为真,则跳过测试。 def skipIf(condition, reason): """ 如果条件为真,则跳过测试。 """ if condition:

python中的单元测试模块unittest

我的未来我决定 提交于 2019-12-06 07:09:02
unittest的属性: 该文以思维导图的形式描述unittest的重要属性。 其中前四个是unittest最核心的三个属性。 testcase:测试用例; testsuite:测试套件,多个测试用例组成一个测试套件; test runner:执行测试用例,该类中的run()方法会执行testsuite/testcase中的run()方法。测试的结果会保存在testresult中。 还有一个很重要的就是fixture,看着是挺陌生的,其实就是一个测试用例执行之前环境的准备和执行之后环境的销毁。 三、实例: 首先准备一些待测方法,functions.py: def fun_div(x): return x/2 def fun_add(x): return x+2 def fun_minus(x): return x-2 def fun_multi(x): return x*2 接下来写一些测试用例来测这些方法,test.py import unittest from functions import fun_add,fun_minus,fun_multi,fun_div class TestFun(unittest.TestCase): times = 0 @classmethod def setUpClass(cls): print('setUpclass') def setUp

(十)APP自动化测试的用例设计与实现

那年仲夏 提交于 2019-12-06 06:54:36
一 手工测试用例与自动化测试用例的对比 二自动化测试用例的实现 =========================================================================== 手工/自动化测试用例对比: 自动化测试用例注重点: 1.不是所有的手工用例都要转换成自动化测试用例 2.考虑到脚本开发成本,需要和人工测试用例成本做对比 3.最好是通过场景来设计测试用例,可抽出page模块,执行case,便于开发和维护 ========================================================================== 自动化测试用例的实现: PO设计模式回顾: 1.与web自动化的PO设计模式无太大差别 2.PO设计模式的优点:减少代码重复性、提高测试用例的可读性、提高测试用例的可维护性 回顾unittest框架: 1.unittest框架是python自带的单元测试框架 2.setUp方法用于测试用例执行前的初始化工作 3.tearDown方法用于释放驱动 4.在用例中使用断言方法判断用例是否执行成功 5.unittest.main方法,用于执行单元测试模块脚本 6.框架入口main.py文件中写入discover方法用于执行所有的测试用例脚本 导入unittest,测试类继承unittest

unittest单元测试,基于java的junit测试框架

被刻印的时光 ゝ 提交于 2019-12-06 06:51:56
import unittestclass study(unittest.TestCase): def testXia(self): self.assertEqual((3*4),20) def testHong(self): self.assertEqual(2,2)if __name__=="__main__": unittest.main()注意:1.方法的命名以test开头;2.查看unittest的用法,help(unittest);3.查看**的属性,dir(unittest.TestCase); 来源: https://www.cnblogs.com/canglongdao/p/11966851.html

(二十三)unittest的html报告使用

徘徊边缘 提交于 2019-12-06 06:49:25
1.下载html插件 http://tungwaiyip.info/software/HTMLTestRunner.html (只支持python2,python3好像要重新找,不确定) 2.放入安装的python37/lib目录下 3.放入工程文件的support文件夹下 4.在main入口文件编写代码: discover是用例集,读取在某某目录下以py结尾的文件,用于组织用例 来源: https://www.cnblogs.com/wx921308494/p/11966759.html

python_unittest参数化

这一生的挚爱 提交于 2019-12-06 05:47:31
unittest参数化 1 import parameterized 2 import unittest,BeautifulReport 3 4 #数据驱动 5 #代码驱动 6 #关键字驱动 7 8 data = [ 9 ['admin','123456',True,'正常登录'], 10 ['admin','21123',False,'密码错误'], 11 ['admin1','123456',False,'用户名错误'] 12 ] 13 14 data1 = [ 15 ['admin','123456',True,'正常登录'], 16 ['admin','21123',False,'密码错误'], 17 ['admin1','123456',False,'用户名错误'] 18 ] 19 20 def login(user,password): 21 if user =='admin' and password == '123456': 22 return True 23 return False 24 25 class LoginTest(unittest.TestCase): 26 @parameterized.parameterized.expand(data) 27 def test_login(self,user,password,expect,desc): 28

python-Excel 实战

ε祈祈猫儿з 提交于 2019-12-06 05:32:37
一、实战准备   在 UI 自动化测试中,处理 Excel 文件需要使用第三方库 xlrd ,到 python3 安装目录下,输入 cmd 回车,再输入 pip install xlrd 进行 xlrd 安装。   创建一个 Excel 文件 test.xlsx,内容如下:   实现读取 Excel 文件中的数据代码如下: import xlrd def readExcel(row): ''' :param row: 该参数表示行 :return: 返回一行数据,数据类型是列表 ''' excel01 = xlrd.open_workbook('test.xlsx','r') list01 = excel01.sheet_by_index(0) return list01.row_values(row) print('执行后数据为:{0},数据类型为:{1}'.format(readExcel(2),type(readExcel(2))))   以上代码,第一行是打开文件,第二行是具体到 excel 文件的 sheet ,这里以索引的方式处理,因为数据是在第一个 sheet 的,所以索引是 0 ,返回的是 XX 行的数据,上传的参数应该是具体的行,调用以上函数后,返回的数据类型是列表。    运行输出: 执行后数据为:['admin', 'admin', '您输入的邮箱名格式不正确