Typescript 量角器-从afterAll()部分的页面注销

Typescript 量角器-从afterAll()部分的页面注销,typescript,jasmine,protractor,jasmine2.0,Typescript,Jasmine,Protractor,Jasmine2.0,我在不同的文件中有很多基于jasmine的测试,每个测试都是以格式定义的,比如 describe(... { it(...) it(...) .... }) 我需要在测试结束(描述结束)后从应用程序注销,并在每个测试开始时登录 因此,我在前后的说明中相应地做了这件事 describe(... { beforeAll(async function() { await login(); }) afterAll(async function() {

我在不同的文件中有很多基于jasmine的测试,每个测试都是以格式定义的,比如

describe(... {
   it(...)
   it(...)
....
})
我需要在测试结束(描述结束)后从应用程序注销,并在每个测试开始时登录

因此,我在前后的说明中相应地做了这件事

describe(... {
   beforeAll(async function() {
      await login();
   })

   afterAll(async function() {
      await logOut();
   })

   it(...)
   it(...)
....
})
但是,下一个测试无法登录。我的控制台中出现以下错误:

Failed: javascript error: document unloaded while waiting for result
      (Session info: chrome=69.0.3497.92)
      (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64)
但是如果在注销后添加一些东西,比如browser.sleep(),那么就可以了

看起来新测试启动时,上一个测试的注销操作未完全执行

是否有正确的方法(或browser.sleep)在注销后登录之前检查页面是否已加载且稳定


提前谢谢你

尝试使用
done
回调,而不是在
before
afterAll
中使用
async/wait
。例如:
毕竟(函数(完成){logOut()。然后(()=>{done();})})
不幸的是,没有,这种方法会导致相同的问题和相同的错误您可能希望您的实现是正确的,并且应该是可能的,因为Jasmine版本2.7。可能您没有正确地等待页面加载后再开始测试。如果这是正确的,您可以显示登录/注销实现吗?您似乎没有在自己的函数中正确等待。在执行注销之前是否尝试过waitForAngular()?