Python+selenium之unittest单元测试(3)关于测试用例执行的顺序
一、测试用例执行的顺序
用例的执行顺序涉及多个层级,在多个测试目录的情况下,先执行哪个目录?在多个测试文件的情况下,先执行哪个文件?在多个测试类的情况下,先执行哪个测试类?,在多个测试方法(用例)的情况下,先执行哪个测试方法?
import unittest
from calculator import Count class TestBdd (unittest.TestCase):
def setUp(self):
print("test TestBdd :") def test_ccc(self):
print("test ccc") def test_aaa(self):
j = Count(2, 4)
print("test aaa") def tearDown(self):
pass class TestAdd (unittest.TestCase):
def setUp(self):
print("test TestAdd :") def test_bbb(self):
print("test bbb") def tearDown(self):
pass if __name__ == '__main__':
'''
suite = unittest.TestSuite ()
suite.addTest (TestAdd ('test_add'))
suite.addTest (TestAdd ('test_add2'))
suite.addTest (TestSub ('test_sub'))
suite.addTest (TestSub ('test_sub2'))
run = unittest.TextTestRunner ()
run.run (suite)
'''
unittest.main()
unittest框架默认会根据ASCII码的顺序加载测试用例,数字和字母的顺序为:0-9,a-z,A-Z.所以TestAdd类会优先于TestBdd类被执行,test_aaa()方法会优先于test_ccc()被执行,因而并没有按照用例从上到下的顺序执行。因而它并没有按照用例从上到下执行的顺序执行。
假如想要按照指定的顺序执行测试用例,就不能使用默认的main()函数,而是需要通过TestSuite()类的addTest()方法按照一定的顺序加载。
import unittest
from calculator import Count class TestBdd (unittest.TestCase):
def setUp(self):
print("test TestBdd :") def test_ccc(self):
print("test ccc") def test_aaa(self):
j = Count(2, 4)
print("test aaa") def tearDown(self):
pass class TestAdd (unittest.TestCase):
def setUp(self):
print("test TestAdd :") def test_bbb(self):
print("test bbb") def tearDown(self):
pass if __name__ == '__main__':
suite = unittest.TestSuite ()
suite.addTest (TestBdd ('test_ccc'))
suite.addTest (TestBdd ('test_aaa'))
suite.addTest (TestAdd ('test_bbb'))
# suite.addTest (TestSub ('test_sub2'))
run = unittest.TextTestRunner ()
run.run (suite) # unittest.main()
现在的执行顺序是addTest()方法所加载的顺序。discover()的加载测试用例的规则与main()方法相同。所以,我们只能通过测试用例的命名来提高被执行的优先级。例如,将希望先被执行的测试用例命名为“test_a”,将希望最后执行的测试用例命名为“test_z”
二、执行多级目录的用例
在对应的测试过程中,有控制web用例的数量,但是当测试用例达到一定的量级,就要考虑划分目录

Python+selenium之unittest单元测试(3)关于测试用例执行的顺序的更多相关文章
- Selenium自动化测试-unittest单元测试框架使用
一.什么是unittest 这里我们将要用的unittest是python的单元测试框架,它的官网是 https://docs.python.org/2/library/unittest.html,在 ...
- python selenium 使用unittest 示例
python selenium 使用unittest 示例 并等待某个元素示例 from selenium.webdriver.support.ui import WebDriverWait from ...
- python web自动化测试框架搭建(功能&接口)——测试用例执行和结果收集
由于unittest框架中结果收集在不同文件中,所以此处重写结果收集方法,加入执行时间,失败信息,失败截图等 TestRunner.py # coding=utf-8 import sys impor ...
- Selenium实战(四)——unittest单元测试3(测试用例的执行顺序)
一.测试用例的执行顺序 层级:多个测试目录 > 多个测试文件 > 多个测试类 > 多个测试方法(测试用例).在这里以一个测试执行顺序的脚本为例test_order.py import ...
- Selenium自动化测试-unittest单元测试框架
一.Pyhon工作原理-- 核心概念:test case, testsuite, TestLoder,TextTestRunner,TextTestResult, test fixture TestC ...
- python 17篇 unittest单元测试框架
单元测试:开发程序的人自己测试自己的代码 unittest自动化测试框架 1.单元测试 import unittest def add(a,b): return a+b # 在运行时不要用run un ...
- 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承
前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...
- unittest单元测试框架之测试用例的跳过(skip) (六)
1.跳过测试用例的方法 @unittest.skip("don't run this case!"): @unittest.skipIf(3<2,"don't ru ...
- Python+Selenium框架unittest执行脚本方法之discover()方法
继续接着介绍,如何利用unittest管理和执行测试用例的问题,这里我们还是利用之前已经有的三条测试用例,如果你跳过了前面文章,请回到框架设计篇的第八篇和第七篇,里面有相关测试类的文件.本文来介绍,如 ...
随机推荐
- android apk 防止反编译技术第二篇-运行时修改字节码
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止a ...
- Eclipse下对maven进行配置
前提:安装好maven插件http://www.cnblogs.com/lchzls/p/6281697.html 1.需要修改配置:首先选择Window->Preferences,弹出如下对话 ...
- 基于 Laravel Route 的 ThinkSNS+ Component
这里是传送门: <ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1[ThinkSNS+研发日记系列一]> <基于 Laravel 开发 Th ...
- 笔记-JavaWeb学习之旅18
AJAX:ASynchronous JavaScript And XML 异步的JavaScript 和XML 异步和同步:客户端和服务器端相互通信的基础上 同步:客户端操作后必须等待服务器端的响应, ...
- PHP闭包和匿名函数
概念 闭包和匿名函数在PHP5.3.0中被引入. 闭包 闭包是指创建时封装周围环境的函数.即使闭包所在的环境不存在了,闭包中封装的状态依然存在.这个概念很难理解,不过没关系,继续看下去就会明白了. 匿 ...
- SpringMVC之DispatcherServlet类
一.DispatcherServlet是什么 DispatcherServlet是前置控制器,配置在web.xml文件中的.拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据 ...
- java.exe is valid, but is for a machine type other than the current machine
java.exe is valid, but is for a machine type other than the current machine jdk版本不一致问题,在32位机器上使用64位的 ...
- fstream类总结
- ofstream, ifstream, fstream 在头文件fstream中,在fstream类中,用open成员函数打开文件,实现类与文件的关联操作. - open(filename, mo ...
- uoj207共价大爷游长沙
话说我可能还没有调出魔法森林呢...说好的lct第一题呢... 又是一个随机化的方法,毕竟又是判定性的问题 上次是判断无向图联通 这次是判断一些路径是否经过一条定边 若把路径上的边全部异或上一个路径的 ...
- 不可见类有抽象父类,spring配置子类bean,注入父类,aop就可以切父类的方法
public class TestBeanChild { int b = 1; public TestBean createDefault() { return new TestBeanDefault ...