我试图在黄瓜步骤定义中使用pageObject方法,这在茉莉花测试中是可行的。 应用程序在Angular-5上,因此可以使用量角器控制流程。
问题是当功能运行时,浏览器立即打开和关闭。 网址未打开,测试用例状态已通过。
E.g。功能:
Scenario
Testing of records view
Given Opening Admin Page
When Data Entered
Then Results were displayed
步骤定义:
@binding()
class CreateRecordDefinitions {
private baseTestCase;
private mainPage;
private adminPage;
@before()
public beforeAllScenarios(): void {
this.baseTestCase = new BaseTest();
this.mainPage = this.baseTestCase.login();
}
@given(/^Opening Admin Page$/)
public GivenAdminMain() {
this.adminPage = this.mainPage.clickOn("Admin");
}
@when(/^Data Entered$/)
public DataEntered(): void {
this.adminPage.submit();
}
@then(/^Results were displayed$/)
public ResultsDisplayed() {
return expect(this.adminPage.resultsDisplayed).to.eventually.equal(true);
}
}
export = CreateRecordDefinitions;
因此,在login()方法中,浏览器应该使用一些URL和用户授权打开。之后,所有操作都应根据功能完成。 但实际上,浏览器立即打开/关闭,没有做任何事情,测试已经"通过"状态。
如果尝试调用" login()"同样的问题在"鉴定"地点。 但如果打电话"登录()"来自"当"。
此页面对象的代码在Jasmine的类似测试中正常工作。 此外,如果我使用debug启动代码,则执行所有步骤,但不打开浏览器URL。
版本是:
"cucumber": "^3.2.1",
"cucumber-tsflow": "^2.2.0",
"protractor": "^5.3.1",
"protractor-cucumber-framework": "^4.2.0",
任何帮助都会很棒! 提前谢谢。