appium如何定位元素 如何判断元素是否存在?

安卓SDK中有UI Automator Viewer可用于定位APP控件中的元素,UI Automator Viewer的位置就在sdk的tools下,可以通过uiautomatorviewer.bat启动;
双击uiautomatorviewer.bat后,启动后页面如下:
&页面右上角有4个按钮,分别为:打开本地文件、dump页面、dump压缩格式的页面、保存,点击下图中红圈圈出的dump页面按钮,页面将弹出“Select device”的对话框,点击下拉框列出的即为电脑已连接的安卓手机列表(包括模拟器emulater),确定需要定位的手机后,点击“OK”按钮,在一系列加载进度完成后,此时UI Automator Viewe页面会同步显示已选择手机的当前UI页面,可对当前页面元素进行定位;
此后,在左侧同步的手机页面点击所要定位的按钮等控件,此时右上方会高亮显示该控件的相关信息,比如点击Calculator中的“9”后,右上方显示它是一个Button,右下方显示了该控件相关的详细信息;
备注:在上述操作过程中,出现了几个问题:
UI Automator Viewer无法识别打开电脑已连接的设备,此时先在命令行中运行adb devices查询电脑中已连接的设备信息,却发现我的电脑中adb是无效的命令,此时查询资料后并比对问题,发现所需配置的环境变量中,我还缺了一项尚未配置,所以我执行了以下操作:在系统变量中新建变量名:android,变量值:E:\03.测试相关文档\测试工具\04.Appnium\android-sdk-windows\platform-(即已解压android-sdk-windows文件夹下platform-tools路径),然后在PATH中加入%android%;(注意用分号隔开,分号都是英文的),配置完成后,再运行adb devices,可运行,但出现了问题2;
问题1解决后,在命令行中运行adb devices,发现该命令不再提示为无效命令,但出现了新的问题提示,如下:
error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)
查询资料后,发现问题是因为端口5037被其他应用占用,很有可能是被某某手机助手占用,解决方法:
(1)打开任务管理器-》查看—》选择列—》勾选pid,找到占用5037的进程,然后选中结束进程,然后重新打开cmd运行adb devices;
(2)关掉360手机助手,豌豆荚手机助手等,然后重新打开cmd运行adb devices;
我此处的解决方法是关掉电脑中的“91助手”,再重新启动cmd运行adb devices,终于正确显示了电脑中已连接安卓设备信息,如下图:
阅读(...) 评论() &他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)3被浏览5,276分享邀请回答0添加评论分享收藏感谢收起appium怎么查看web元素_百度知道
appium怎么查看web元素
我有更好的答案
使用appium集成的chromeDriver,进行切换到webview,进行元素定位或者自动化,这种前提需要app代码中开启支持webview的debug模式3,利用chromedriver实现自动化;),使用appium初始化Chrome浏览器相关设置,可以启动chrome。在手机端安装chrome浏览器如果是进行wap端测试1,利用driver.context(&WEBVIEW_1&quot、其他方式,启动源生浏览器,但这种方式是将源生浏览器当做一个app来使用,可能启动activity不允许三方进行调用,下载对应版本的chromeDriver,activity,packageName等2、如果是app内嵌webview,需要初始化driver后。设置chrome浏览器名称
采纳率:79%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 appium判断元素不存在 的文章

 

随机推荐