unittest管理接口用例
1.加入unittest框架
#coding=utf-8
import requests
import unittest
class TestApi(unittest.TestCase):
def setUp(self):
self.apiurl = "http://www.xxxxx.com/customer/login.html"
self.header = {"Cookie": "mediav=%7B%22eid%22%3A%22470884%22%2C%22ep%22%3A%22%22%2C%22vid%22%3A%22%40-vC_Waqh_%3AU%234K75o%5B!%22%2C%22ctn%22%3A%22%22%7D"}
self.timeout = 1
def testlogin01(self):
body = {"loginName":17779828888,"loginPwd":"zy123456"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
":
pass
else:
raise ValueError
def testlogin02(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户或者密码错误":
pass
else:
raise ValueError
def testlogin03(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户或者密码错误":
pass
else:
raise ValueError
def testlogin04(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户名不能为空":
pass
else:
raise ValueError
def testlogin05(self):
body = {"loginName":17779828888,"loginPwd":""}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户密码不能为空":
pass
else:
raise ValueError
if __name__ == '__main__':
unttest.main()
2.生成测试报告
#coding=utf-8
import requests
import unittest
import HTMLTestRunner
class TestApi(unittest.TestCase):
def setUp(self):
self.apiurl = "http://www.xxxxx.com/customer/login.html"
self.header = {"Cookie": "mediav=%7B%22eid%22%3A%22470884%22%2C%22ep%22%3A%22%22%2C%22vid%22%3A%22%40-vC_Waqh_%3AU%234K75o%5B!%22%2C%22ctn%22%3A%22%22%7D"}
self.timeout = 1
def testlogin01(self):
body = {"loginName":17779828888,"loginPwd":"zy123456"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
":
pass
else:
raise ValueError
def testlogin02(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户或者密码错误":
pass
else:
raise ValueError
def testlogin03(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户或者密码错误":
pass
else:
raise ValueError
def testlogin04(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户名不能为空":
pass
else:
raise ValueError
def testlogin05(self):
body = {"loginName":17779828888,"loginPwd":""}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
if response.json()["errorMsg"] == u"用户密码不能为空":
pass
else:
raise ValueError
if __name__ == '__main__':
suit = unittest.TestSuite()
testcases = [TestApi("testlogin01"),TestApi("testlogin02"),TestApi("testlogin03"),
TestApi("testlogin04"),TestApi("testlogin05")]
suit.addTests(testcases)
dir = "D:\\testapi.html"
path = open(dir,"wb")
runner = HTMLTestRunner.HTMLTestRunner(stream=path,title="TestReport",description="TestDesc")
runner.run(suit)
path.close()
3.断言
- if ... else ... 如上代码
- try ... except ...
#coding=utf-8
import requests
import unittest
class TestApi(unittest.TestCase):
def setUp(self):
self.apiurl = "http://www.xxxx.com/customer/login.html"
self.header = {"Cookie": "mediav=%7B%22eid%22%3A%22470884%22%2C%22ep%22%3A%22%22%2C%22vid%22%3A%22%40-vC_Waqh_%3AU%234K75o%5B!%22%2C%22ctn%22%3A%22%22%7D"}
self.timeout = 1
def testlogin01(self):
body = {"loginName":17779828888,"loginPwd":"zy295240???"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
try:
result = response.json()["values"]["loginName"]
":
pass
else:
raise ValueError
except:
print ("testlogin01 error!")
else:
print ("testlogin01 ok!")
if __name__ == '__main__':
unittest.main()
- unttest 中 assert断言方式
#coding=utf-8
import requests
import unittestclass TestApi(unittest.TestCase):
def setUp(self):
self.apiurl = "http://www.xxxx.com/customer/login.html"
self.header = {"Cookie": "mediav=%7B%22eid%22%3A%22470884%22%2C%22ep%22%3A%22%22%2C%22vid%22%3A%22%40-vC_Waqh_%3AU%234K75o%5B!%22%2C%22ctn%22%3A%22%22%7D; "}
self.timeout = 1
def testlogin01(self):
body = {"loginName":17779828888,"loginPwd":"zy123456"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
phone = response.json()["values"]["loginName"]
self.assertEqual(phone,",msg="testlogin01 error!")
def testlogin02(self):
body = {"loginName":17779828881,"loginPwd":"zy123456"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
errorMsg = response.json()["errorMsg"]
self.assertNotEqual(errorMsg,u"成功",msg="testlogin02 error!")
def testlogin03(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
errorMsg = response.json()["errorMsg"]
self.assertIn(u"密码错误",errorMsg,msg="testlogin03 error!")
def testlogin04(self):
body = {"}
response = requests.post(url=self.apiurl,data=body,headers=self.header,timeout=self.timeout)
errorMsg = response.json()["errorMsg"]
self.assertNotIn(u"密码错误",errorMsg,msg="testlogin04 error!")
if __name__ == '__main__':
unittest.main()
unittest管理接口用例的更多相关文章
- unittest管理接口用例(数据分离-读取excel)
1.简单读取 #coding=utf-8 #调用封装好的excel读取公共方法 from python_API.common.ReadExcel import ReadExcel import req ...
- unittest 管理接口用例(数据分离-读取excel)
1.公共模块 ---> login.xls """ common (package) ---> ReadFile.py """ ...
- requests,unittest——多接口用例,以及需要先登录再发报的用例
之前写过最简单的接口测试用例,本次利用unittest进行用例管理,并出测试报告,前两个用例是两个不同网页的get用例,第三个是需要登录才能访问的网页A,并在其基础上访问一个需要在A页面点开链接才能访 ...
- python web自动化测试框架搭建(功能&接口)——接口用例实现
测试用例基类: # coding=utf-8 import unittest import Logger log = Logger.Loger() class BaseCase(unittest.Te ...
- python3+requests+unittest:接口自动化测试(一)
转载请表明出处:https://www.cnblogs.com/shapeL/p/9179484.html 简单介绍框架的实现逻辑,参考代码的git地址: https://github.com/zha ...
- python脚本实现接口自动化轻松搞定上千条接口用例
接口自动化目前是测试圈主流的一个话题,我也在网上搜索了很多关于自动化的关键词,大多数博主分享的python做接口自动化都是以开源的框架,比如:pytest.unittest+ddt(数据驱动) 最常见 ...
- python学习笔记(28)-unittest单元测试-执行用例
执行用例 #写一个测试类 import unittest import HTMLTestRunnerNew #写好的模块可以直接调用 #import HTMLTest #测试报告模板 from cla ...
- C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试
在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相 ...
- Lenovo System x3650 设置管理接口地址
1.开启服务器. 2.显示<F1> Setup提示后,按 F1.(此提示在屏幕上仅显示几秒钟.必须迅速按 F1.) 如果同时设置了开机密码和管理员密码,则必须输入管理员密码才能访问完整的 ...
随机推荐
- 两行命令查看自己笔记本连接的wifi密码
打开cmd.exe窗口 第一行命令 netsh wlan show profiles 可以查看所有曾经连接过的wifi 第二命令 netsh wlan show profiles "vivo ...
- Java 文件句柄泄露问题解决小记(转)
转:Java 文件句柄泄露问题解决小记 维护 WebIDE 免不了要管理很多的文件, 自从我们线上系统增加了资源回收功能,便一直受一个问题困扰:后台线程解绑目录时偶尔报错,看症状因为是某些文件被占用了 ...
- MUNIT:Multimodal Unsupervised Image-to-Image Translation - 1 - 论文学习,不成对数据
摘要:无监督图像转换是计算机视觉领域中一个重要而又具有挑战性的问题.给定源域中的一幅图像,目标是学习目标域中对应图像的条件分布,而不需要看到任何对应图像对的例子.虽然这种条件分布本质上是多模态的,但现 ...
- Eureka Server 集群配置
注册中心: debug: true spring: application: name: eureka-server logging: level: com.netflix.eureka: 'off' ...
- 【GMT43智能液晶模块】例程二十二:USB_CDC实验——高速数据传输
源代码下载链接: 链接:https://pan.baidu.com/s/10KOWONWbNYlonyuX0W0Mcg 提取码:ggpo 复制这段内容后打开百度网盘手机App,操作更方便哦 GMT43 ...
- ubuntu apt-get 安装jdk
参考地址:https://blog.csdn.net/ywueoei/article/details/80335799 . https://blog.csdn.net/inhumming/articl ...
- HDFS API 测试用例
增加依赖 <!--hadoop--> <dependency> <groupId>org.apache.hadoop</groupId> <art ...
- Qt编写控件属性设计器
一.前言 自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDe ...
- exe文件图标不见了,教你win10桌面EXE文件图标不见了如何解决
1.进入cmd 2.输入以下命令 taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local del iconcache.db /a ...
- qt model/view/delegate
Qt Model/View理解(一)---构造model https://blog.csdn.net/weixin_42303052/article/details/89233887 Qt Model ...