app自动化测试之截图方法

app自动化测试之截图方法,第1张

概述一,selenium模块的两种方法get_screenshot_as_file(filename)参数filename为截图路径,如:driver.get_screenshot_as_file(r'E:est_project/screenshotest_01.png')save_screenshot(filename)保存当前屏幕截图到当前脚本所在的文件,如:driver.save_screenshot('test_02.p 一,selenium模块的两种方法get_screenshot_as_file(filename)
参数filename为截图路径,如:
driver.get_screenshot_as_file(r'E:/test_project/screenshot/test_01.png')
save_screenshot(filename)
保存当前屏幕截图到当前脚本所在的文件,如:
driver.save_screenshot('test_02.png')

上面两种方法使用举例,代码如下:

# -*- Coding:utf-8 -*-import timefrom appium import webdriverdef androID_driver():    desired_caps = {        "platformname": "AndroID",        "platformVersion": "10",        "devicename": "PCT_AL10",        "appPackage": "com.ss.androID.article.news",        "appActivity": ".activity.MainActivity",        "automationname": "uiautomator2",        "unicodeKeyboard": True,        "resetKeyboard": True,    }    # 启动app    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)    return driverdef login_opera(driver):    '''登录今日头条 *** 作'''    driver.find_element_by_ID("com.ss.androID.article.news:ID/ciy").click() # 点击【我知道了】    time.sleep(1)    driver.find_element_by_ID("androID:ID/button1").click() # 点击权限管理-确定按钮    time.sleep(1)    driver.find_element_by_xpath("//androID.Widget.TabWidget/androID.Widget.relativeLayout[@index=3]").click() # 点击未登录    time.sleep(1)    driver.find_element_by_ID("com.ss.androID.article.news:ID/a1c").click() # 未登录页点击登录按钮    time.sleep(1)    driver.find_element_by_ID("com.ss.androID.article.news:ID/bfm").click() # 登录页点击“。。。”    time.sleep(1)    driver.find_element_by_xpath("//androID.Widget.linearLayout[@index=4]").click() # 选择密码登录    time.sleep(1)    driver.find_element_by_ID("com.ss.androID.article.news:ID/c7").send_keys("18768124236")   # 输入账号    time.sleep(1)    driver.find_element_by_ID("com.ss.androID.article.news:ID/ch").send_keys("liufeiyu123456")   # 输入密码    time.sleep(1)    driver.find_element_by_ID("com.ss.androID.article.news:ID/a31").click() # 点击登录    time.sleep(1)    # 登录后页面截图并保存    driver.get_screenshot_as_file(r'E:\blog\blog_script\images\test_01.png')    driver.save_screenshot('test_02.png')if __name__ == '__main__':    driver = androID_driver()    login_opera(driver)
二,snapshot(filename)

这是Airtest框架里面提供的API,使用前需要安装airtest库,并导入

# 安装airtestpip install -U airtest# 导入并使用from airtest.core.API import *snapshot('screenshot_01.png')
三,使用adb截图首先,进行截图,命令如下
adb shell screencap -p +手机上图片保存路径,如:adb shell screencap -p /sdcard/image.png

然后,将截图pull到电脑上,命令如下:
adb pull +手机图片路径 +保存到电脑的路径,如:
adb pull /sdcard/image.png C:\Users\xiaoqq\Desktop\test_project


此时我们在电脑相应的目录里就能找到该图片。
用appium做appUI自动化测试就使用一中的方法,使用Airtest或Poco做appUI自动化的测试就使用第二种方法。不推荐使用adb截图,速度较慢! 总结

以上是内存溢出为你收集整理的app自动化测试之截图方法全部内容,希望文章能够帮你解决app自动化测试之截图方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1060140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存