Appium - 找到元素,但返回错误,因为无法点击

时间:2014-09-04 13:27:19

标签: ios appium

如果带有齿轮图标的UIImage形式,我有一个带有注销按钮的应用程序。元素名称叫做settings_icon。我想要做的是轻轻点击该按钮以通过appium调用视图.Appiun能够找到该元素,但由于某种原因,它返回无法点击该元素。以下是日志

  

info:< - POST   / wd / hub / session / 6ac7b1be-ed67-465e-8a70-0792b65f455e / elements 200   1566.971 ms - 105 {" status":0," value":[{" ELEMENT":" 6"},{&#34 ; ELEMENT":" 7"}],"的sessionId":" 6ac7b1be-ed67-465e-8a70-0792b65f455e"}

     

info: - > POST   / WD /集线器/会话/ 6ac7b1be-ed67-465e-8a70-0792b65f455e /元件   {"使用":"名称""的sessionId":" 6ac7b1be-ed67-465e-8a70-0792b65f455e""值& #34;:" settings_icon"}

     

debug:将命令推送到appium工作队列:   " au.getElementsByName(' settings_icon')"

     

debug:向仪器发送命令:   au.getElementsByName(' settings_icon')debug:发送命令到   instruments:au.getElementsByName(' settings_icon')

     

debug:[INST] 2014-09-04 13:15:39 +0000调试:得到新命令16   instruments:au.getElementsByName(' settings_icon')

     

debug:[INST] 2014-09-04 13:15:39 +0000调试:评估   au.getElementsByName(' settings_icon&#39)

     

debug:[INST] 2014-09-04 13:15:40 +0000调试:评估完成

     

debug:[INST] 2014-09-04 13:15:40 +0000调试:查找返回[对象   UIAImage],名称为" settings_icon" (id:8)。

     

debug:[INST] 2014-09-04 13:15:40 +0000调试:回复:

     

debug:[INST] 2014-09-04 13:15:40 +0000 Debug:运行系统命令

     

17:/Applications/Appium.app/Contents/Resources/node/bin/node /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client。 js / tmp / instruments_sock 2,{" status":0," value":[{" ELEMENT":" 8"}]} ...

     

debug:收到套接字数据(40字节)

     

debug:正在路由的套接字数据。 debug:得到了仪器的结果:   {" status":0," value":[{" ELEMENT":" 8"}]} debug:响应客户端   成功:   {"状态":0,"值":[{" ELEMENT":" 8"}],"的sessionId&#34 ;:" 6ac7b1be-ed67-465e-8a70-0792b65f455e"}

     

info:< - POST   / wd / hub / session / 6ac7b1be-ed67-465e-8a70-0792b65f455e / elements 200   1450.216 ms - 89 {" status":0," value":[{" ELEMENT":" 8"}],&#34 ;的sessionId":" 6ac7b1be-ed67-465e-8a70-0792b65f455e"}

     

info: - > POST   / WD /集线器/会话/ 6ac7b1be-ed67-465e-8a70-0792b65f455e /元件/ 8 /点击   {"的sessionId":" 6ac7b1be-ed67-465e-8a70-0792b65f455e"" ID":" 8"}

     

debug:将命令推送到appium工作队列:" au.tapById(' 8')"

     

debug:向乐器发送命令:au.tapById(' 8')debug:发送   对乐器的命令:au.tapById(' 8')

     

debug:[INST] 2014-09-04 13:15:41 +0000调试:得到新命令17   工具:au.tapById(' 8')

     

debug:[INST] 2014-09-04 13:15:41 +0000调试:评估   au.tapById(' 8&#39)

     

debug:[INST] 2014-09-04 13:15:41 +0000 Debug:UIAImage.tap()

     

debug:[INST] 2014-09-04 13:15:41 +0000调试: UIAImage不能   抽头

     

info: - > GET / wd / hub / status {}

     

debug:成功响应客户端:   {"状态":0,"值" {"建立" {"版本":" 1.2.1&#34 ;,"修订":" 2a4b624a708e580709006b697dc4c9c4e3007863"}},"的sessionId":" 6ac7b1be-ed67-465e-8a70-0792b65f455e"}

     

info:< - GET / wd / hub / status 200 1.008 ms - 155   {"状态":0,"值" {"建立" {"版本":" 1.2.1&#34 ;,"修订":" 2a4b624a708e580709006b697dc4c9c4e3007863"}},"的sessionId":" 6ac7b1be-ed67-465e-8a70-0792b65f455e"}

     

debug:[INST] 2014-09-04 13:15:41 +0000错误:VerboseError:elementId   8无法点击

     

debug:收到套接字数据(57字节)

     

debug:正在路由的套接字数据。 debug:得到了仪器的结果:   {" status":13," value":"无法点击elementId 8"}

     

info:< - POST   / WD /集线器/会话/ 6ac7b1be-ed67-465e-8a70-0792b65f455e /元件/ 8 /点击   500 3509.769 ms - 200

     

debug:响应客户端出错:   {" status":13," value":{" message":"发生了未知的服务器端错误   在处理命令时。"," origValue":" elementId 8不能   抽头"}"的sessionId":" 6ac7b1be-ed67-465e-8a70-0792b65f455e"}

当我手动执行此元素时,该元素是可点击的。我尝试使用路径以及元素的名称,但没有运气。即使在Appium检查器中,当我找到元素并执行TAP时它也无法正常工作。

任何建议都会有所帮助。

添加Appium返回的元素属性

<UIAImage name="settings_icon" label="" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/0/3" x="0" y="737" width="140" height="22">
        </UIAImage>

1 个答案:

答案 0 :(得分:1)

难道你真的在UIImage上有一个UIButton或其他UI元素可以点击吗?如果是这样,您应该能够使用Appium Inspector查看此其他元素。

如果这不起作用,您可以尝试使用精确点击并使用精确坐标点击元素。有关如何使用带坐标的tap命令的信息,请参阅此链接: http://appium.wikia.com/wiki/Mobile_Commands