selenium:
(1).firefox官方下载驱动geckodriver,windows:放在\python36或者是27的目录下
- Mac: /usr/local/bin
(2).firefox的版本必须是在48之后
(3).pip install selenium==3.11
1.unittest介绍:通过selenium的例子来讲解
unittest单元测试框架(其中包含测试固件(setUp() tearDown() ), 测试报告,测试套件(testSuite),测试用例(testCase),断言)
2.例子:
(1)setUp 和 tearDown 这个属于测试固件,在每一个test之前和之后都运行一次
(2)setUpClass 和 tearDownClass,这个属于类方法,在类之前和之后运行一次
(3)测试必须以test开头
(4)测试的顺序是由ascii码从小到大运行 ord()查看ascii,比如:
(5)在主函数里面,通过unittest.main()方法运行
(6)类要继承unittest.TestCase这个类
3.测试套件,顺序执行
现将测试套件testSuite实例化(创建一个套件),然后把想跑的测试用例一个一个的add进去,运行测试套件:unittest.TextTestRunner(verbosity=2).run(suite)
先add那个,就先执行哪个。
4.按照测试类去执行。makeSuite()
将测试类,放入测试套件中,执行类里面所有的测试
5.忽略测试skip
一个case想要被忽略,那么,只需要田间@unittest.skip("理由")
6.将测试固件分离
当有很多个case的时候,有些一定要基于登陆进行,很多都需要继承登陆。接下来做一个简单的分离
(1)都用到的打开浏览器,关闭浏览器,分离出来
(2)点击百度新闻,继承init类
(3)百度搜索,继承init类
7.测试套件TestLoaderde的使用
8.测试套件discover()的使用:
根据正则匹配要跑当前目录下的 test_baidu_ 开头的脚本。
查看discover里面的参数:鼠标点击discover,键盘按下control键。进入里面查看:
总结:按照测试套件跑的话,大概流程都是:
1.首先定义一个测试套件(起名为suite),然后通过load的方法,这个suite里面主要包含了要跑的那些case
2.然后,运行这个suite里面的所有case。一般都是unittest.TextTestRunner().run(suite),调用TextTestRunner这个类主要是通过名字来跑。