一、测试用例执行的顺序

用例的执行顺序涉及多个层级,在多个测试目录的情况下,先执行哪个目录?在多个测试文件的情况下,先执行哪个文件?在多个测试类的情况下,先执行哪个测试类?,在多个测试方法(用例)的情况下,先执行哪个测试方法?

 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)关于测试用例执行的顺序的更多相关文章

  1. Selenium自动化测试-unittest单元测试框架使用

    一.什么是unittest 这里我们将要用的unittest是python的单元测试框架,它的官网是 https://docs.python.org/2/library/unittest.html,在 ...

  2. python selenium 使用unittest 示例

    python selenium 使用unittest 示例 并等待某个元素示例 from selenium.webdriver.support.ui import WebDriverWait from ...

  3. python web自动化测试框架搭建(功能&接口)——测试用例执行和结果收集

    由于unittest框架中结果收集在不同文件中,所以此处重写结果收集方法,加入执行时间,失败信息,失败截图等 TestRunner.py # coding=utf-8 import sys impor ...

  4. Selenium实战(四)——unittest单元测试3(测试用例的执行顺序)

    一.测试用例的执行顺序 层级:多个测试目录 > 多个测试文件 > 多个测试类 > 多个测试方法(测试用例).在这里以一个测试执行顺序的脚本为例test_order.py import ...

  5. Selenium自动化测试-unittest单元测试框架

    一.Pyhon工作原理-- 核心概念:test case, testsuite, TestLoder,TextTestRunner,TextTestResult, test fixture TestC ...

  6. python 17篇 unittest单元测试框架

    单元测试:开发程序的人自己测试自己的代码 unittest自动化测试框架 1.单元测试 import unittest def add(a,b): return a+b # 在运行时不要用run un ...

  7. 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承

    前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...

  8. unittest单元测试框架之测试用例的跳过(skip) (六)

    1.跳过测试用例的方法 @unittest.skip("don't run this case!"): @unittest.skipIf(3<2,"don't ru ...

  9. Python+Selenium框架unittest执行脚本方法之discover()方法

    继续接着介绍,如何利用unittest管理和执行测试用例的问题,这里我们还是利用之前已经有的三条测试用例,如果你跳过了前面文章,请回到框架设计篇的第八篇和第七篇,里面有相关测试类的文件.本文来介绍,如 ...

随机推荐

  1. apache2.2.25+php5.43开启curl失败的解决方案。

    首先还是常规步骤: 1.extension_dir = "C:/server/php/ext" 2.extension=php_curl.dll 3.重启apache,发现curl ...

  2. Matcher的group()/group(int group)/groupCount()用法介绍

    直接上代码: package com.dajiangtai.djt_spider.util; import java.util.regex.Matcher;import java.util.regex ...

  3. UVa 1663 Purifying Machine (二分匹配)

    题意:每一个01串中最多含有一个‘*’,‘*’既可表示0也可表示1,给出一些等长的这样的01串,问最少能用多少个这样的串表示出这些串. 如:000.010.0*1表示000.010.001.011,最 ...

  4. HDU - 1535 Invitation Cards 前向星SPFA

    Invitation Cards In the age of television, not many people attend theater performances. Antique Come ...

  5. java面试一定会遇到的56个面试题

    1.问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 2.问题:Java里的传引用和传值的区别是什么? 答案:传引用是指传 ...

  6. iTween研究院之学习笔记Move移动篇(一)

    http://www.xuanyusong.com/archives/2052 iTween.MoveTo(): 让模型移动到一个位置,它的底层函数是通过动态的修改模型每一帧的transform.po ...

  7. php如何判断文件是否存在,包括本地和远程文件

    当检查的文件是本地时用PHP自带的file_exists检查就行了,而此函数只能检查本地的函数是否存在, 所以如果要检查远程的文件是否存在只能用其它的方法了. 如果所服务器中php的配置开启了“all ...

  8. springboot打成jar后获取classpath下文件失败

    原文链接:https://blog.csdn.net/qq_18748427/article/details/78606432 springboot打成jar后获取classpath下文件失败 使用如 ...

  9. [Swift]LeetCode1079. 活字印刷 | Letter Tile Possibilities

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  10. Invalid YGDirection 'vertical'. should be one of: ( inherit, ltr, rtl )

    react native 路由( react-native-router-flux )跳转页面一直都报错 本项目解决方法:不是路由的问题,是跳转的页面有有问题,删除下图标记的红色即可(解决方法是排除法 ...