• selenium提供的截图功能


    get_screenshot_as_file()提供一个截屏功能。
    在自动化执行过程中,执行失败后只能看到代码的运行错误,而不能直接看到ui上的错误,利用截屏保存下来很容易的进行问题的判断

    先来执行一个通过的用例:
     1 from selenium import webdriver
     2 import time
     3 import os
     4 
     5 def test_search_baidu():
     6     driver = webdriver.Chrome()
     7     driver.implicitly_wait(5) # 隐性等待5秒
     8     driver.get('http://www.baidu.com')
     9 
    10     word = '韩国 v 发觉你狗日价格每公斤'
    11     driver.find_element_by_id('kw').send_keys(word) # 搜索框中输入word
    12     driver.find_element_by_id('su').click() # 点击搜索
    13     time.sleep(1)
    14 
    15     # 判断,如果word在请求的页面中则通过,不在则截屏
    16     img_path = os.getcwd() # 保存截图的路径
    17     if word in driver.page_source:
    18         print('testcase is pass!')
    19     else:
    20         driver.get_screenshot_as_file(img_path+"fail_img.png")
    21 
    22     # 关闭浏览器
    23     driver.quit()
    24 
    25 
    26 # 运行程序
    27 if __name__ == '__main__':
    28     test_search_baidu()
    29 # 结果:testcase is pass!

    改下代码,让用例执行成功后截图,失败后打印测试失败:

     1 from selenium import webdriver
     2 import time
     3 import os
     4 
     5 def test_search_baidu():
     6     driver = webdriver.Chrome()
     7     driver.implicitly_wait(5) # 隐性等待5秒
     8     driver.get('http://www.baidu.com')
     9 
    10     word = '韩国 v 发觉你狗日价格每公斤'
    11     driver.find_element_by_id('kw').send_keys(word) # 搜索框中输入word
    12     driver.find_element_by_id('su').click() # 点击搜索
    13     time.sleep(1)
    14 
    15     # 判断,如果word在请求的页面中通过则截图
    16     img_path = os.getcwd() # 保存截图的路径
    17     print(img_path)
    18     if word in driver.page_source:
    19         driver.get_screenshot_as_file(img_path + "sucess_img.png")
    20     else:
    21         print('testcase is fail!')
    22 
    23     # 关闭浏览器
    24     driver.quit()
    25 
    26 
    27 # 运行程序
    28 if __name__ == '__main__':
    29     test_search_baidu()

    截图如下:

  • 相关阅读:
    this
    git使用整个过程整理
    javaScript事件知识点
    charles-web端开发者实用功能点
    react native 添加第三方插件react-native-orientation(横竖屏设置功能 android)
    react native 运行项目下载gradle慢的解决办法
    移动端 滑动组件 slip
    高逼格 分页列表 bootstrap-table
    reactjs 接入数据模型以及markdown语法的支持
    react-native 环境搭建以及项目创建打包
  • 原文地址:https://www.cnblogs.com/tynam/p/8746656.html
Copyright © 2020-2023  润新知