我想从我的量角器测试中的硒控制流中移动appart。将量角器测试移动到异步/等候状态(离开硒控制流程)
这里是我所经历至今的步骤和问题:
1.禁用它通过试验测试
我的第一个想法是使用SELENIUM_PROMISE_MANAGER
为了摆脱硒承诺异步/等待代码。
不幸的是,我发现没有办法将一个测试放到SELENIUM_PROMISE_MANAGER=0
,同时让其他人到SELENIUM_PROMISE_MANAGER=1
以顺利进行迁移。
2.保持它,但使用异步/等待太
所以我想到了一个代码使用异步/等待,同时保持SELENIUM_PROMISE_MANAGER=1
。
不幸的是,似乎不兼容:https://github.com/angular/protractor/tree/master/exampleTypescript/asyncAwait
没有任何关于硒等方面问题,所以我想知道如果这是一个建议或真实它总是失败。
3.覆盖promise.USE_PROMISE_MANAGER
使用protractor.promise.USE_PROMISE_MANAGER=false
对我不起作用(在beforeEach)。
4.呼吁异步代码控制流
protractor.promise.controlFlow().execute(/* my async code*/);
对于我来说,似乎混合异步/等待对该控制流...
什么是正确的策略?
我在想,在Protractor测试中移动到async/await的正确策略是什么?
我不想把一切都在异步/等待一个变化,但传播的多个小的变化
阅读[关于弃用问题的完整线索](https://github.com/SeleniumHQ/selenium/issues/2969)似乎非常简单。您需要通过命令行启用异步/等待(选中2月4日)。那么,你为什么认为它不兼容,你会得到什么错误? –
我的问题是,量角器指南明确地说“但是,你不能使用异步/等待和控制流的混合”,我还没有找到任何方法将部分测试移到异步/等待而不是其他人。 – DubZzz