自动化测试用例,其中需要填写包含5个日期选择器和30个字段的表单。填写表单后,需要调用一个jar,该jar将从数据库中提取已填充的数据并对其进行独立处理。
注意:jar不会将任何值返回给脚本,但是希望jar会在1分钟后更新UI上的进程状态。
已经尝试过在beforeEach()块中等待,但是由于它在每个步骤之前引入了等待,这导致整个脚本不必要的延迟。 在该论坛的主题中,人们建议使用Jasmine 2的完成功能。但是我不知道如何使用它。
示例代码:
describe("Test functionality of xyz", ()=>{
// few it block
it();
it();
//login to the UI
it("Login to application", ()=>{
utility.signIn(inputTestdata.Common.LoginPage.Username, inputTestdata.Common.LoginPage.Password);
});
// filling the form
it("Fill the form", ()=>{
utility.fill_form(dataSet);
}); // wanted to make protractor should wait for specifically 1 min before executing the next it block
it("Process the data", ()=>{
utility.runSimulator();
}); //wanted to wait here to for 2 min
it("Verify the result", ()=>{
//verifying the result
});
//some more it blocks
});
预期:处理完填充表格块后,才应执行调用该块的jar。然后等待指定的时间,然后再执行验证结果步骤。
但是实际上,量角器调用填充它块的表单,并立即调用它填充的jar。
答案 0 :(得分:0)
正如您提到的,不想在每个“ it”之后等待,您将不得不在“ it”块内等待。
另一种方法是仅对要等待的测试用例进行嵌套描述。并在afterEach
方法中添加等待
答案 1 :(得分:0)
您可以使用“ browser.sleep(时间以毫秒为单位)”来保持程序的执行。
describe("Test functionality of xyz", ()=>{
// few it block
it();
it();
//login to the UI
it("Login to application", ()=>{
utility.signIn(inputTestdata.Common.LoginPage.Username,
inputTestdata.Common.LoginPage.Password);
});
// filling the form
it("Fill the form", ()=>{
utility.fill_form(dataSet);
browser.sleep(2000);// here you can specify how long you want to wait at this
stage.
}); // wanted to make protractor should wait for specifically 1 min before executing
the next it block
it("Process the data", ()=>{
utility.runSimulator();
browser.sleep(2000); // here you can specify how long you want to wait at this
stage.
}); //wanted to wait here to for 2 min
it("Verify the result", ()=>{
//verifying the result
});
//some more it blocks
});