为什么即使在切换上下文后,Appium也无法在本机应用中查找Webview中的元素?

时间:2017-06-22 02:16:05

标签: ruby webview appium appium-ios

所以我是一个相对较新的Appium用户,所以如果这个问题看起来有点基础,请原谅。

我的公司有一个混合应用程序,它在几个地方使用webiews,我目前正在使用Appium在Ruby中为这个应用程序编写测试脚本。我已经卡住了一段时间,因为我到达了一个页面,我需要在webview中搜索元素并单击它们。到目前为止,我已设法使用

将上下文切换到webview

set_context context_array.last

我知道上下文切换成功了,因为我然后将当前上下文输出到终端,并且它正确输出了我在webview中的内容。然后我使用Safari来检查webview中的元素,并看到以下HTML代码:

HTML Source Code Excerpt

我按照xlink找到了以下几行代码: <symbol id="icon-eat" viewBox="0 0 58 58"> <title>icon-eat</title>

因此,在我的Appium脚本中,我尝试使用以下内容找到该元素,但到目前为止尚无法使用。 1. wait { xpath('//symbol[@id="icon-eat"]') } 2. wait { id("icon-eat") }

有关如何进行的任何建议?我的能力是:

options = {
  caps:        {
    platformName: 'iOS',
    platformVersion: '10.3',
    deviceName: 'iPhone 7',
    app: APP_PATH,
    automationName: "XCUITest",
    browserName: "iOS",
    startIWDP: true,
    nativeWebTap: true
  },
    launchTimeout: 20000
}

附加了Appium日志。出于安全考虑,我已经更换了公司名称和其他敏感信息。

https://drive.google.com/file/d/0B6mwi0KrKYGQTGctek9wWm5ES28/view?usp=sharing

0 个答案:

没有答案