应用是 Firebase、Express、Angular,使用 angular-fullstack 生成器
在应用程序中,auth 由 angularfire 的 $authWithOAuthRedirect 处理。在量角器测试中,我使用 onPrepare 对测试用户进行预授权:
onPrepare: function() {
browser.ignoreSynchronization = true;
browser.driver.get('https://accounts.google.com/ServiceLogin');
browser.driver.manage().timeouts().implicitlyWait(60000);
browser.driver.findElement(By.id('Email')).sendKeys(USER);
browser.driver.findElement(By.id('Passwd')).sendKeys(PASS);
browser.driver.findElement(By.id('signIn')).click();
browser.ignoreSynchronization = false;
browser.driver.manage().timeouts().implicitlyWait(3000);
}
这在我的工作站上效果很好。但是在 CircleCI 中......即使等待时间非常长(比如这里的 60000),e2e 测试也会超时。即使我只是重新运行构建,测试的不同部分也会随机超时。
我不得不在 circle.yml 中禁用我的 e2e 测试,这不是一个特别好的解决方案。
有什么建议么?解决方法的想法?