01
unittest讲解
参考
讲解1:
流程: 我们要建立这个框架,首先需要导入unittest这个模块,我们做自动化的话还需要导入selenium这个模块,以及一些相关的,比方说time模块,OS模块,HTMLTestRunner模块。把我们需要的模块都导入,
在unittest里我们需要去定义一个类,定义类名,继承testcase,一个testcase的实例就是一个用例,类里需要有类的开始:setupclass,以及类的结束:teardownclass只在开始执,和结束执行一次,方法的开始setup、方法结束teardown,每个用例这都执行一次;然后我们需要去定义我们的用例,test1,test2,注意一定要以test开头,因为TestLoader只搜索所有以test开头的测试用例。 写完用例以后,我们需要去调用它,我们以main作为unittest的入口,执行自动化我们主要有4种调用的方式
第一种用unittest.main()去运行所有用例
第二种是创建一个套件TestSuite(),然后用addtest去添加你要执行的用例,这种方法可以执行部分测试用例,不会全部执行 第三种就是搜索绝对路径去执行自动化,调用unittest.testloader.discover方法执行用例
第四种是生成测试报告,搜索绝对路径去执行自动化,调用unittest.testloader.discover方法执行用例,然后把执行结果写入我们导入的模板文件,执行之后就能看到我们路径下所有用例的执行结果。 以上就是unittest框架的整个基本流程。
讲解2: 建立unittest框架流程: 第一步先导入unittest模块:import unittest;然后导入selenium模块:from selenium import webdriver、时间模块:from time import*等。
第二步定义一个类,给这个类取一个类名,继承unittest.testcase,一个testcase就是一个用例,之后定义一个类方法,类方法要有类的开始(setUpClass)和类的结束(tearDownClass)。第三步进行方法的开始(setUp),每一条用例执行,他们都去执行,之后是方法的结束(tearDown)。第四步写用例,用例一定要用test开头=》test1、test2,没有以test开头的用例 ,不被运行。第五步调用函数,使用main方法(if __name__=='__main__':)进行主函数调用。第六步执行用例,第一种可以用unittest.main()运行所有用例;第二种可以创建一个套件TestSuite(),然后用addtest去添加你要执行的用例,这种方法可以执行部分测试用例,不会全部执行;第三种搜索绝对路径去执行自动化,调用unittest.testloader.discover方法执行用例;第四种生成测试报告,搜索绝对路径去执行自动化,调用unittest.testloader.discover方法执行用例,然后把执行结果写入我们导入的模板文件,执行之后就能看到我们路径下所有用例的执行结果。
讲解3: 下面我介绍一下自动化框架的基本流程:自动化框架是用来管理和组织测试用例的,首先我们先导入unittest框架,再导入本次测试应用到的一些模块,比如time模块(进行计时)等等。接下来我们进行类的定义,创建一个类,一个testcase就是一个用例,继承unittest.testcase,定义类需要类的开始setUpClass()和类的结束tearDownClass() ,在整个框架中只运行一次。为了减少代码的冗余,我们需要进行方法的定义,调用的时候直接使用这个方法名就可以了,方法的开始setUp和tearDown结束每一条用例都会执行。然后我们进行用例定义,用例要以test开头,如果没有以test开头就不能运行,运行顺序按ascllma标准排序:0-9 A-Z a-z。 用例编写完成之后,我们进行用例的调用,这里我们有四种方法: 1.unittest.main() #第一种执行方法,执行所有的用例 2.创建一个套件TestSuite(),通过addtest添加用例到套件中,通过TextTestRunner去运行套件中的用例 3.根据运行文件的相对路径执行自动化测试,通过unittest.TestLoader().discover匹配测试路径和文件, unittest.TextTestRunner().run(d) 运行路径d下的用例 4.根据运行文件的相对路径执行自动化测试,通过unittest.TestLoader().discover匹配测试路径和文件,接下来把执行结果写入我们导入的模板文件,执行之后就能看到我们路径下所有用例的执行结果。
讲解4: 我们自动化通过unittest框架来进行编写自动化测试用例: 首先导入unittest 框架 import unittest , 创建一个类编写类名,继承unittset.testcase; 写类的开始setUpClass()和类的结束tearDownClass(),类的开始和类的结束在整个自动化用例中只执行一次,开头的时候和结尾的时候运行; 写方法开始setUp和方法结束tearDown,写方法开始和方法结束在每条用例执行前后都会执行一次,我们可以将重复执行的内容编写在方法开始和方法的结束中; 接下来在编写自动化测试用例:用例要用test开头,运行的顺序按ascllma标准排序:0-9 A-Z a-z来运行,所以用例名可以写成:如test_login_1,写完用例名,在根据实际情况写自动化用例的场景,如:账号,密码通过id,name,xpath等定位元素去编写用例;可以编写多条用例,写完用例以后去运行;运行方法有三种: 第一种:unittest.main() 运行所有用例, 第二种:通过TestSuite()套件addTest添加用例,用TextTestRunner().run运行单个用例或部分用例 第三种:通过TestLoader()去执行一个路径下的用例,用TextTestRunner().run去运行一个路径下的用例 我们运行的过程也可以导入html报告模板来生成自动化用例报告:导入一个html报告模板,定义好报告生成的路径,如:路径+时间+后缀.html ,通过open打开报告,通过二进制的方式bw写入内容,运行报告模板,填写报告模板的详情:stream运行内容,title自动化用例的标题,description"执行用例情况", tester测试人员等,填写后run运行,运行就会生成一个ui自动化测试报告,查看自动化用例报告的结果。这就是我做的自动化。
培训成功就业30000+;
讲师团队:20+;
班级人数:15-30(1个班)
软件测试:两个班级(1个月)
大数据班:3个班级(1个月)
鸿蒙开发班:1个班级(1个月)
最高薪资:30k
最低薪资:7.5k
应届生最高:19k
应届生薪资:8-12k

学技术热线:15949613302
16607005847
Ai软件测试学习联系微信: 15949613302
Ai大数据学习联系微信 : xiaolehua003
鸿蒙开发:15949613302
扫码加微信
