unittest

unittest---unittest简单介绍

半世苍凉 提交于 2019-12-05 02:51:17
  说起python的单元测试,第一反应肯定就会是unittest,unittest作为python的标准库,很优秀,也被广泛的用到各个项目,但是你们知道吗?python的单元测试并不只有这一个,还有个pytest。和nose,后面我们主要通过unittest+python完成我们的自动化框架 unittest介绍 unittest单元测试框架最早受到junit(junit是java的单元测试,)的启发,和其他语言的主流单元测试框架有很相似的地方,他支持测试自动化,多个用例共享前置和清理代码,聚合多个测试用例到测试集中,并将测试和报告框架独立 官方文档: https://docs.python.org/2/library/unittest.html unittest方法 1、 TestCase (测试用例):所有的测试用例的基类,一个test case 包括正常执行的用例,其中包括setup(用例的开始),tearDown(用例的结束),以及run(用例的执行器)。 2、 TestSuite (测试套件):多个测试用例的组合就是测试套件,TestSuite可以嵌套TestSuite。 3、 TestLoder :是用来加载 TestCase到TestSuite中,其中有几个loadTestsFrom_()方法,就是从各个地方寻找TestCase,创建他们的实例

unittest----skip(跳过用例)

佐手、 提交于 2019-12-05 02:42:21
我们在执行测试用例时,有时有些用例时不需要执行的,这时就需要用到unittest给我们提供的跳过用例的方法 @unittest.skip(reason): 强制跳过 ,不需要判断条件。reason是跳过原因的描述必须填写。 @unittest.skipIf(condition, reason):condition为 True 时 跳过 用例 @unittest.skipUnless(condition, reason):当condition为 False 时 跳过 用例 @unittest.expectedFailure:如果test失败了,这个test不计入失败的case数目 来源: https://www.cnblogs.com/humiao-0626/p/11898887.html

Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

