android 内测截图工具,app自动化测试之截图方法

本文介绍了在App自动化测试中三种不同的截图方法:Selenium的get_screenshot_as_file和save_screenshot,Airtest的snapshot以及使用adb命令截图。分别展示了它们的使用示例,并指出在AppUI自动化测试中,Selenium和Airtest更常用,而adb截图速度相对较慢。
摘要由CSDN通过智能技术生成

一,selenium模块的api方法

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 time

from appium import webdriver

def 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 driver

def 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库,并导入

# 安装airtest

pip 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截图,速度较慢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值