我们正在Mac iOS设备中使用Appium自动化我们的网站。 当我们访问我们的应用程序时,它会显示 Windows 身份验证弹出窗口。我们使用格式(https;//username:password@test.com(来处理Chrome和Firefox浏览器中的Windows弹出窗口,并且工作正常。但是Windows身份验证弹出窗口出现在Safari浏览器中。您能否让我们知道如何处理 Safari 浏览器中的 Windows 弹出窗口
我的系统配置 Mac OS 版本 10.14.5(macOS Mojave( Appium 版本 1.14.2 苹果手机版本 12.4
Safari浏览器中的窗口弹出窗口是什么样子的?如果是带有用户名/密码输入的标准登录表单,您可能需要找到用户名/密码文本字段元素并调用SendKeys
。
我建议使用 Appium 检查器重现您的场景并检查那里的 Safari 浏览器。
我在处理组织的单一登录页面时遇到了类似的问题。登录并自动关闭浏览器页面上的登录后,我的AppiumDriver上下文变得过时并停止工作。所以我不得不打电话给Driver.BackgroundApp();
来修复它。
如果用户名/密码输入是"警报"样式的弹出窗口,您可以在此处参考此论坛,其中包含一些解决方法:
https://discuss.appium.io/t/handle-http-authentication-on-ios-safari/1480/7
非常感谢您回答我的问题。 下面的代码运行良好
driver.get("https://test.com");
driver.context("NATIVE_APP");
driver.findElement(By.Xpath("uname"));
driver.findElement(By.Xpath("pwd"));
driver.findElement(By.Xpath("login"));
driver.context("WEB_VIEW");