一、测试用例执行的顺序

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

 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. Object有哪些公用的方法?

    Object是所有类的父类,任何类都默认继承Object. public class Demo { public static void main(String[] args) { Object ob ...

  2. JAVA学习笔记——(五)

    今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 * ...

  3. HDU - 6383 百度之星2018初赛B 1004 p1m2(二分答案)

    p1m2  Accepts: 1003  Submissions: 4595  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 131072 ...

  4. IE浏览器弹出窗口

    //弹出一个对话框 参数的顺序: url, iWidth, iHeight, vArguments function openDialog() { var url, len = arguments.l ...

  5. 模板 - 动态规划 - 数位dp

    #include<bits/stdc++.h> using namespace std; #define ll long long ]; ll dp[][/*可能需要的状态2*/];//不 ...

  6. python-根据URL地址下载文件

    博主个人网站:https://chenzhen.online 使用Python中提供的urllib.request下载网上的文件 #coding=utf-8 """ 目标 ...

  7. 求10000以内n的阶乘(openjudge 2923)

    求10000以内n的阶乘 总时间限制:  5000ms 内存限制:  655360kB 描述 求10000以内n的阶乘. 输入 只有一行输入,整数n(0<=n<=10000). 输出 一行 ...

  8. django中的ORM与 应用与补充

    目录 django中的ORM与 应用与补充 ORM与数据的对应关系 ORM 常用字段 ORM 其他字段 自定义字段 字段参数 Model Meta参数 常用13中查询(必会) 单表查询的双下划线应用 ...

  9. ubuntu18.04中mysql的安装及远程连接配置

    1.ubuntu 18.04 下mysql的安装 sudo apt install mysql-server 2.mysql 安装配置 sudo mysql_secure_installation 参 ...

  10. php根据出生日期获取年龄

    /** * @param $birthday 出生年月日(1992-1-3) * @return string 年龄 */ function countage($birthday){ $year=da ...