脚本宝典收集整理的这篇文章主要介绍了从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框架-在测试报告中加入截图所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。