一、写入到csv中,生成测试报告
二、生成html格式的测试报告文件
下载HTMLTestRunner,拷贝到项目文件下
导入HTMLReport包,form HTMLTestRunner import HTMLTestRunner
生成测试报告脚本
S1:做好测试执行前的准备工作,执行要执行的测试用例
S2:以wb(二进制写文件)模式打开测试报告文件
S3:使用HTMLTestRunner方法创建HTML文件
S4: 执行测试,关闭文件
问题:查找文件的语句为什么在main下要重复写?因为查找语句这已经在main里面了,不在类里面了
# v3.0创建html格式的测试报告文件
# 接口说明:
# 接口访问地址:http://localhost:8080/jwshoplogin/user/update_information.do
# 接口传入参数:1、email 2、phone 3、answer 4、question
# 接口预期返回结果:1、email已存在,请更换email再尝试更新 2、更新个人信息成功 3、更新个人信息失败
# 脚本实现
# 导入类库
import unittest
import requests
import csv
import os
from HTMLTestRunner import HTMLTestRunner
# 定义测试类,继承unittest框架
class test_updateuser_v3(unittest.TestCase):
# 通过setup方法实现登录接口的调试
def setUp(self):
# 从csv测试数据文件中读取url和登录测试数据
path=os.getcwd()
print(path)
# p1=os.path.abspath(os.path.dirname(path)+os.path.sep+".")
# print(p1)
p2=os.path.abspath(os.path.dirname(path) + os.path.sep + "..")
# print(p2)
self.fpath=p2+"\\testdatafile\ind_interface\\test_updateuser.csv"
# print(self.fpath)
userinfo={}
file1=open(self.fpath,"r")
table=csv.reader(file1)
for row in table:
url=row[0]
userinfo[row[3]]=row[4]
userinfo[row[5]] = row[6]
print(userinfo)
break
response=requests.post(url,data=userinfo)
self.sessionID=dict(response.cookies)['JSESSIONID']
print(self.sessionID)
def test_case1(self):
# 打开对应的文件
file1=open(self.fpath,"r")
# 如何从指定行开始进行读取
table=csv.reader(file1)
userinfo={}
num=0
for row in table:
num=num+1
if num>1:
url=row[0]
# print(url)
expresult=row[1]
# print(expresult)
# print(row[2])
j=int(row[2])
for i in range(3,j*2+3,2):
userinfo[row[i]]=row[i+1]
print(userinfo)
session = {"JSESSIONID": self.sessionID}
response=requests.post(url,data=userinfo,cookies=session).text
print(response)
userinfo={}
self.assertIn("更新个人信息成功",response)
if __name__ == '__main__':
path = os.getcwd()
p2 = os.path.abspath(os.path.dirname(path) + os.path.sep + "..")
# 加载测试套
suite = unittest.TestSuite()
suite.addTest(test_updateuser_v3("test_case1"))
# # 定义测试报告文件
filename = p2 + "\\testresult\ind_interface\\test_updatauser_report.html"
# filename="d:\\lalala\\test_updatauser_report.html"
# 以wb的方式打开文件
file=open(filename,"wb")
# 调用html测试报告的报告生成测试报告
runner=HTMLTestRunner(stream=file,title="更新用户接口测试",description="接口测试报告")
runner.run(suite)
file.close()