Appium截图

应用背景

在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏。从而达到一种“有图有真相”的效果。

截图方法

方法1

save_screenshot()
该方法直接保存当前屏幕截图到当前脚本所在文件位置。

1
driver.save_screenshot('login.png')

方法2

get_screenshot_as_file(self, filename)

将截图保留到指定文件路径

1
driver.get_screenshot_as_file('./images/login.png')

实践案例

测试场景

在考研帮App登录页面输入用户名和密码之后截图,分别保存到当前文件和指定的文件路径。

代码实现

screenshot.py

1
2
3
4
5
6
7
8
9
10
11
from find_element.capability import driver

driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').clear()
driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').send_keys('55555')

driver.find_element_by_id('com.tal.kaoyan:id/login_password_edittext').send_keys('zxw2018')

driver.save_screenshot('login.png')
driver.get_screenshot_as_file('./images/login.png')

driver.find_element_by_id('com.tal.kaoyan:id/login_login_btn').click()

视频操作

屏幕截图