你能否使用Protractor和Appium一起测试混合应用程序?

4

这是我的情况。我有一个构建在Angular JS之上的网站。我可以使用protractor自动化该网站。但是在网站上执行某些操作时,Android和IOS设备上也会反映出来。

以下是我的目标:

像往常一样在网站上运行测试,但我也想发送命令来测试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,在移动端上使用Appium。你有进展了吗? - Lord Nick
我有一个小的POC正在运行,其中我已经将Appium运行在另一台机器上,该机器连接了应用程序,我正在使用请求模块向Appium服务器发送请求,但整个过程对于一个人来说太复杂了,难以维护。 - SandyRocks
@SandyRocks,Protractor已经在https://github.com/angular/protractor/issues/1940中添加了对Appium附加命令的支持。您是否重新审视了这个问题? - miguelr
2个回答

3
回答您的问题,是的,您可以集成Protractor和Appium。虽然目前Protractor官方不支持appium,但您仍然可以通过以下详细信息实现。在Protractor文档中有一个帮助文件。您需要更新conf.js文件以包括appium配置,并记住在运行测试脚本之前启动您的appium服务器。注意以下几点:
  1. 启动您的AVD
  2. 在您将通过appium调用的AVD中安装.apk文件
  3. 使用命令启动appium服务器 - appium &
  4. 更新您的Protractor conf.js文件以包括appium android/chrome配置。有关配置的更多详细信息可以在下面的链接中找到。
这是有关此事更多信息的链接 - Protractor-Appium Setup。希望这可以帮助您。

我想要同时在桌面上的 Firefox 浏览器和 Android 设备上的混合应用程序中并行运行 Protractor 测试。 - SandyRocks
嗨,SandyRocks。你可能不能同时并行运行两个,至少我没有尝试过。但是你可以尝试更新你的protractor conf.js文件以包含multicapabilities,这里是链接 - 浏览器设置 - giri-sh

2

看起来你可以用它来测试混合应用程序

用它来测试混合应用程序

这个自述文件将帮助您设置Protractor与Appium - Android / Chrome和Android / Safari。 这里有一个视频教程。 也许你应该考虑使用SauceLabs选项。我认为你可以通过在配置的capabilities部分指定平台来请求iOS和Android设备。

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


这个问题是关于如何使用 Appium 和 Protractor 测试混合应用程序的。在此答案中包含的链接中描述了如何在移动 web 浏览器中使用它。简短的回答是:目前还不支持。https://github.com/angular/protractor/issues/1940 - Gabriel Kohen
1
@GabrielKohen 感谢您指出正确的方向,这个问题已经在一个月前关闭并包含在 Protractor 5.0.0 中。我希望看到您最近是否尝试过这个版本。 - miguelr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接