python3 unittest数据驱动
我们在自动化测试的时候,有没有遇到这样的问题?例如一个登录的接口要做自动化,会有很多case(用例),密码错误,密码正确这种。在继承unittest.TestCase的类中,凡是以“test”开头的方法都会被看作成一个case。那么基于这个机制,一个登录的接口,我们是不是要写很多以“test”开头的方法,testlogin1(),testlogin2(),testlogin3().很显然这种写完是不行的,代码不能复用,代码量大,且逻辑代码和数据没能区分出来不利于管理。那么我们需要用到数据驱动这个方法来加入到我们的自动化中。
1.首先的安装“request”、“ddt”、“xlrd”、“unittest”模块。这几个模块我前面的博客有介绍的,可以看一下。
2.然后我们分别用@ddt.ddt、@ddt.data、@ddt.unpack装饰我们得到类、数据、方法。
3.@ddt.data()的数据就可以参数化了,可以从表格里面取。
import unittest
import ddt
from Login import Login
import HTMLTestRunner @ddt.ddt
class PraddtTest(unittest.TestCase): def setUp(self):
print("my test start!") def tearDown(self):
print("my test complete!") @ddt.data(["admin", "1qaz", "OK"],
["admin", "", "ERROR"],
["", "1qaz", "ERROR"],
["admin", "1234", "ERROR"],
["Admin", "1qaz", "ERROR"])
@ddt.unpack
def test_ddt(self, user, passwd, expect_value):
Login1=Login()
result = Login1.login(user, passwd)
print(result)
self.assertEqual(result, expect_value, msg=result) if __name__=="__main__":
with open('F:\\temp.html', 'wb') as fp:
stiue = unittest.TestLoader().loadTestsFromTestCase(PraddtTest)
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title="1", description="2")
runner.run(stiue)
python3 unittest数据驱动的更多相关文章
- python3+unittest+HTMLTestRunner
参考博客1 参考博客2 python3版HTMLTestRunner.py见博客园‘链接’(已经上传到博客园) import unittest class operatinon_unittest(un ...
- unittest数据驱动
所谓的数据驱动就是将数据单独存放,在写方法将数据读取,然后将读取的数据放在testcase里面. 当然如果这种testcase都是一样的,只有需要的数据不一样,也可以将testcase写成一个方法,把 ...
- python3 unittest框架失败重跑加截图支持python2,python3
github源码地址下载:https://github.com/GoverSky/HTMLTestRunner_cn.git 解压文件后取出/HTMLTestRunner_cn.py文件丢进C:\Py ...
- 18年selenium3+python3+unittest自动化测试教程(下)
第六章 自动化测试进阶实战篇幅 1.自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2.自动化测试之页面常见弹窗处理 简介:讲解使用seleniu ...
- 【转】Python unittest数据驱动工具:DDT
背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写 ...
- python3+unittest参考
Python3+Selenium+unittest自动化UI测试框架:https://www.cnblogs.com/G2Bent/p/8376001.html unittest --- 单元测试框架 ...
- [小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动
关于<玩转 xUnit.Net>系列文章,我想跟大家分享的不是简单的运行一下测试用例或是介绍一下标签怎么使用(这样的文章网上很多).上一篇<Lesson 01 玩转 xUnit.Ne ...
- Python3+unittest使用教程
一.直接使用TestCase 注意所有测试方法都需要以test开头.代码如下: import unittest class Test1(unittest.TestCase): @classmethod ...
- 18年selenium3+python3+unittest自动化测试教程(上)
第一章 自动化测试课程介绍和课程大纲 1.自动化测试课程介绍 简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平 python3.7+selenium3 pycharm 第二章自动化 ...
随机推荐
- ActionBarActivity的使用注意事项
1.调用getActionbar()方法返回为空的解决方法 此activity是设计来支持低版本系统用actionbar的,低版本没有getActionbar() 需要使用 getSupportAct ...
- 【总结整理】高德LBS开放平台学习
高德LBS开放平台地址 http://lbs.amap.com/api/javascript-api/guide/create-map/mapstye 概述->示例中心Demo体验-> ...
- Spring 框架学习 有用
1.1.1 spring的优势 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合.用户也不必再为单例模式类.属性文件 ...
- ROS Learning-021 learning_tf-05(编程) now() 和 Time(0) 的区别 (Python版)
ROS Indigo learning_tf-05 now() 和 Time(0)的区别 (Python版) - waitForTransform() 函数 我使用的虚拟机软件:VMware Work ...
- HDOJ 1164 Eddy's research
上一篇已经讲了,但是转载别人的很乱,这里自己根据blog里面写的思路,重新写过了一个程序 #include <iostream> #include <malloc.h> #in ...
- JavaPersistenceWithHibernate第二版笔记-第七章-002Mapping an identifier bag(@CollectionId、@ElementCollection、@CollectionTable、@Type)
一.结构 A bag is an unordered collection that allows duplicate elements, like the java.util.Collection ...
- WOJ 41 约数统计
只会写60分算法QuQ 考虑到一个数$x$大于$\sqrt{x}$的质因数最多只有一个,我们可以筛出小于$\sqrt{r}$范围内的所有质因数然后直接用这些取分解质因数. 最后扫一遍发现还没有分解完的 ...
- Python程序设计8——网络编程
Python是一个很强大的网络编程工具,python内有很多针对场景网络协议的库,在库顶部可以获得抽象层,这样就可以集中精力在程序的逻辑处理上,而不是停留在网络实现的细节中. 1 少数几个网络设计模块 ...
- Python程序设计3——字典
1 字典 字典是Python唯一内建的映射类型.字典是键值对的集合. 1.1 字典的使用 某些情况下字典更加好用,比如一个电话列表.注意:电话号码只能用字符串数字表示,否则会出问题.因为电话号码一旦以 ...
- WordCount 编码与测试
word count github 项目地址:https://github.com/liuqiang666/wordCount PSP表格 PSP2.1 PSP阶段 预估耗时(小时) 实际耗时( ...