问题陈述:
- 我有一个具有 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("XPATH of intended Account Name HTML control")).click();
driver.context("NATIVEVIEW");
。然后,我执行要在本机应用程序屏幕上执行的其他操作。
我想在 XCode + Swift 中做同样的事情,但我找不到任何方法。
这是我的工作
点击按钮的一些代码
app.buttons["Google Sign In"].tap() app.alerts["AppName" 想要使用"google.com"登录"].buttons["继续"].tap() ...现在我不知道如何切换到应用程序的WebView,然后单击包含帐户名称的HTML控件,然后切换回本机视图。
请帮忙。
当您点击使用谷歌登录时,请尝试使用它:
GIDSignIn.sharedInstance().signOut()