python3+selenium框架设计

2023-01-31 02:01:40 框架 设计 python3

使用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删了执行试下看下效果。

相关文章