UI自动化Selenium BeautifulReport报告嵌入截图

兄嘚们有没有这个烦恼,脚本失败了,抛出了错误信息,但是不明不白?

脚本感觉没问题,为啥就是失败报错呢?人肉再去登录系统访问页面,逐个排查,发现人工操作没问题?纠结,反复重试?浪费时间;

要是能在报告中看到真实的现场多好啊!!!来了,上菜,下面介绍怎么在运行中进行截图并迁入BeautifulReport报告中,这样才Beautiful嘛;

1、首先需要定义一个截图的方法

2、然后在业务脚本中调用此方法

3、注意:截图存放路径和图片名称传递,否则看不到图片还报错;

开干!

定义截图方法

def save_img(self, img_name):
    current_path = os.getcwd()  # 获取当前路径
    cash_path = os.path.join(current_path, "img")  # 设置用例路径
    print("cash_path:"+cash_path)
    if not os.path.exists(cash_path):
        os.makedirs(cash_path)
    result_path = os.path.join(cash_path)
    self.driver.get_screenshot_as_file('{}/{}.png'.format(os.path.abspath(result_path), img_name))

调用截图方法

这里原作者有个设计不太好的点,add_test_img方法传入的图片名称,如果在业务脚本中没有执行截图,就会报错;

其实真实的使用场景应该是,不需要传入图片名称的,应该自动生成图片名称并迁入报告中【此方案后续会研究】

今天的方案是:

1、add_test_img方法传入图片名称;

2、业务脚本中有if判断,有些地方截图根据业务类型不会执行,有的会执行;

3、那么就会出现找不到图片的报错,我们需要修改BeautifulReport.py文件的源码;

第一步:传入图片名称

@ddt
class Suite_Test_ERP(unittest.TestCase):
    @data(*ExcelRead(dataPath, 'ERP和数见'))
    @BeautifulReport.add_test_img('售楼系统','成本系统','采招系统','费用系统','业财中心','固投系统','计划系统','督办任务管理','增值税发票','系统管理')
    def test_ERP(self, data):
        self.dr = newDriver(url)
        driver = self.dr
        driver.maxWindow()
        # driver = webdriver.Chrome()
        # driver.get(url)
        # windowMax(driver)
        driver.save_img('售楼系统')

第二步:业务判断,有的截图执行,有的不执行

if sys == "销售系统":
    driver.save_img('售楼系统')
if sys == "成本系统":
    driver.save_img('成本系统')
......

因为实际业务中sys可能会传入以上的任意一个或者全部传入;那么必定有一个不会执行,那么BeautifulReport.py 会报错,找不到图片

第三步:修改BeautifulReport.py ,让它找不到图片时,不报错

1、判断图片如果存在就执行原来逻辑,不存在就print一下,不执行原来的逻辑

2、因为上面没有图片时,不返回data对象,所以下面需要判断如果有返回图片地址就print到报告中,没有就不print,这样就不会报错了;

最终效果

后续会研究不需要传入图片名称,遇到报错,就自动截图并print到报告中;敬请期待!!!

相关推荐

  1. 安卓自动化之minicap

    2024-01-19 07:04:02       8 阅读
  2. Selenium 自动化截取网页指定区域

    2024-01-19 07:04:02       29 阅读
  3. ffmpeg(关键帧

    2024-01-19 07:04:02       14 阅读
  4. 基于和模拟点击的自动化压测工具开发(MFC)

    2024-01-19 07:04:02       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-19 07:04:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-19 07:04:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-19 07:04:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-19 07:04:02       20 阅读

热门阅读

  1. C++写csv文件

    2024-01-19 07:04:02       33 阅读
  2. Unity文字游戏开发日志(1)—— 打字机效果

    2024-01-19 07:04:02       35 阅读
  3. Mysql核心知识命令汇总

    2024-01-19 07:04:02       35 阅读
  4. bevy the book 20140118翻译(全)

    2024-01-19 07:04:02       30 阅读
  5. 【中断之GPT问答】

    2024-01-19 07:04:02       28 阅读
  6. Oracle中的索引

    2024-01-19 07:04:02       30 阅读
  7. Django笔记(四):视图views

    2024-01-19 07:04:02       34 阅读
  8. Linux 使用PS命令掌握进程管理

    2024-01-19 07:04:02       37 阅读
  9. jmeter的使用教程

    2024-01-19 07:04:02       32 阅读
  10. Spring 核心之 IOC 容器学习二

    2024-01-19 07:04:02       25 阅读