【问题标题】:Speed up clicks in Protractor加快量角器中的点击速度
【发布时间】:2017-08-24 03:39:52
【问题描述】:

我正在尝试测试按钮上的涟漪效应,但在运行测试时,单击大约需要 1 秒才能执行,然后涟漪效应已经消失。

代码:

let button =  element(by.css('#primary-button'));

button.click();
expect(element.all(by.css('#primary-button .ripple-effect')).count()).toBe(1);

我也尝试过鼠标向下/向上,但遇到了同样的问题。

这个例子大约需要 10 秒来执行:

let button =  element(by.css('#primary-button'));

for (let i = 0; i < 10; i++) {
    button.click();
}

expect(element.all(by.css('#primary-button .ripple-effect')).count()).toBe(10);

【问题讨论】:

标签: angular protractor


【解决方案1】:

我建议几个技巧:

1) 禁用此测试的隐式等待browser.manage().timeouts().implicitlyWait(0) 它们在每次搜索元素之前应用,因此可能会引入一点延迟。

2) 禁用此测试的 Angular 同步:browser.waitForAngularEnabled(false)。这也适用于每个操作之前,但在这里它可能会减慢我们的点击速度。

3) 尝试使用低级 api -

let button =  element(by.css('#primary-button'))
browser.actions().click(button).perform()

这是通过坐标工作的,所以可能会更快

4) 切换到使用browser.executeScript() 在页面上执行 javascript - 当出现涟漪效应时,您可以单击并从脚本中返回 true,然后在测试中断言返回 true。也应该很快,但那将是合成点击,不像普通用户那样点击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 2020-11-15
    • 2014-02-08
    相关资源
    最近更新 更多