#coding=utf-8
#UnitTest demo
import unittest
import requests,json
from HTMLTestRunner import HTMLTestRunner
from datetime import *
class LoginTest(unittest.TestCase):#定义一个类,继承了unittest.testcase的基类
def setUp(self):#测试固件 setUp用于存放一些公共初始化的部分
self.url="http://127.0.0.1:8888/login?"
def testlogin1(self):#每一个测试用例是一个单元 命名test开头
"""账号密码正确"""
form={
"name":"lide","pwd":"111"}#参数 账户密码正确
r=requests.get(self.url,data=form)#调用接口
print(r.status_code)
msg=json.loads(r.text)#将返回文本转为字典
#断言
self.assertEqual(msg['message'],'登录成功!')
def testlogin2(self):
form={
"name":"lide","pwd":"111222"}#参数 密码错误
r=requests.get(self.url,data=form)
msg = json.loads(r.text) # 将返回文本转为字典
# 断言
self.assertEqual(msg['message'], '账号或者密码错误!')
def testlogin3(self):
form = {
"name": "lide1", "pwd": "111"} # 参数 账号错误
r = requests.get(self.url, data=form)
msg = json.loads(r.text) # 将返回文本转为字典
# 断言
self.assertEqual(msg['message'], '账号或者密码错误!')
def testlogin4(self):
form = {
"name": "", "pwd": "111"} # 参数 账号为空
r = requests.get(self.url, data=form)
msg = json.loads(r.text) # 将返回文本转为字典
# 断言
self.assertEqual(msg['message'], '账号或者密码不能为空!')
def testlogin5(self):
form = {
"name": "lide", "pwd": ""} # 参数 密码为空
r = requests.get(self.url, data=form)
msg = json.loads(r.text) # 将返回文本转为字典
# 断言
self.assertEqual(msg['message'], '账号或者密码不能为空!')
def testlogin6(self):
form = {
"name": "", "pwd": ""} # 参数 账号密码为空
r = requests.get(self.url, data=form)
msg = json.loads(r.text) # 将返回文本转为字典
# 断言
self.assertEqual(msg['message'], '账号或者密码不能为空!')
def testlogin7(self):
form = {
"name": "lide1", "pwd": "11122"} # 参数 账号密码错误
r = requests.get(self.url, data=form)
msg = json.loads(r.text) # 将返回文本转为字典
# 断言
self.assertEqual(msg['message'], '账号或者密码错误!')
# def tearDown(self):
# pass
# class test2(unittest.TestCase):
# print("一个接口一个类")
def suite1():
"""
定义一个套件函数用来添加测试用例 按需求添加 想测哪个测哪个
:return: 测试套件
"""
loginTestSuite=unittest.TestSuite()#生成测试套件实例
#添加TestCase 缺点得一个一个添加 优点 想测哪个加哪个
loginTestSuite.addTest(LoginTest("testlogin1")) #类里的方法
loginTestSuite.addTest(LoginTest("testlogin2")) # 类里的方法
loginTestSuite.addTest(LoginTest("testlogin3"))
loginTestSuite.addTest(LoginTest("testlogin4"))
loginTestSuite.addTest(LoginTest("testlogin5"))
return loginTestSuite #返回测试套件实例
def suite2():
"""
一次性添加所有case
:return:
"""
logintestsuite=unittest.makeSuite(LoginTest,"test")#添加所有test 开头的用例
return logintestsuite
if __name__ == '__main__':
now=date.today()
with open(str(now)+"_report"+".html","wb") as f:
runner=HTMLTestRunner(stream=f,title="登录测试",description="登录自动化测试")
runner.run(suite1())
#f.close()
Python+requests+unittest+HTMLTestRunner+接口自动化测试简单版
猜你喜欢
转载自blog.csdn.net/weixin_42166361/article/details/104767391
今日推荐
周排行