【问题标题】:How to introduce delay between tests in protractor如何在量角器中引入测试之间的延迟
【发布时间】:2019-05-14 09:58:09
【问题描述】:

我正在使用 cucumber 探索量角器工具,并且测试执行速度非常快.. 为了知道是否真的元素被点击,我正在使用 sleep() 方法但失败了。我也在使用另一种方法 wait() 与预期的条件也失败了。事实上,我理解链接元素本身的 click() 方法失败了。也就是说,无法点击我想要的元素,但是当我在控制台元素上打印正在打印它的所有属性和方法。

请在下面找到代码sn-p;

When(/^I click on "(.*?)" link$/,  (callback) => {
    console.log("Clicking... ");
    browser.wait(EC.visibilityOf(login.confirmInstructions), 5*1000, "Waiting for Confirmation link...");
    var confirmLink  = login.confirmInstructions;
    var isClickable  = EC.elementToBeClickable(confirmLink);
    browser.wait(isClickable, 10*1000, "Element clickable");
    confirmLink.click();

    browser.sleep(10*10000);
    login.confirmInstructions.click();
    //browser.wait(validateText(element(by.binding('myvar'))), 5000, "");
    //browser.wait(EC.presenceOf(confirmation.confirmScreen), 60*1000);
    console.log("waited");
    return callback;
});

我在这里缺少什么。?

【问题讨论】:

  • 您点击的元素可能不是真正需要点击的元素。我偶尔会遇到单击父元素不起作用的问题,但是如果我单击更具体的子元素,则单击将注册。可能是这样的?
  • 另外,与其使用睡眠来验证点击是否发生,不如期望() 一个只有在点击发生时才会发生的操作,例如文本更改或警报。跨度>
  • 尝试使用 browser.driver.sleep() 代替 browser.sleep()
  • @DublinDev:我试过但失败了:(

标签: javascript node.js angular protractor cucumber


【解决方案1】:

我不确定我是否理解这个问题,但如果你只是想看看你的“confirmInstructions”是否被点击,你应该使用调试器并在方法之前设置一个断点

【讨论】:

  • "使用调试器",意思是 console.log().?是的,元素正在识别,但点击没有发生..因为我在点击之前和点击之后看到日志语句正在打印。并且元素也在控制台上打印(打印以确保它不是未定义的)
  • 在 js 中,只需在代码中编写调试器:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • 控制台上没有打印@Pierre。顺便说一句,这是打字稿
  • console.log() 用于打印,调试器只会停止代码。在调试器之后你可以逐行进行
  • 我引入了调试器并运行了测试,但是代码并没有停止,测试一直运行到最后.. :(
【解决方案2】:

我明白了,在量角器中等待 web 元素的最好方法是使用 wait() 而不是 sleep。但是,我正在寻找任何一种方式(通过使用等待/睡眠)来减慢测试执行速度,因为它在实现测试场景以识别 Web 元素时很有用。最后,我现在正在使用以下方法..但如果有更好的处理方法,请把你的cmets..

const sleep = (milliseconds) => {
    return new Promise(resolve => setTimeout(resolve, milliseconds));
}

并从我的函数中调用 sleep 为:await sleep(2000);

现在,我可以继续编写测试了。我也确信量角器 API 中有更好的方法,但尚未找到它的实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    相关资源
    最近更新 更多