unittest的discover方法】的更多相关文章

自动化测试过程中,自动化覆盖的功能点和对应测试用例之间的关系基本都是1 VS N,如果每次将测试用例一个个单独执行,不仅效率很低, 无法快速反馈测试结果,而且维护起来很麻烦.在python的单元测试框架unittest中,提供了批量执行的测试用例的方法. 这篇博客,介绍下unittest框架的常用类和方法,以及利用discover()方法批量执行测试用例的方法... 官方文档:unittest单元测试框架 一.unittest框架 首先介绍一下unittest框架和执行测试用例相关的几个模块:…
使用unittest进行测试,如果是需要实现上百个测试用例,把它们全部写在一个test.py文件中,文件会越来越臃肿,后期维护页麻烦.此时可以将这些用例按照测试功能进行拆分,分散到不同的测试文件中. Python代码如下: testadd.py: from calculator import Math import unittest class TestAdd(unittest.TestCase): def setUp(self): print("test case start") d…
转载:https://www.cnblogs.com/imyalost/p/9048386.html discover()方法 discover(start_dir, pattern ='test *.py', top_level_dir = None ) start_dir:要测试的模块名或测试用例目录: pattern='test*.py':表示用例文件名的匹配原则,下面的例子中匹配文件名为以“test”开头的“.py”文件,星号“*”表示任意多个字符: top_level_dir=None…
前言 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了. 加载用例后,用unittest里面的TextTestRunner这里类的run方法去一次执行多个脚本的用例. 一.新建测试项目 1.pycharm左上角File>New Projetc>Pure Python,在location位置命名一个测试工程的名称:jiekoutest,然后保存 2,在项目下新建test文件夹,文件夹下新建test0…
一.discover更多测试用例 可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰 但通过addTest()添加.删除测试用例就变得非常麻烦 TestLoader 类中提供的discover()方法可以自动识别测试用例 discover(start_dir,pattern='test*.py',top_level_dir= None) 找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只…
import osimport unittest directory = os.getcwd()# 测试用例的目录organize = unittest.defaultTestLoader.discover(directory, pattern='test*.py')"""discover()方法有3个参数start_dir表示测试的模块名称或者测试用例的目录pattern='test*.py'表示测试用例文件名的匹配规则,请注意文件名以test开头top_level_dir…
继续接着介绍,如何利用unittest管理和执行测试用例的问题,这里我们还是利用之前已经有的三条测试用例,如果你跳过了前面文章,请回到框架设计篇的第八篇和第七篇,里面有相关测试类的文件.本文来介绍,如果利用discover()方法去加载一个路径下所有的测试用例.这个方法是不是太适合我们现在的需求,例如我只需要跑testsuite包下所有测试用例,不管在里面有多少个包和多少个测试类,只需要用discover()搞定,来看看这个场景下TestRunner.py如何写. # coding = utf-…
一.Unittest discover()可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰一般是通过addTest()来添加.删除用例,不同文件不同目录,此时用addTest()就比较麻烦 TestLoader类中提供的discover()方法可以识别测试用例,找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只有匹配到文件名时才加载discover(start_dir,pattern=…
(原文:https://www.cnblogs.com/fancy0158/p/10047906.html) TestSuite套件可以添加很多个用例后运行,但是每个用例都需要调用addTest()函数.当测试用例很多时,需要把用例拆分,写到不同的.py文件中. 一个简单的测试项目目录如下: 测试用例放在同一个文件夹或不同目录下,此时可以使用unittest的TestLoader类加载测试用例.TestLoader类负责根据各种标准加载测试用例,并将它们返回给测试套件.unittest提供了共享…
unittest模块常用属性 1. unittest.TestCase类:所有的测试用例类继承的基类 定义一个测试用例类,需要继承TestCase,比如: class BaiduTest(unittest.TestCase): 2. unittest.main():使用这个可以方便的将一个测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中以test命名开头的测试方法,并自动执行它们.执行方法的默认顺序是:根据ASCII码的顺序加载测试用例,数字与…
import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自动化用例所存放的路径 suit = unittest.defaultTestLoader.discover(dir,pattern="XFS*.py",top_level_dir=None) #匹配出需要执行的py文件 runner = unittest.TextTestRunner() #TextTestRunner类实例化,目的是为了调…
本文开始介绍如何通过unittest来管理和执行测试用例,这一篇介绍unittest下addTest()方法来加载测试用例到测试套件中去.为了演示效果,我在前面文章的脚本基础上,新建了一个测试脚本,这个测试脚本有一个测试用例,加上前面的测试脚本,一共就是三个测试用例,前面那个测试类里面包括两个测试用例. 新建的测试脚本,test_get_page_title.py代码如下: # coding = utf-8 import unittest from framework.browser_engin…
调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest 原因是因为sub_class里缺少runTest方法 直接在testA的类中增加 def runTest(self): pass…
#alltest.py中内容如下import unittest,osdef all(): #path="D:\\study\\python_api_test\\test1203" #手动添加路径 path=os.getcwd() #获取路径 files=unittest.defaultTestLoader.discover(path, pattern="hui*.py", top_level_dir=None) lastall=unittest.TestSuite(…
1.调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest 原因是因为 sub_class 里缺少 runTest 方法 直接在 testA 的类中增加 def runTest(self): pass…
1. suite=unittest.TestLoader().loadTestsFromTestCase(changedTestHJ)unittest.TextTestRunner(verbosity=2).run(suite)添加changedTestH类中的所有test_用例 2. suite=unittest.makeSuite(changedTestHJ)filename='D:\\report.html'fp=file(filename,'wb')runner=HTMLTestRunn…
有时候在编完脚本开始运行时,发现某个py脚本右键运行的选项不是run,二是run in unittest,试过很多方法都不能很好的去除,主要是因为脚本中含有test字符串,一种解决方法是将脚本中所有的函数和类的test字符串改为其他的.但是此方法比较麻烦,需要改函数和类的名字,有一种根本的解决方法: File-> Settings -> Tools -> Python Integrated Tools -> Default test runner ,将Unittests改为py.t…
1. if __name__ == '__main__': unittest.main()2. 测试用例实例根据测试的特点分组在一起. unittest为此提供了一个机制:测试套件由unittest's TestSuiteclass widgetTestSuite = unittest .TestSuite () widgetTestSuite .addTest (WidgetTestCase ('test_default_size' )) widgetTestSuite .addTest (W…
UnitTest安装 pip install unittest 详细教程: https://www.cnblogs.com/yufeihlf/p/5707929.html断言:  DDT数据驱动: case中单个参数: case中多个参数:使用中文会报错 case中参数较多: 可使用file传输 使用yaml传输参数 CASE :                                                                                   …
assertEqual(a, b)          判断a==b assertNotEqual(a, b)     判断a!=b assertTrue(x)                bool(x) is True assertFalse(x)             bool(x) is False assertIs(a, b)               a is b assertIsNot(a, b)          a is not b assertIsNone(x)     …
预期框架整理目标: 1.单个用例维护在单个.py文件中可单个执行,也可批量生成组件批量执行 2.对定位参数,定位方法,业务功能脚本,用例脚本,用例批量执行脚本,常用常量进行分层独立,各自维护在单独的.py文件中 3.加入日志,htlm报表,发送邮件功能 框架结构 结构说明: config:配置部分,浏览器种类和定位信息维护在此处 constant:常量部分,固定不变的数据维护在此处 data:存放用于参数化的文本表格等文件 encapsulation:定位等selenium功能二次封装在此处 e…
安装: 因为是由大神分享的,可以直接在github<https://github.com/TesterlifeRaymond/BeautifulReport>上下载 git clone git@github.com:TesterlifeRaymond/BeautifulReport.git download后,需要把包放到 D:\python3.6.5\Lib\site-packages 目录下,以备调用; 使用: 和HTMLTestRunner.py在运行case上稍有不同 import o…
1.   安装 SeleniumIDE(firefox) (1)下载地址:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/ (2) 教程: (3) 可以直接将脚本到unittest 2.  unittest单元测试框架: 2.1 定义 1)  单元测试负责对最小的软件设计单元(模块)进行验证,它使用软件设计文档中对模块的描述作为指南,对重要的程序分支进行测试以发现模块中的错误. 2) unittest 框架(又名 PyUni…
一. unittest最核心的四个概念 unittest中最核心的四个概念是:test case,test suite,test runner,test fixture TestCase:一个testcase的实例就是一个测试用例:测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown) TestSuite:多个测试用例集合在一起 TestLoader:是用来加载TestCase到TestSuite中的 TextTestRunner:用来执行测试用例的…
提到自动化测试,少不了自动化生成测试报告,更少不了漂亮的测试报告呀!刚好看到在github上有个大神分享了BeautifulReport,与unittest测试框架完美的结合起来,就能生成BeautifulReport了.下面来实践一把: 一.首先,准备好BeautifulReport,git地址:https://github.com/TesterlifeRaymond/BeautifulReport 如果你安装了Git,可以直接用下面命令克隆到本地指定目录: git clone https:/…
1.下载HTMLTestRunner.py HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展.它生成易于使用的 HTML 测试报告.HTMLTestRunner 是在 BSD 许可证下发布.(1)下载 地址:http://tungwaiyip.info/software/HTMLTestRunner.html   --> (2)点击HTMLTestRunner.py进入目标文件后,右键另存于即可. (3)python3中用HTMLTestRunner.p…
一 整体结构概览 unittest原名为PyUnit,是由java的JUnit衍生而来.对于单元测试,需要设置预先条件,对比预期结果和实际结果. 整体结构:unittest库提供了test cases, test suites, test fixtures,test runner: test case :通过继承TestCase类,我们可以创建一个test,或者一组tests test suites : 测试套件 test fixtures : setup + test case + teard…
用python写自动化测试时,unittest框架与BeautifulReport结合能够生成完美的可视化测试报告 [第一步]:准备好BeautifulReport,git地址: https://github.com/TesterlifeRaymond/BeautifulReport 如果自己电脑上安装了git,可以直接使用git命令克隆到本地指定目录下 git clone https://github.com/TesterlifeRaymond/BeautifulReport 克隆到pytho…
UiAutoTest 一.概要 数据驱动的Ui自动化框架 二.环境要求 框架基于Python3 + unittest + appium 运行电脑需配置adb.aapt的环境变量,build_tools版本建议选择28及以上 配置appium环境,并确保appium版本1.9及以上 目前只支持安卓手机,建议使用安卓7.0及以上设备 运行时候,电脑只能同时连接一台测试机 三.框架结构和原理 3.1 框架原理 框架结构设计分为四层,自下而上分别为:基础工具类Base层.页面操作PageObject层.…