Appium-查看andriod app元素和生成代码

本文介绍使用Appium进行移动应用自动化测试时,提高元素捕捉成功率的技巧,包括利用uiautomatorviewer工具和直接通过Appium获取元素属性的方法,以及如何生成代码节省编程时间。

最近在学习Appium,因为编写代码前必须知晓元素的属性值,目前常用的方法有两种:

1. uiautomatorviewer

但发现Andriod SDK tools下的uiautomatorviewer工具有些不稳定,有时候能捕捉到手机界面,有时候捕捉不到。

有个方法增加捕捉成功率,就是点击了捕捉后,迅速点击模拟器上的app界面元素,捕捉成功率就高很多:

 

2. 直接用appium来获取元素属性

a) 点击 "start Inspector session"

b) 输入app对应的信息

c)  可以将上面的输入信息保存起来,点击"start session", appium desktop会自动去打开对应的程序并抓取app界面到appimu,如下:

 

3. 生成代码,节约写代码的时间

a) 点击"select elements"选项

b) 点击"recording"

c) 点击元素,根据情况选择用"tab"/"send Keys"/"Clear",并选择合适的开发语言,即可生成代码,是不是很简单。

 

 

 

 

 

使用Appium Java打开App,需要先完成Appium Java环境搭建,其环境依赖包括Java 1.8版本、Android SDK、Node js(>=10版本),npm(>=6版本)、appium-desktop、Appium java client [^1]。若使用夜神模拟器,还需解决adb冲突问题,解决方法是先把夜神模拟器bin目录下的adb.exenox_adb.exe两个文件改名,后缀都改为.bak,然后把sdk中的adb.exe拷贝到上面的目录下,并重命名为nox_adb.exe,最后重启adb server [^4]。 之后,要创建会话请求,向Appium服务端设备建立会话,通过会话向设备发送命令以打开App。例如使用Java发起网络请求的报文实例如下: ```java Creating session with W3C capabilities: { [BaseDriver] "alwaysMatch": { [BaseDriver] "platformName": "android", [BaseDriver] "appium:appActivity": "********", [BaseDriver] "appium:appPackage": "*******", [BaseDriver] "appium:automationName": "UiAutomator2", [BaseDriver] "appium:deviceName": "127.0.0.1:62001", [BaseDriver] "appium:fullReset": false, [BaseDriver] "appium:noReset": true, [BaseDriver] "appium:platformVersion": "7" }, [BaseDriver] "firstMatch": [ [BaseDriver] {} ] } ``` 此报文表示客户端请求Appium服务端设备建立一个会话,通过会话可以向设备发送命令 [^2]。 另外,还可以在填写并保存相关配置后点击【start Session】来创建会话,示例配置如下: ```json { "platformName": "Android", "platformVersion": "11", "deviceName": "emulator-5554", "appPackage": "com.wandoujia.phoenix2", "appActivity": "com.pp.assistant.activity.PPMainActivity" } ``` 这样也能实现使用Appium Java打开App [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值