问题陈述:
- 我有一个具有 G+ 单点登录的本机应用程序。
- 当我单击该按钮时,它会显示一条警报 - “应用程序想要使用 google.com 登录”以及 2 个按钮“继续”和“取消”
- 当我在警报上按“继续”时,它会在应用程序内打开一个浏览器,其中会打开帐户选择页面。它将accounts.google.com 显示为页面URL。
- 假设我之前已经登录过一次 Google,我想从那里显示的 google 帐户列表中选择/单击特定帐户。
- 单击帐户后,用户将导航到名为“仪表板”的本机屏幕。
为了自动执行此操作,在 Appium + Java 中,我单击 G+ 按钮,然后将上下文切换到 webview,然后使用 xpath 选择帐户,然后切换回本机视图,因为现在已完成登录并且应用程序返回本机屏幕。
driver.findElement(By.xpath("XPATH of Native Screen - Google SignIn Button")).click;
driver.switchTo().alert().accept();//点击“继续”按钮。
driver.context("WEBVIEW"); //切换到WebView
driver.findElement(By.xpath("预期帐户名称 HTML 控件的 XPATH")).click();
driver.context("NATIVEVIEW");
...然后,我在本机应用程序屏幕上执行我想执行的其他操作。
我想在 XCode + Swift 中做同样的事情,但我没有找到任何方法来做到这一点。
这就是我所做的
//一些点击按钮的代码
app.buttons["Google 登录"].tap() app.alerts[""AppName" 想要使用“google.com”登录"].buttons["Continue"].tap() ...现在我不知道如何切换到 App 的 WebView 并单击包含帐户名称的 HTML 控件,然后切换回原生视图。
请帮忙。