0

问题陈述:

  1. 我有一个具有 G+ 单点登录的本机应用程序。
  2. 当我单击该按钮时,它会显示一条警报 - “应用程序想要使用 google.com 登录”以及 2 个按钮“继续”和“取消”
  3. 当我在警报上按“继续”时,它会在应用程序内打开一个浏览器,其中会打开帐户选择页面。它将accounts.google.com 显示为页面URL。
  4. 假设我之前已经登录过一次 Google,我想从那里显示的 google 帐户列表中选择/单击特定帐户。
  5. 单击帐户后,用户将导航到名为“仪表板”的本机屏幕。

为了自动执行此操作,在 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 控件,然后切换回原生视图。

请帮忙。

4

1 回答 1

4

当您单击使用 google 登录时,请尝试使用此功能:

GIDSignIn.sharedInstance().signOut()
于 2018-01-12T10:22:08.837 回答