转载:http://www.cnblogs.com/sunny0/p/7771089.html 测试套件suite除了使用addTest以外,还有使用操作起来更更简便的makeSuite\testload\discover 1.makeSuite,创建测试套件,传的参数是要执行的测试用例所在的类名,如下代码makeSuite()里传入的就是用例test01\test02所在的类Login, 代码:reload(sys) sys.setdefaultencoding('utf-8')是将代码中的字…
测试套件suite除了使用addTest以外,还有使用操作起来更更简便的makeSuite\testload\discover 1.makeSuite,创建测试套件,传的参数是要执行的测试用例所在的类名,如下代码makeSuite()里传入的就是用例test01\test02所在的类Login, 代码:reload(sys) sys.setdefaultencoding('utf-8')是将代码中的字符类型都转为UTF-8编码格式 #!/usr/bin/env.python #-*-coding…
1.UI测试框架搭建-目录结构 2. 文件介绍 2.1.baseinfo->__init__.py 配置文件定义基础参数 #-*-coding:utf-8-*- #测试用例配置参数 base_url = "http://xxxxx.com" undirect_username = "username" undirect_password = "password" direct_username = "username"…
#coding=utf-8 from selenium import webdriver from time import sleep import unittest#导入unittest库 import HTMLTestRunner #创建一个类,并且该类继承unittest.case类 class Test_baidu(unittest.TestCase): #初始环境,每一个用例执行时都会先执行这里的代码 def setUp(self): self.dr=webdriver.Chrome(…
部分内容来自:https://www.cnblogs.com/klb561/p/8858122.html 一.基础介绍 核心概念:test case, testsuite, TestLoder,TextTestRunner,TextTestResult, test fixture TestCase(测试用例): 所有测试用例的基类,它是软件 测试中最基本的组成单元. 一个test case就是一个测试用例,是一个完整的测试流程,包括测试前环境的搭建setUp,执行测试代码(run),以及测试后环…
随着软件不断迭代,对应的功能也会越来越多,从而对应的测试用例也会呈指数增长.如果将全部的测试用例集成在一个文件中就会显得特别的臃肿而且维护成本也会很高. 一个很好的放大就是将这些测试yo你给里按照功能类型进行拆分,分散到不同测试文件中,即一个项目,对应多个分支. 1.testbaidu.py文件 from selenium import webdriver import unittest import time class MyTest(unittest.TestCase): def setUp…
一.discover更多测试用例 可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰 但通过addTest()添加.删除测试用例就变得非常麻烦 TestLoader 类中提供的discover()方法可以自动识别测试用例 discover(start_dir,pattern='test*.py',top_level_dir= None) 找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只…
自动化测试过程中,自动化覆盖的功能点和对应测试用例之间的关系基本都是1 VS N,如果每次将测试用例一个个单独执行,不仅效率很低, 无法快速反馈测试结果,而且维护起来很麻烦.在python的单元测试框架unittest中,提供了批量执行的测试用例的方法. 这篇博客,介绍下unittest框架的常用类和方法,以及利用discover()方法批量执行测试用例的方法... 官方文档:unittest单元测试框架 一.unittest框架 首先介绍一下unittest框架和执行测试用例相关的几个模块:…
(原文:https://www.cnblogs.com/fancy0158/p/10047906.html) TestSuite套件可以添加很多个用例后运行,但是每个用例都需要调用addTest()函数.当测试用例很多时,需要把用例拆分,写到不同的.py文件中. 一个简单的测试项目目录如下: 测试用例放在同一个文件夹或不同目录下,此时可以使用unittest的TestLoader类加载测试用例.TestLoader类负责根据各种标准加载测试用例,并将它们返回给测试套件.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…
coding=utf-8'''Created on 2018/3/29 author:star Project:discover测试用例''' import unittest,time,oslist="C:\Users\Administrator\PycharmProjects\untitled"discover=unittest.defaultTestLoader.discover(list,pattern="test_*.py",top_level_dir=No…
转载: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…
# coding=utf-8import unittestfrom inspect import isfunction def usage(): """also unittest.__dict__""" print(unittest.__all__) def stdout_writeText(): suite = unittest.TestSuite() tests = unittest.TestLoader().loadTestsFromTes…
一.什么是unittest 这里我们将要用的unittest是python的单元测试框架,它的官网是 https://docs.python.org/2/library/unittest.html,在这里我们可以得到全面的信息. 当我们写的用例越来越多时,我们就需要考虑用例编写的规范与组织,以便于后期的维护,而unittest正是这样一款工具.我们这里用一个示例来展示用unittest脚本是什么样子的 # -*- coding: utf-8 -*- from selenium import we…
unittest单元测试框架 概述: 单元测试框架主要用来完成以下三件事: 提供用例组织与执行:当测试用例只有几条时,可以不必考虑用例的组织,但是当用例达到成百上千条时,大量的用例堆砌在一起,就产生了扩展性与维护性等,单元测试框架就是用来解决用例的规范与组织问题: 提供了丰富的比较方法:不论是功能测试,还是单元测试,在用例执行完成之后都需要将实际结果与预期结果进行比较(断言),从而判定用例是否执行通过.单元测试框架一般会提供丰富的断言方法.例如:判断相等/不等.包含/不包含.True/False…
参考内容:虫师:<selenium2自动化测试实战——基于python语言> PS:书中的代码,只能做参考,最好还是自己码一码,不一定照搬就全是对的,实践出真知啊,踩了很多坑的说... 随着软件不断迭代功能越来越多,对应的测试用例也会呈指数增长.一个实现几十个功能的项目,对应的用例可能有上百个甚至更多,如果全部集成在一个文件中,那么这个文件就很臃肿且维护麻烦. 一个很好的方法就是将这些用例按照功能类型进行拆分,分散到不同测试文件中,即一个项目,对应多个分支. 一.分拆后的实现代码 1.test…
    import requestsimport unittest class TestQQ(unittest.TestCase):    '''测试QQ号接口'''      # 此注释将展示到测试报告的测试组类 def test_qq(self):        '''测试QQ号码,正确的appkey'''      # 此注释将展示到测试报告的用例标题        url = 'http://japi.juhe.cn/qqevaluate/qq'        par = {     …
知道ddt的基本使用方法之后,练习把之前用excel文件来维护的接口测试用例改用unittest+ddt来实现. 这里我选用yaml文件来管理接口参数,开始本来想用json,但是json无法添加注释,可读性不好. 1.向yaml文件中添加数据 下面截图是接口文档中的各个接口,每个接口都有一个固定的序号,所以在设计每个接口的测试数据时,以序号来区分不同接口 yaml文件内容如下,需要注意的是yaml的语法: (1)键值对用冒号分割,但是冒号后需要加一个空格 (2)禁止使用tab缩进,只能使用空格键…
前言 说到测试框架,unittest是我最先接触的自动化测试框架之一了, 而且也是用的时间最长的, unittest框架有很多方法加载用例,让我们针对不同的项目,不同项目的大小及用例的多少自己选择加载方式.今天我们就简单的说说几种加载方式. 方式1 简单的实例 import unittest class LoadTest(unittest.TestCase): def test_case_01(self): self.assertEqual(1, 1) def test_case_02(self…
今天开始批量执行用例~,场景是这样的: 工作中我们可能有多个模块文件(.py)这些文件根据不同的业务类型或功能,测试案例分布在不同的模块文件下.前面的小示例中,我们的测试用例都是在一个文件中,直接运行的测试套件~,开发阶段或者调试阶段这样做是没毛病的,但是如果是测试运行阶段,我们不可能这个模块文件下的用例执行完毕后,切换另一个模块中的用例继续执行.所以我们需要用的批量执行多个模块文件的测试用例. 首先第一个用例模块的案例是这样的~ import unittest #导入unittest库 fro…
unittest简介 Unittest是python内置的一个单元测试框架,主要用于自动化测试用例的开发与执行 简单的使用如下 import unittest class TestStringMethods(unittest.TestCase): def setUp(self): print("test start") def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self):…
1. 带unittest的脚本分析 也许你现在心里还有疑问,unittest框架与我们前面所编写的Web自动化测试之间有什么必然联系吗?当然有,既然unittest可以组织.运行测试用例,那么为什么不能组织.运行Web自动化测试用例呢?我们现在就来开始通过一个实例来看看吧. # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.…
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件并生成测试报告. 简单实例 实例讲解 一. 项目路径获取 project_name:项目名称,需更换为自己项目的名称 project_path:项目路径,获取思路 os.path.abspath(__file__):获取当前文件路径 split(project_name)[0]:通过项目名切割出项目…
'''为什么要使用单元测试框架?: 1.当用例很多的时候用来组织用例和执行用例 2.提供丰富的比较方法 3.提供丰富的日志''' import unittest import HTMLTestRunner import os path = os.getcwd() class Test_baidu(unittest.TestCase): def setUp(self): print('每一个开始了-----------') def test_1(self): print('test_1') sel…
一.缘 起 笔者最近完成了基于Python3 + requests + unittest的接口测试脚本,故在此做一下记录,于己为复盘,于彼为学习和参考 二.思 路 接口测试无非三步: 首先,造数据 - Python3连接MySQL,插入测试数据 然后,发请求 - requests模块依次发请求 最后,校验返回值 - 基于unittest框架,assert主要的response值 三.说 明 脚本的工程名为zhtyInterfaceTest,整体结构如下图 .idea为PyChram编辑器自动生成…
功能 1.能组织多个用例去执行 2.提供丰富的断言方法 3.提供丰富的日志与测试结果 核心要素 1.TestCase 2.TestSuite 3.TextTestRunner 4.Fixture 用法 1.TestCase import unittest ''' 类,方法必须以test开头 ''' def add(a,b): return a+b class TestCase01(unittest.TestCase): def testcase_01(self): print("testcase…
学习接口自动化测试时接触了unittest单元测试框架,学习时参照了虫师编写的<selenium2自动化测试实战>,个人觉得里面讲的例子还比较容易理解的. 一.基础 1.main()和框架的简单使用,例: import unittest #导包 import calculator import Count class TestCount(unittest.TestCase): #继承unittest def setUp(self): print("test start")…
一.Unittest discover()可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰一般是通过addTest()来添加.删除用例,不同文件不同目录,此时用addTest()就比较麻烦 TestLoader类中提供的discover()方法可以识别测试用例,找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只有匹配到文件名时才加载discover(start_dir,pattern=…
之前的博客有介绍过python的单元测试框架unittest,基于其扩展的测试报告模块HTMLTestRunner,不过这个报告本身的界面看起来太丑... 趁着今天有时间,找了两个二次开发优化后的HTMLTestRunner文件,自己做了些许改动,也算看着顺眼一点.下面给大家分享一下... 各版本HTMLTestRunner模块测试报告界面展示对比 1.源生测试报告页面 HTMLTestRunner文件下载地址:http://tungwaiyip.info/software/HTMLTestRu…
选择某个测试框架运行脚本 File-> Settings -> Tools -> Python Integrated Tools -> Default test runner ,将Unittests改为py.test或者其他选项 取消框架运行代码 我们的代码包含test,系统会默认我们是一些单元测试代码如下图,或我们写的测试脚本以unittest执行后不会生成测试报告. 原因:PyCharm会默认使用自带的unittest框架来执行单元测试,不会执行main函数中的代码,所以不生成…