我正在使用 robotsium 工具来编写应用程序的测试脚本。我想知道如何在我的应用程序中处理第三方的 webview(即登录)。
例如,如果我有一个按钮Checkout With Paypal
,当我单击它时,我会从 Paypal 第三方获得一个登录页面,该页面要求以下内容
Login ID:
Password:
那么如何在测试脚本中点击上面的文本框并在里面输入相应的文本呢?
如果 webview 在您的应用程序之外,那么我不敢告诉您,在使用 robotsium 时,将无法测试您想要的内容。Robotium 只能将事件注入到您的应用程序进程中,遗憾的是这不会成为其中的一部分。
但是,如果它在您的应用程序中,那么您(稍微)很幸运。您可以与 webview 进行交互,但是 robotsium 目前没有任何方式与 webview 中的元素进行交互。虽然可以这样做,但您必须自己触发 javascript 才能与网页交互。这有点痛苦,但像https://github.com/calabash/calabash-android这样的产品做得很好,所以你可以看看它们的实现。
还有第三种选择,让开发人员为您的测试伪造应用程序的部分。然后添加一个在没有伪造的版本上运行的测试,以检查是否使用意图过滤器触发了正确的意图,这应该涵盖两个基础。