从0到1完成appium+pytest+allure框架-在测试报告中加入截图

发布时间:2022-06-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了从0到1完成appium+pytest+allure框架-在测试报告中加入截图脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

最近今天忙着优化框架,所以更新迟了些,先来看看在测试报告中加入截图怎么做吧,稍后分享一下我最近优化的成果。

查了很多资料,看到最多的是通过hook函数去获取用例执行状态然后进行截图,那个应该是最方便的,但是呢,我比较笨看不太懂,所以就用了从别人那里学来的另一个方法。

封装一个断言失败添加截图的方法。

代码示例:

def get_screenshot(self, doc):    global logger    logger = DemoLog().get_log()    logger.info('开始截图')    now = datetime.datetime.now().strftime('%Y%m%d%H%M%S')    pic_name = now + '.png'    self.driver.get_screenshot_as_file(pic_name)    with open(pic_name, mode='rb') as f:        file = f.read()    allure.attach(file, doc, allure.attachment_type.PNG)    return pic_name# 通过断言进行截图def result_assert(self, res, expected, doc=''):    try:        assert res in expected    except AssertionError:        screen_name = self.get_screenshot(doc)        logger.info(f'截图成功,图片为{screen_name}')        raise解读一下上面的两个方法日志的之前讲过,我就直接略过了设置一个当前时间作为变量,然后用这个时间加入到图片名字里,这样可以避免图片名字的重复driver.get_screenshot_as_file()这个方法是截图用的,使用驱动器进行截图,并命名为pic_name然后读取截图的图片文件,allure.attach是将该截图文件添加进测试报告,doc参数在下面断言的方法中传入尝试进行断言,如果res在excepted中则通过,否则抛出断言错误,并且调用截图方法并加入测试报告上面的res是你想断言的结果,excepted是元素的属性,doc是断言后的提示语。

从0到1完成appium+pytest+allure框架-在测试报告中加入截图

在写断言的时候就可以直接调用,这样一旦断言失败就可以自动截图并添加到报告中了

从0到1完成appium+pytest+allure框架-在测试报告中加入截图

 

脚本宝典总结

以上是脚本宝典为你收集整理的从0到1完成appium+pytest+allure框架-在测试报告中加入截图全部内容,希望文章能够帮你解决从0到1完成appium+pytest+allure框架-在测试报告中加入截图所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: