selenium unittest实战(1)-unittest开发规范

一、项目目录结构

  1. 项目目录结构

1)顶级目录是项目名称。

2)二级目录是一级模块名称,如有login模块,notice模块等;同时把report报告目录和主程序runner.py也放在二级目录。

3)三级目录是python模块文件,建议取名为test_二级模块名.py。

在实际的测试过程中,很有可能模块有三级,甚至四级。建议规范到二级模块即可。三级和四级去模块化,直接在py文件写入到case中。


selenium unittest实战(1)-unittest开发规范_第1张图片
image.png
  1. pycharm实际目录结构
selenium unittest实战(1)-unittest开发规范_第2张图片
image.png

二、二级目录中模块名称必须是python package,不能是directory。否则unittest的 Test Discovery无法找到py模块文件。


selenium unittest实战(1)-unittest开发规范_第3张图片
image.png

三、三级目录的python模块文件必须取名为test_*.py


selenium unittest实战(1)-unittest开发规范_第4张图片
image.png

四、模块文件编写规范

1)模块文件最前面导入常用库

2)类名取名 Test_模块文件名,类名首字母大写;类必须继承自unittest.TestCase,类的实例就是一个case;类必须写类说明,方便后续测试报告的查看

3)合理使用初始化和清除

setUpClass:所有的case执行之前初始化,需用@classmethod装饰

tearDownClass:所有的case结束之后清除,需用@classmethod装饰

setUp:单个case执行之前初始化

tearDown:单个case结束之后清除

4)测试用例必须以test开发,否则无法自动识别;用例的执行顺序按照ASCII码执行,可以使用数字控制用例的执行顺序,如test_00_login;函数说明必须要写,方便后续测试报告的查看

5)可以使用name == ‘main’ 加入测试代码

6)unittest.main(verbosity=2) 可以自动加载测试用例,并执行;verbosity=2 代表详细的输出

test_notice.py 类似的规范,这里不再累述。

selenium unittest实战(1)-unittest开发规范_第5张图片
image.png

selenium unittest实战(1)-unittest开发规范_第6张图片
image.png

selenium unittest实战(1)-unittest开发规范_第7张图片
image.png

selenium unittest实战(1)-unittest开发规范_第8张图片
image.png

五、主程序

1)使用HTMLTestRunner第三方库生成html报告

2)使用discover根据匹配的规则,自动查找模块文件,发现里面的用例并加载

3)生成一个标准的测试报告:

I)存储在report目录下;

使用os库.getcwd获得当前主程序文件的路径

II)报告名类似:2018-10-03 16_06_49_result.html,包含系统时间。

标准的时间,使用time库的strftime方法

4)使用HTMLTestRunner,不要使用TextTestRunner,否则无法生成html报告

5)使用runner.run(discover)运行测试用例

selenium unittest实战(1)-unittest开发规范_第9张图片
image.png

六、测试报告


selenium unittest实战(1)-unittest开发规范_第10张图片
image.png

你可能感兴趣的:(selenium unittest实战(1)-unittest开发规范)