你可以同时使用 Protractor 和 Appium 来测试混合应用程序吗?

Posted

技术标签:

【中文标题】你可以同时使用 Protractor 和 Appium 来测试混合应用程序吗?【英文标题】:Can you use Protractor and Appium together to test hybrid apps? 【发布时间】:2015-11-03 10:18:38 【问题描述】:

这是我的场景。我有一个建立在 Angular JS 之上的网站。我能够使用量角器自动化网站。但是,在网站上执行的某些操作会反映在 androidios 设备中。

这就是我想要实现的目标。

像往常一样在网站上运行我的测试,但我也想触发命令来测试 android 和 ios 应用程序

    /*
    For eg:  
    1. Change password on website using protractor 
    2. Launch android app and check if the password has been changed
    3. Switch back to protractor tests for website
    */
    it('Change password and check on IOS and Android device' , function()
    
           changePasswordOnWeb();
           OpenMobileAppInDeviceUsingAppium();
           checNewkPasswordOnMobileApp();
    );

有可能吗?如果是,你能指出我的任何教程吗?

【问题讨论】:

我正在尝试在这里做同样的事情.. Web 上的 Protractor 和 Mobile 上的 Appium 同时进行。你有什么进展吗? 我有一个小型 poc 正在运行,我在另一台连接了应用程序的机器上运行 appium,我正在使用请求模块向 appium 服务器发送请求,但整个事情太复杂了为一个人维护。 @SandyRocks 对 appium 附加命令的支持已添加到 github.com/angular/protractor/issues/1940 中的量角器。您是否重新审视过这个问题? 【参考方案1】:

要回答您的问题,是的,您可以集成量角器和 appium。虽然到目前为止 Protractor 还没有正式支持 appium,但您仍然可以通过以下详细信息使其成为可能。 Protractor 文档中有一个帮助文件。您需要做的就是更新您的 conf.js 文件以包含 appium 配置,并记住在运行测试脚本之前启动您的 appium 服务器。请注意以下几点 -

    开始你的 avd

    在您将通过 appium 调用的 avd 中安装 .apk 文件

    使用命令-appium & 启动appium服务器

    更新您的量角器 conf.js 文件以包含 appium android/chrome 配置。有关配置的更多详细信息,请参见以下链接。

这里是更多信息的链接 - Protractor-Appium Setup。希望这会有所帮助

【讨论】:

我想在桌面上的 firefox 和 android 设备上的混合应用程序上同时运行量角器测试 嗨 SandyRocks。你不可能同时运行两者并行,至少我没有尝试过。但是,您可以尝试更新您的量角器 conf.js 文件以包含多功能,这是它的链接 - browser setup。【参考方案2】:

看来可以用了

测试混合应用

这个readme 将帮助您使用 Appium - Android/Chrome 和 Android/Safari 设置 Protractor。这是video how-to。也许您也应该考虑 SauceLabs 选项。我认为您可以通过在配置的功能部分指定平台来请求 iOS 和 Android 设备。

如果您不想使用 SauceLabs,可以考虑使用 Selenium 的 Grid 功能。您可以获取适用于 iOS 和 Android 的 Selenium 驱动程序,并将它们连接到运行 Protractor 方案的集中式 Selenium 服务器,您只需将配置文件中的 seleniumAddress 更改为指向集中式服务器。

【讨论】:

问题是使用 Appium 和 Protractor 测试混合应用程序。此答案中包含的链接中描述的是如何将其与移动网络浏览器一起使用。简短的回答是:还没有。 github.com/angular/protractor/issues/1940 @GabrielKohen 感谢您指出正确的方向,这个问题大约在一个月前关闭并包含在 Protractor 5.0.0 中。我希望看看你最近是否尝试过。

以上是关于你可以同时使用 Protractor 和 Appium 来测试混合应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章

推出Protractor但未运行的Firefox

Protractor E2E - 您如何管理数据库?

使用Microsoft Edge设置Protractor

使用 Selenium / Protractor 进行测试时从网站获取注入的 javascript

使用 Maven、Protractor 和 Selenium WebDriver 进行集成测试

使用 Protractor+AXIOS 进行 API 测试