五迷三道 提交于 2019-12-05 02:15:36
1.简介   今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。到今天为止,大功即将告成;框架所需要的代码实现都基本完成。 2.data数据封装 2.1使用背景 在实际项目过程中,我们的数据可能是存储在一个数据文件中,如 txt,excel、csv文件类型。我们可以封装一些方法来读取文件中的数据来实现数据驱动。 2.2案例 将测试账号存储在 account.csv文件,内容如下: account.csv hg2018 hg2018 hg2019 zxw2019 666 222 参考代码 2.3enumerate()简介 enumerate()是python的内置函数 enumerate在字典上是枚举、列举的意思 对于一个可迭代的( iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值 enumerate多用于在for循环中得到计数。 2.4enumerate()使用 如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写: 参考代码 list = ["这", "是", "一个", "测试","数据"] for i in range(len(list)): print(i,list[i]) 上述方法有些累赘,利用 enumerate()会更加直接和优美: 参考代码 list1 = ["这

selenium ddt调试单个用例时报 AttributeError: type object ... has no attribute

只愿长相守 提交于 2019-12-04 22:02:55
使用ddt做数据驱动,调试单个用例时,遇到报错:AttributeError: type object ..., 一脸懵逼,不用ddt运行时好好的,用到ddt报错 Error Traceback (most recent call last): File "C:\Python37\lib\unittest\case.py", line 59, in testPartExecutor yield File "C:\Python37\lib\unittest\case.py", line 615, in run testMethod() File "C:\Python37\lib\unittest\loader.py", line 34, in testFailure raise self._exception File "C:\Python37\lib\unittest\loader.py", line 169, in loadTestsFromName parent, obj = obj, getattr(obj, part) AttributeError: type object 'test_aaa' has no attribute 'test_j_xxx' 网上找了一圈,没有找到具体的解决办法。 目前想的是通过@unittest.skip(u"无条件跳过此用例")

unittest零碎知识

旧城冷巷雨未停 提交于 2019-12-04 21:24:34
给unittest传值: class TesCase(unittest.TestCase): # k1 = expect = msg = None # requests的返回结果和用例的预期值 def runTest(self): self.assertEqual(self.k1, self.k2, self.msg) # assertEqual判断self.k1是否等于self.k2,不等于抛出self.msg def _single_html_report(self, response_result): """ 生成单个用例报告 """ test_case = TesCase() # 实例化测试用例对象 # response_result ==>> ({'title': 'V2EZ'}, {'title': 'V2EX'}, '用例执行失败', {'status': 0}) test_case.k1, test_case.k2, test_case.msg, _ = response_result # 添加必要的属性。 _ = xx 下划线表示占位。test_case.k1=xx,给unittest传值方式。 来源: https://www.cnblogs.com/wanghuijie1/p/11884728.html

.NET Core前后端分离快速开发框架(Core.3.0+AntdVue)

喜欢而已 提交于 2019-12-04 19:49:11
.NET Core前后端分离快速开发框架(Core.3.0+AntdVue) 目录 引言 简介 环境搭建 开发环境要求 基础数据库构建 数据库设计规范 运行 使用教程 全局配置 快速开发 管理员登录 系统用户管理 系统角色管理 权限管理 接口秘钥管理 系统日志 单库事务 跨库事务 读写分离分库分表 常见疑问 如何进行联表查询 如何切换数据库类型 如何使用多个数据库 引言 时间真快,转眼今年又要过去了。回想今年,依次开源发布了 Colder.Fx.Net.AdminLTE(254Star) 、 Colder.Fx.Core.AdminLTE(335Star) 、 DotNettySocket(82Star) 、 IdHelper(47Star) ,这些框架及组件都是本着以实际出发,实事求是的态度,力求提高开发效率(我自己都是第一个使用者),目前来看反响不错。但是随着前端和后端技术的不断变革,尤其是前端,目前大环境已经是前后端完全分离为主的开发模式,在这样的大环境和必然趋势之下,传统的MVC就显得有些落伍了。在这样的背景下,一款前后端分离的.NET开发框架就显得尤为必要,由此便定了框架的升级目标: 前后端分离 。 首先后端技术的选择,从目前的数据来看,.NET Core的发展远远快于.NET Framework,最简单的分析就是Colder.Fx.Core

【转】接口自动化测试基本流程及测试思路

主宰稳场 提交于 2019-12-04 18:58:23
接口自动化大致步骤: 1、发送请求 2、解析结果 3、验证结果 定义三个和业务相关的类 1、一个用来封装HTTPclient,用来发送请求 2、解析结果xml的类 3、一个用于比较测试结果和期望值的类,用于验证 4、自动生成报告的类:自动发送报告之类的 (locust的python工具) 服务级:Web server(服务) Database(持久化工具-数据库)、Cache(短时间持久化工具-缓存) 接口测试: 1、构造数据 (1)通过接口构造 比如获取一个blog的文章信息,怎么构造数据呢?(文章哪里来??)—返回blog信息 通过添加文章的接口,临时构造数据(blog文章),然后断言的时候看看是不是自己造的数据——会造成接口耦合(两个程序模块有关联就叫做耦合。)—和造文章的接口耦合(如果创建文章的接口挂了,那返回blog信息的接口也就挂了) 公交卡充值依赖支付宝的支付接口服务,调用支付接口会有代价,所以模拟一个支付接口,所有通过mockserver(测试桩)去模拟支付接口的服务----不管输入是什么,返回一直成功或是固定的 如何进行mock?? mockserver介绍: https://www.cnblogs.com/fnng/p/7511539.html 使用: https://blog.csdn.net/qq_35049819/article/details

selenium,测试套件的使用

我的未来我决定 提交于 2019-12-04 18:39:20
学习 selenium-webdriver 已经一段时间了,最近学习到,测试用例的批量执行,和测试套件的使用,有点自己的理解,不晓得对不对,希望大家指正! 写一个测试用例 baidu.py class Baidu(unittest.TestCase):   def setUp(self):     self.driver=webdriver.Firefox()     self. base_url='http:www.baidu.com'   def test_search(self):     driver=self.driver     driver.get(self.base_url+'/')     driver.find_element_by_id('kw').send_keys('cnblogs')     driver.find_element_by_id('su').click()   def test_login(self):     driver=self.driver     driver.get(self.base_url+'/')     dr.find_element_by_name('userName').clear()     dr.find_element_by_name('userName').send_keys('user')     dr

接口自动化测试理论

雨燕双飞 提交于 2019-12-04 18:26:42
什么是基于http的接口测试 接口测试的定义:是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等 基于HTTP协议的接口测试 用例设计可以遵循3A原则 接口测试必须有断言,不然毫无意义 https://blog.csdn.net/weixin_42273775/article/details/81868184 https://www.cnblogs.com/zoraliu66/p/6743126.html http://www.testclass.net/interface/start/ 什么是3A原则 3A原则是单元测试用例编写时应该遵循的基本原则,在设计接口测试用例时,依然适用 A: arrange 初始化测试数据,就是造数据,这里的数据有我们输入的数据,也有目标接口所涉及的资源,比如hr系统中的用户信息,我们必须先有几条人员的详细信息才能去测获取人员信息的接口(当然只是正常的流程,我们有时候还需要清掉数据以便测试资源为空的情况 A: act 调用接口,传入输入数据 A: assert 断言, 对返回的资源信息进行断言,比如获取用户信息的接口返回了用户信息之后,我们要判断返回的用户是不是我们想要的那个用户,我们获取的是李雷的信息,接口如果返回韩梅梅

lesson9_单元测试

扶醉桌前 提交于 2019-12-04 14:02:39
test case test suite test runner test fixture 测试用例 测试套件 测试执行 测试前的准备和测试后的清理工作(为编写用例里的setup , setdown) TestLoader 将 TestCase 放在 TestSuite里 , 然后执行 TextTestRunner , 存储结果 TestResult 一 . unittest的初级使用: 1. 导入 unittest 模块,被测文件或其中的类 2. 创建一个测试类,并继承 unittest.TestCase 3. 重写 setUp 和 tearDown 方法(如果有初始化条件和结束条件) 4. 定义测试函数,函数以 test_ 开头. 测试用例 5. 在函数体中使用断言来判断测试结果是否符合预期结果 6. 调用 unittest.main() 方法运行测试用例 来源: https://www.cnblogs.com/zhangniannian/p/11869472.html