# 1.使用requests去完成请求接口的任务,并将json结果返回
def yun_login(username, password):
url1 = "http://yun.zenm.vip/iot/account/login/"
data = {
‘username‘: username,
‘password‘: password
}
data1 = json.dumps(data)
header = {
‘Content-Type‘: ‘application/json‘
}
res = requests.post(url=url1, headers=header, data=data1)
json_data = res.json()
print(json_data)
return json_data
# # 2.为当前接口任务写测试用例
class YunLoginTest(unittest.TestCase):
# 正确登录
@parameterized.parameterized.expand([(‘123‘, ‘123‘, 200), (‘123‘, ‘123456‘, 4), (‘1234‘, ‘123‘, 5)])
def test_001(self, username, password, code):
# 准备请求数据和断言数据
# 获取requests请求以后的json数据
json_data = yun_login(username, password)
self.assertEqual(int(json_data[‘result‘]), code)
# 3.加载case到套件里
suite = unittest.TestSuite() # 生成一个套件
# 一次向套件里添加一个类的测试用例
suite.addTest(unittest.makeSuite(YunLoginTest))
#执行套件并生成测试报告
f = open(‘yun_login_test.html‘, ‘wb‘)
runner = HTMLTestRunner(stream=f, title=‘yun系统登录接口报告‘, description=‘Microsoft Edge‘)
# 执行并生成报告
runner.run(suite)
#关闭文件
f.close()
requests、unittest自动化测试