如何使脚本在给定量角器中执行下一个代码块之前等待给定的时间跨度

时间:2019-07-08 09:04:27

标签: typescript jasmine protractor

自动化测试用例,其中需要填写包含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。

2 个答案:

答案 0 :(得分:0)

正如您提到的,不想在每个“ it”之后等待,您将不得不在“ it”块内等待。

您可以使用sleepwait ,具体取决于您的情况

另一种方法是仅对要等待的测试用例进行嵌套描述。并在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 
});