java - Robotium编写的测试脚本如何处理第三方的Webview

标签 java android robotium

我正在使用 robotium 工具编写应用程序的测试脚本。我想知道如何在我的应用程序中处理第三方的 webview(即登录)。

例如,如果我有一个按钮 Checkout With Paypal,当我点击它时,我会从 Paypal 第三方获得一个登录页面,该页面要求以下内容

Login ID:
Password:

那么如何在测试脚本中点击上面的文本框并在其中输入相应的文本呢?

最佳答案

如果 webview 在您的应用程序外部,那么我不敢告诉您,当使用 robotium 时,将无法测试您想要的内容。 Robotium 只能将事件注入(inject)到您的应用程序进程中,很遗憾,这不会成为其中的一部分。

但是,如果它在您的应用程序中,那么您(稍微)走运了。您可以与 webview 交互,但是 robotium 目前没有任何方法可以与 webview 中的元素交互。虽然这样做是可能的,但您必须自己启动 javascript 才能与网页交互。这有点痛苦,但产品如 https://github.com/calabash/calabash-android做得很好,这样您就可以查看它们的实现。

还有第三种选择,让开发人员为您的测试伪造应用程序部分。然后添加一个在没有伪造的版本上运行的测试,以检查是否使用 Intent 过滤器触发了正确的 Intent ,这应该涵盖两个基础。

关于java - Robotium编写的测试脚本如何处理第三方的Webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206907/

相关文章:

java - 我无法从 Google 应用引擎上部署的后端 servlet 连接到我的 google cloud sql 数据库

java - eclipse 和 JAR 中的资源位置差异问题

java - SQLite random() 行,但其中 1 行必须具有特定值?

java - 如何在 Java keystore 中导入现有的 X.509 证书和私钥以在 SSL 中使用?

java - 在java中更改输出文本颜色

java - 使用 glDrawTexiOES 时旋转纹理

android - 创建具有自定义设计的选项卡小部件

java - Robotium断言失败

android - 如果我只有 apk 文件,如何在 robotium 中使用 R.id

android - 以编程方式点击 Android 通知