unittest生成测试报告

一、写入到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()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值