我们正在构建一个混合原生应用程序(Cordova/Phonegap/Angular/Ionic)。
我正在 Protractor 中编写端到端测试。在本地运行时,它们会针对 Ionic 模拟器( ionic 服务)提供的应用程序执行。这工作正常。
我还想在由 Sauce Labs (Appium) 托管的平台模拟器上针对“打包/构建”应用程序运行相同的测试。这几乎有效。
我现在遇到的问题是导航到应用程序。在本地运行时,在测试开始时,我将导航到 ionic 托管的应用程序:
browser.get('http://localhost:8100')
这显然不适用于运行混合 native 应用程序的模拟器。我在测试启动时检查了浏览器的当前 Url,它是:
file:///android_asset/www/index.html#/login
这是有道理的,也是正确的。但如果我尝试:
browser.get('file:///android_asset/www/index.html#/login')
坏事发生。
我正在寻找两种解决方案之一:
1) 了解如何导航到在模拟器中运行的混合 native 应用程序的 URL
或者
2)以某种方式让测试知道它在混合 native cordova容器中运行并跳过导航到起始页面(因为应用程序是由appium自动加载的)。
谢谢。
最佳答案
进入这个有点晚了,但如果我正确理解了这个问题,你只需要区分本地运行和通过 Sauce 运行。既然你已经有两个 Protractor 文件,为什么不直接调用 browser.get
在酱汁配置中?或者有什么明显的东西我失踪了?
关于angularjs - 使用 Protractor 导航到 Appium 中混合原生应用程序的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621438/