android - 如何使用 Protractor 测试原生 Android 应用

标签 android angularjs protractor appium selendroid

我有使用 Ionic 构建的 native Android 应用程序,因此端到端测试是使用 Protractor 编写的,并且适用于混合版本的应用程序。
我想弄清楚,是否可以针对 Android 设备(或至少模拟器/avd)上的 native 应用程序运行这些测试?

我试过 Appium - 运气不好,它试图在设备上运行浏览器。我不需要它。

Selendroid:
java -jar path-to-selendroid.jar -app path-to.apk
它执行,但是当我启动 Protractor 时,它试图运行一些 AndroidDriver Webview 应用程序(带有 Selendroid Logo )而不是我的应用程序,因此所有测试都失败了。 Protractor 配置:

seleniumAddress: 'http://localhost:4444/wd/hub',
baseUrl:         'http://10.0.2.2:8000',
capabilities:    {
    browserName: 'android'
},

有可能吗?或者我希望最好的是通过 Appium/Selendroid 在设备上运行移动浏览器?

最佳答案

正如您所指出的,您想要测试 Android native 应用程序。您需要使用其他框架来测试 native 应用。

另一方面, Protractor “是 AngularJS 应用程序的端到端测试框架”。 http://angular.github.io/protractor/#/

因此,它在浏览器上运行。浏览器可以在你的 PC 上安装 WebDriver,在你的手机上安装 AndroidDriver。但绝不是 native 应用程序。

关于android - 如何使用 Protractor 测试原生 Android 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26851517/

相关文章:

android - 检查互联网连接

android - 为什么我的 copyTo 函数没有将掩码复制到正确的 Mat 上?

Android Smack MUC 400 Bad Request 发送群组聊天消息

angular - 我可以在 Protractor 中使用这样的 baseUrl 吗?

android - 每个元素都很大 - 拉伸(stretch)(字体、图片、 map ...)

javascript - 深 $watch 与 $watchCollection : $var behavior

javascript - 循环而不是许多 if 条件

javascript - angularjs 数据绑定(bind)问题

javascript - 如何使用 Protractor 返回数组中的 getText() 值

typescript - Protractor 中的异步/等待样板