Javascript 解释量角器中的异步/等待
我不熟悉量角器。此函数中的async/await是如何工作的?有人能给我解释一下吗Javascript 解释量角器中的异步/等待,javascript,protractor,jasmine2.0,Javascript,Protractor,Jasmine2.0,我不熟悉量角器。此函数中的async/await是如何工作的?有人能给我解释一下吗 it('TC_01 - Verify Home page title', async () => { await headerPage.waitForTitleContain('Homepage', 30000); await expect(headerPage.getTitle()).toEqual('Homepage'); }); 这一切都是关于JavaScript的异步性质 目前,量
it('TC_01 - Verify Home page title', async () => {
await headerPage.waitForTitleContain('Homepage', 30000);
await expect(headerPage.getTitle()).toEqual('Homepage');
});
这一切都是关于JavaScript的异步性质 目前,量角器提出了几种处理异步操作的方法(我没有在这里描述直接承诺链和生成器): 1)承诺经理/控制流程 这是一种抽象,使您的所有操作都像队列一样逐个调用。每个动作都会返回一个特殊的对象——承诺。它表示异步操作的结果,该结果将在将来接收 2)第二种方式-异步/等待 它是围绕承诺对象的新抽象,允许轻松地一个接一个地链接动作。优点是这是本地语言构造,而不是Promise Manager,并使您的代码看起来像是同步的,带有try/catch和其他熟悉的构造 您可以将wait想象为“在解析操作返回的承诺之前暂停代码执行” 但是async/await仍然在内部使用承诺 将async/await与量角器JS一起使用时的几点建议:
第一步是设置
SELENIUM\u PROMISE\u MANAGER:false
:。这里有更多信息:派对有点晚了,但是考虑到OP的例子:expect()
不是量角器操作,因此最好将wait放在expect中:expect(wait headerPage.getTitle()).toEqual('Homepage')代码>