前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Appium系列(三十二)增加测试报告

Appium系列(三十二)增加测试报告

作者头像
雷子
发布2021-05-27 15:12:59
5600
发布2021-05-27 15:12:59
举报
前言

在之前的测试中呢,我们把测试用例执行完毕后,但是没有对测试用例执行结果进行收集展示,而是直接在执行后打印看的,我们想要收集起来,做个展示,如何收集这些测试结果并且展示呢,本文带你解密。

正文

如何结合unittest产生漂亮的测试报告呢,在之前的分享中,我们有分享过。unittest系统(七)产生漂亮的测试报告。但是仔细看看里面的代码,仿佛这里面的是我们去增加错误重试之前的还能适配,增加重试后,就不能直接用了,那么我们应该怎么做呢,其实就是把我们做的重试那些,改进到我们的测试报告产生的脚本中。我们用BSTestRunner为例改造吧。下载地址

代码语言:javascript
复制
https://github.com/easonhan007/HTMLTestRunner

那么我们看下源码。

我们可以看到,这里的_TestResult就是继承了TestResult进行了一些修改,那么我们是不是可以认为,我们这里的改造直接集成我们之前写的MyResult即可呢,我们尝试下,我们直接改成

代码语言:javascript
复制
class _TestResult(MyResult):
    # note: _TestResult is a pure representation of results.
    # It lacks the output and reporting ability compares to unittest._TextTestResult.

    def __init__(self, verbosity=1, trynum=2):
        TestResult.__init__(self)
        super().__init__(verbosity, trynum)

然后不做任何的处理,我们试下,看能否直接实现我们的需求。我们改造下run.py,改造的方法如下

代码语言:javascript
复制
def runnerCaseApp(devices):
    report = "test.html"
    openone = open(report, 'w+')
    '''利用unittest的testsuite来组织测试用例'''
    besautiful = BSTestRunner(title="报告",
                              description="测试报告",stream=openone)
    test_suit = unittest.TestSuite()
    test_suit.addTest(Parmer.parametrize(testcase_klass=testCase, parame=devices))  # 扩展的其他的测试用例均这样添加
    besautiful.run(test_suit)

改造完毕我们执行下。

那么我们执行下,看下最后的测试结果

这样我们就是完成了。我们提交到远程仓库代码。

代码语言:javascript
复制
https://gitee.com/liwanlei/appiumdemo

后记

欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识

如果你有问题可以留言或者加我微信。2021,一起牛转钱坤,一起牛逼。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档