【发布时间】:2016-02-16 10:02:09
【问题描述】:
我试图了解 The WebDriver Control Flow 的确切工作原理。
根据链接文档 (https://github.com/angular/protractor/blob/master/docs/control-flow.md),jasmine 中不需要回调方法/调用:
Protractor 适配 Jasmine,以便每个规范自动等待,直到控制流为空才退出。
但是,我必须用黄瓜。我正在使用库protractor-cucumber-framework,如下所述:https://github.com/angular/protractor/blob/master/docs/frameworks.md#using-cucumber
它运行良好,但由于某种原因,当我跳过回调变量时,它会比我尝试使用它时运行得更好。例如,此代码失败:
this.Given(/^the login page is active$/, function (callback) {
browser.get('/').then(callback);
});
出现错误...
TypeError: text.split 不是函数
[启动器] 进程退出,错误代码为 1
另一方面,这段代码可以按我的意愿工作,黄瓜/量角器似乎要等到页面加载完毕,然后再执行其他功能:
me.Given(/^the login page is active$/, function () {
browser.get('/');
});
但我找不到任何文档确认我真的可以省略回调函数。
目前我尝试测试的页面不使用 Angular,因此我的配置文件中有以下代码:
onPrepare: function() {
browser.ignoreSynchronization = true;
}
【问题讨论】:
标签: javascript cucumber protractor