python3+selenium框架设计
使用htmlTestRunner可以生成测试报告。HTMLTestRunner是unittest模块下的一个拓展,原生的生成报告样式比较丑,GitHub上有大佬优化过后的版本:gitHub地址。下载之后解压应该是这样的
我们需要使用的是HTMLTestRunnerCN.py和EN.py 这两个。一个生成的是中文报告,一个生成的是英文报告。想用哪个版本的就把对应版本的.py文件复制到pytho3安装目录下的Lib文件夹下。能import进来相应的文件就可以了。最下面两个test开头的.py文件是用来测试的。可以直接运行看下生成的报告是什么样子的
项目下新建一个report文件夹,项目结构如下
打开上篇文章中entrance.py文件,修改代码如下
import testsuites.test_baidu
import testsuites.test_baidu_new
import unittest
import getcwd
import os
import HTMLTestRunnerCN
if __name__ == "__main__":
suite = unittest.TestSuite()
suite.addTest(testsuites.test_baidu.test_baidu('test_baisu'))
suite.addTest(testsuites.test_baidu_new.test_baidu_new('test_new'))
path = getcwd.get_cwd()
file_path = os.path.join(path,'report/xxxUI自动化测试报告.html')
fp = open(file_path,'wb')
runner = HTMLTestRunnerCN.HTMLTestReportCN(
stream = fp,
title = 'xxxUI自动化测试报告',
description = '报告中描述部分',
tester = '测试者'
)
runner.run(suite)
fp.close()
运行之后可以看到在report文件夹下生成了html文件。文件夹打开这个html文件
可以看到生成报告的效果,代码中的字段对照报告很容易看出来是哪些。懒得再说了
在类和测试函数的第一行添加注释块,里面可以写上功能说明,这样生成测试报告时用例集/测试用例那里也能看到对应的功能说明
测试函数中try...except,一定要raise异常。不raise执行失败了。测试报告会算在通过里面的,因为异常被处理了。可以自己把raise删了执行试下看下效果。
相关文章