首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击Anyline对话框上的OK按钮时,WebDriverException

单击Anyline对话框上的OK按钮时,WebDriverException
EN

Stack Overflow用户
提问于 2021-12-23 14:16:20
回答 1查看 187关注 0票数 0

所以我想要做的就是点击只在iOS模拟器上弹出的对话框(iOS 14.5,AppumJava-Client7.3.0)。

对话框来自Anyline,因为我在模拟器上当然没有摄像头。如果有任何方法隐藏这个对话框,它也会解决我的问题,我尝试了这个功能,但它没有工作。

代码语言:javascript
复制
cap.setCapability("autoAcceptAlerts", false);
cap.setCapability("autoDismissAlerts", false);

选择对话框没有问题,我可以检查对话框是否在这里:

代码语言:javascript
复制
@iOSXCUITFindBy(accessibility = "Anyline SDK cutout UI")
public IOSElement anylineDialog;

如下所示:

所以下一步就是点击ok按钮,它在开始的时候就开始工作了,但是现在我甚至不能在Appium检查器中选择它了。在我用这个之前:

代码语言:javascript
复制
@iOSXCUITFindBy(accessibility = "OK")
public IOSElement okButton;

我不知道为什么它不再起作用,但我仍然可以在TestProject的帮助下选择它。我测试了很多不同的选择器,但都不起作用。(在这个工具中也推荐使用可访问性= "OK“)

我总是得到这个异常,我不知道如何修复它,尝试catch也不起作用:

代码语言:javascript
复制
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil

我尝试了一些东西,在这页上,我也得到了OK按钮作为唯一的按钮,正如这个代码片段所显示的。

代码语言:javascript
复制
HashMap<String, String> args = new HashMap<>();
args.put("action", "getButtons");
List<String> buttons = (List<String>)driver.executeScript("mobile: alert", args);

也是在同一个网站上,我尝试了同样的结果。

代码语言:javascript
复制
args.put("action", "accept");
args.put("buttonLabel", "OK");
driver.executeScript("mobile: alert", args);

也许这是具体的,但如果有人知道我如何解决它,我会非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-03 12:32:15

您提到的iOS错误已在Appium 1.22.1和2.0.0-beta中修复。确保您正在运行其中的一个版本,您应该会很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70463337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档