angular - 多设备端到端测试应用流程
问题描述
我们的应用程序流程从桌面开始。在后期阶段,在某些情况下,流程需要在触摸设备上获得批准。用户在桌面上的一个页面上等待。如果用户在触摸设备上打开相同的页面(相同的角度应用程序),则会打开另一个页面,他/她需要在其中接受或拒绝流程。用户在平板电脑阶段被阻止在桌面上,但在被接受(或拒绝)后,流程将移动到下一个(或上一个)页面。
我们想为这些场景创建一些 e2e 测试。我想我们可以打开一个 chrome 浏览器实例(正常,桌面模式),进入平板电脑阶段,然后打开 chrome instanse(触摸设备兼容性),然后在桌面上继续。有没有办法实现这样的目标?目前我们使用 angular 8 和 protactor,但任何框架都可以。
谢谢!
解决方案
如果我理解正确,您可以使用 multiCapabilities 进行并行执行。您可以使用以下代码将其可视化,我使用此代码并行打开 iPad 上的 Safari 和我的 windows VM 上的 chrome。请记住,这同时运行相同的规范:
multiCapabilities: [
{
/** IPad support.**
* To install Appium, please use command: webdriver-manager update --ios
* refer more from here: https://www.protractortest.org/#/mobile-setup
*/
browserName: 'safari',
platformName: 'iOS',
platformVersion: '7.1',
deviceName: 'IPad Simulator',
},
{
browserName: "chrome",
shardTestFiles: true,
maxInstances: 2,
chromeOptions: {
useAutomationExtension: false,
args: ["–disable-gpu"] //"--headless", "--incognito", "--disable-gpu", "--window-size=800,600"
}
}
]
推荐阅读
- postgresql - 使用 plpgsql 函数创建物化视图时出现子事务错误
- .htaccess - 如何使用 htaccess 阻止部分 url?
- console - JetBrains 控制台中的自动完成
- r - r 在 2 列上滚动自定义函数
- android - 如何使用 BiometricPrompt 和 CryptoObject 同时获得解密和加密的 KeyStore 访问权限?
- ruby-on-rails - 日期时间对象的联合数组
- iis - 特定于应用程序的权限设置不授予本地激活权限
- javascript - 在下拉列表中进行选择后,useState 未正确更新
- javascript - Apollo MockedProvider 未返回预期数据
- mongodb - 计算重复日期的出现次数