Appium入门:借助Appium Desktop工具辅助元素定位,录制测试用例
最近在学习Appium,把学习笔记分享给同样需要的小伙伴。
Appium 生态工具介绍
① adb:通用调试工具
② Appium Desktop:内嵌了Appium Server和Inspector的综合工具
③ Appium Server:Appium 的核心工具,命令行工具
④ Appium Cllients:各种语言的客户端封存库,用于连接Appium Server
⑤ AppCrawler:自动遍历工具
借助Appium Desktop工具辅助元素定位
操作步骤:
① 电脑连接手机,确认要测试的app
② 打开命令行窗口,通过adb devices确认是否连接手机
③ 连接手机后,进入adb shell环境,通过logcat | grep Displayed 命令获取日志,同时打开手机操作需要测试的app,查看日志,包名,及启动位置
④ 打开appium desktop工具,配置desktop参数,开始会话
⑤ 启动后会有一个命令行窗口,点击放大镜图标,进入如下页面
录制测试用例,并执行
如上图,点击录制按钮后,会根据用户的操作,生成对应的录制脚本,可以根据用户需求,选择合适的语言。如下是使用python语言录制的脚本:
python录制脚本(相关代码有进行备注):
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
# 导入一个驱动依赖
from appium import webdriver
# 配置一个capability,里面是一些必要的配置项
# 定义一个caps的字典,把配置项数据全部存入字典中
caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "xxx"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["autoGrantPermissions"] = "true"
# 生成一个driver对象
driver = webdriver.Remote("http://localhost:xxxx/xx/hub", caps)
# 定义一个driver的隐式等待
driver.implicitly_wait(10)
# 定位元素,发送关键字内容
el1 = driver.find_element_by_id("com.xueqiu.android:id/tv_search")
el1.click()
el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
el2.send_keys("alibaba")
# 关闭退出
driver.quit()
一个简单的demo脚本就录制完成啦,如有错误,欢迎指正,谢谢~