我是Android测试新手。我目前正在尝试自动化一个场景。我附上了应用屏幕的快照:
方案:
开发人员说它是一个混合应用程序。这里有很多困惑,因为我能够点击" Clock In",但我无法选择" DL 380 Memory Upgrade"。
质疑:
如果它是webview中的元素,如何找到它?我找到了#34; CLOCK IN"如下:
@AndroidFindBy(xpath = "//android.view.View[@resource-id='tab-t0-0']")
private AndroidElement clockInTabBtn;
答案 0 :(得分:0)
您可以使用上下文检查可用视图,并可以使用以下代码切换到该视图:
Set<string> contextNames = driver.getContextHandles();
for (String contextName : contextNames)
{
System.out.println(contextNames);
//To swicth to webview
if (contextName.contains("WEBVIEW")){
driver.context(contextName);
}
}
请参阅此主题以了解类似问题:https://github.com/appium/appium/issues/7243
答案 1 :(得分:0)
如果它是WebView中的一个元素,那么它的 web 并且您在通过 resource-id 搜索时无法在Web中找到任何内容 - 仅限其本机属性。
我建议使用chrome dev工具来调试混合应用程序。 您可以阅读官方docs进行设置。
基本上你需要: