如果响应时间过长,请将Protractor配置为忽略资源

时间:2016-06-28 02:14:28

标签: angularjs unit-testing protractor

我正在使用量角器来自动化网站上的一些测试。 在角度和所有其他脚本和css加载后,有一个引用的第三方资源,加载时间太长。当量角器等待该资源完成加载时,单元测试由于超时而失败。 有几种方法可以在几秒钟后跳过加载资源并继续执行任务。 (PS:增加超时限制不是我的解决方案)

it('abc', function() { //This is fine browser.driver.get('http://loginurl.com'); browser.driver.findElement(by.name('username')).sendKeys('username'); browser.driver.findElement(by.name('password')).sendKeys('password'); browser.driver.findElement(by.name('loginsubmit')).click(); browser.sleep(3000); //This has problems browser.driver.get('http://contenturl.com'); browser.sleep(1000); browser.executeScript("window.stop();"); browser.driver.findElement(by.id('post_reply')).click(); browser.sleep(1000); browser.driver.findElement(by.id('postmessage')).sendKeys('aaabbbcc'); browser.driver.findElement(by.id('postsubmit')).click(); browser.pause(); //browser.get('http://url.com'); //element(by.id("post_replytmp")).click(); });

1 个答案:

答案 0 :(得分:0)

您可以在页面加载超时时执行window.stop()

browser.get("url", 10000).then(function () {}, function () {
    browser.executeScript("window.stop();");
});

(未经测试)。