【问题标题】:Appium - Element found but returning error as not clickableAppium - 找到元素但返回错误为不可点击
【发布时间】:2014-10-29 06:42:00
【问题描述】:

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

信息:

信息:--> 发布 /wd/hub/session/6ac7b1be-ed67-465e-8a70-0792b65f455e/elements {"using":"name","sessionId":"6ac7b1be-ed67-465e-8a70-0792b65f455e","value":"settings_icon"}

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

调试:向仪器发送命令: au.getElementsByName('settings_icon') 调试:发送命令到 工具:au.getElementsByName('settings_icon')

调试:[INST] 2014-09-04 13:15:39 +0000 调试:从获取新命令 16 工具:au.getElementsByName('settings_icon')

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

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

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

调试:[INST] 2014-09-04 13:15:40 +0000 调试:响应:

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

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"}]}...

调试:接收到的套接字数据(40 字节)

调试:正在路由的套接字数据。调试:从仪器获得结果: {"status":0,"value":[{"ELEMENT":"8"}]} 调试:响应客户端 成功: {"status":0,"value":[{"ELEMENT":"8"}],"sessionId":"6ac7b1be-ed67-465e-8a70-0792b65f455e"}

信息:

信息:--> 发布 /wd/hub/session/6ac7b1be-ed67-465e-8a70-0792b65f455e/element/8/click {"sessionId":"6ac7b1be-ed67-465e-8a70-0792b65f455e","id":"8"}

调试:将命令推送到 appium 工作队列:“au.tapById('8')”

调试:向仪器发送命令:au.tapById('8') 调试:发送 仪器命令:au.tapById('8')

调试:[INST] 2014-09-04 13:15:41 +0000 调试:从获取新命令 17 仪器:au.tapById('8')

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

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

调试:[INST] 2014-09-04 13:15:41 +0000 调试:UIAImage 不能 轻拍

信息:--> GET /wd/hub/status {}

调试:成功响应客户端: {"status":0,"value":{"build":{"version":"1.2.1","re​​vision":"2a4b624a708e580709006b697dc4c9c4e3007863"}},"sessionId":"6ac7b1be-ed67-465e-8a70- 0792b65f455e"}

信息:

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

调试:收到的套接字数据(57 字节)

调试:正在路由的套接字数据。调试:从仪器获得结果: {"status":13,"value":"elementId 8 无法被点击"}

信息:

调试:以错误响应客户端: {"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>

【问题讨论】:

    标签: ios appium


    【解决方案1】:

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

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

    【讨论】:

    • 我检查了结构,但没有找到任何 UIButton。但是,我通过使用元素的精确点击克服了这个问题,并使用精确的点击(X 和 Y 坐标)自动化了我的脚本
    • 我将编辑答案以包含准确的点击信息!
    猜你喜欢
    • 2022-12-17
    • 2018-03-16
    • 2015-10-11
    • 2019-09-27
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    相关资源
    最近更新 更多