我很好奇waitForAngularEnabled()是如何工作的?虽然看起来并不复杂,但我无法在任何地方获得满意的答案.所以希望有人帮我清理.
我的目标是检查标准并暂停/锁定运行测试,直到符合条件.例如,这是一些案例.
A.暂停运行测试并等待页面加载
...
let theElement = ...;
browser.waitForAngularEnabled(false);
browser.wait(protractor.ExpectedConditions.presenceOf(theElement));
Run Code Online (Sandbox Code Playgroud)
B.使用browser.wait(),与A类似的替代方式
browser.wait(() => {
browser.waitForAngularEnabled(false);
return browser.isElementPresent(by.id('the-element-id'));
}, timeout); // timeout may not be given
Run Code Online (Sandbox Code Playgroud)
所以问题是:
希望通过一些背景原理得到明确的答案.
谢谢!
我想在 Google Chrome 上运行文件下载的 e2e 测试。我提到了几篇文章,包括量角器 - Jasmine - 将文件下载到相对路径、用于下载 pdf 文件的量角器 e2e 测试用例和在量角器测试中设置 chromedriver 首选项,但它们并没有让我满意。
这是我的量角器配置的简短介绍。
...
'os': 'Windows',
'os_version': '8.1',
'browserName': 'Chrome',
'version': '55',
'chromeOptions': {
args: ['--no-sandbox', '--test-type=browser'],
prefs: {
download: {
'prompt_for_download': false,
'directory_upgrade': true,
'default_directory': '/tmp'
}
}
}
...
Run Code Online (Sandbox Code Playgroud)
这是我的测试规范。
it('file download test', () => {
let filePath = path.resolve('/tmp/' + download-filename);
// unlink(filePath);
// click on a link by invoking anchor_element.click()
// at the moment, file download …Run Code Online (Sandbox Code Playgroud)