importrequestsimportunittestimportHTMLTestRunnerimportjsonfrom API_test.common.ReadFile importReadExcelfrom API_test.common importvarfrom API_test.common.WriteFile importWriteExcelclassTestLogin(unittest.TestCase):defsetUp(self):
self.url= ReadExcel("D:\work_doc\CodeFile\API_test\common\login.xls", 0).getValue(1, var.url)
self.headers= json.loads(ReadExcel("D:\work_doc\CodeFile\API_test\common\login.xls", 0).getValue(1, var.header))deftest01(self):"""正向用例"""payload= json.loads(ReadExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0).getValue(1,var.body))
response= requests.request("POST", self.url, headers=self.headers, json =payload)#调用 WriteExcel 公共方法,将返回的报文实际结果写入到 excel 中
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0,1,var.test_response,response.text)#断言
try:
self.assertEqual(response.json()["msg"],"成功",msg="test01 error")except:#调用 WriteExcel 公共方法,将结论写入到 excel 中
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0,1,var.result,var.fail)#再次断言生成测试报告,避免 try 异常处理将异常用例 pass 掉
self.assertEqual(response.json()["msg"], "成功", msg="test01 error")else:
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0,1,var.result,var.ok)deftest02(self):"""账号错误"""payload= json.loads(ReadExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0).getValue(2,var.body))
response= requests.request("POST", self.url, headers=self.headers, json =payload)
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0,2,var.test_response,response.text)try:
self.assertEqual(response.json()["msg"],"用户不存在",msg="test02 error")except:
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls", 0, 2, var.result, var.fail)
self.assertEqual(response.json()["msg"],"用户不存在",msg="test02 error")else:
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0,2,var.result,var.ok)deftest03(self):"""密码错误"""payload= json.loads(ReadExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0).getValue(3,var.body))
response= requests.request("POST", self.url, headers=self.headers, json =payload)
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0,3,var.test_response, response.text)try:
self.assertEqual(response.json()["msg"],"解密密码错误",msg="test03 error")except:
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls", 0, 3, var.result, var.fail)
self.assertEqual(response.json()["msg"],"解密密码错误",msg="test03 error")else:
WriteExcel("D:\work_doc\CodeFile\API_test\common\login.xls",0,3,var.result,var.ok)if __name__ == '__main__':
suite=unittest.TestSuite()
testcase= [TestLogin("test01"),TestLogin("test02"),TestLogin("test03")]
suite.addTests(testcase)
reportfile= open("D:\work_doc\CodeFile\API_test\\report\\testreport.html", "wb")
runner= HTMLTestRunner.HTMLTestRunner(stream=reportfile,title="TestReport",description="测试结果")
runner.run(suite)
reportfile.close()