【问题标题】:(Protractor e2e) Getting error "A Jasmine Spec timed out: Resetting WebDriver Control Flow"(量角器 e2e)出现错误“茉莉花规格超时:重置 WebDriver 控制流”
【发布时间】:2014-09-09 17:27:33
【问题描述】:

希望有人可以帮助我解决这个问题,因为我已经搜索了好几天没有成功

我目前正在尝试使用 Protractor 对 AngularJS 应用程序进行 e2e 测试

我已经设置了量角器并运行了一个测试,但是当我有多个测试/规范时,第一个测试会运行,然后在命令行上出现以下错误:

Jasmine 规范超时。重置 WebDriver 控制流。 最后一个活动任务是:未知

我的config.js如下:

// conf.js
exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js','fileupload.js'],
  allScriptsTimeout: 20000,

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 100000,
    isVerbose: true
  }
};

这是我的两个 Jasmine 测试

// 规范.js

describe('Site login', function () {
    it('should login', function () {
        browser.driver.get('http://mysite.co.uk');
        browser.driver.findElement(by.name('UserName')).sendKeys('user');
        browser.driver.findElement(by.name('Password')).sendKeys('xpassword');
        browser.driver.findElement(by.id('logIn')).click();

        expect(browser.driver.findElement(by.id('topUsername')).getText()).toContain('user');

        browser.close();
    });
});

// 文件上传规范

describe('File Upload', function() {
    it('should upload a file', function () {
        browser.driver.get('http://mysite.co.uk');
        browser.driver.findElement(by.name('UserName')).sendKeys('user');
        browser.driver.findElement(by.name('Password')).sendKeys('xpassword');
        browser.driver.findElement(by.id('logIn')).click();

        browser.driver.findElement(by.id('upload')).click(); 
        browser.driver.findElement(by.name('FileToUpload')).sendKeys("C:\\myfile.csv"); 
        browser.driver.findElement(by.xpath('html/body/div[1]/div[7]/div[2]/div/button[2]/span')).click(); 
        console.log('file has been uploaded');
        });
    });

任何帮助将不胜感激

P.S 抱歉,如果我的格式有任何错误,第一次发帖:)

编辑:通过 npm update 更新到 Protractor v1.0.0 解决了问题

非常感谢大家的帮助:)

【问题讨论】:

  • 尝试禁用这一行 browser.close();您关闭了测试浏览器,然后下一个测试没有任何浏览器可以运行。
  • 嗨@NguyenVuHoang 非常感谢您的回复,我已经取出 browser.closes() 并且仍然看到同样的问题:(
  • 三个文件 conf.js、fileupload.js 和 spec.js 放在同一个位置?我刚刚尝试重新运行您的脚本在 1.799 秒内完成 2 个测试、0 个断言、0 个失败
  • 是的,它们在同一个位置。嗯,你能运行它们真的很奇怪,而我不能,你是否收到有关 Jasmine 规范超时的 Jasmine 错误消息?
  • 不 :( 但是,我删除了您脚本内容中的所有内容,因为我无法访问“mysite.co.uk”。

标签: angularjs selenium jasmine protractor


【解决方案1】:

refer to 框架:'jasmine2',

这个到你的量角器配置 这几天我一直有同样的问题!让我知道它是否有帮助!

【讨论】:

  • 嘿,感谢您的建议,我们已经转移到没有 Jasmine 报告器的基于 java 的框架,但是我敢打赌,只要量角器更新到最新版本,这将解决问题
【解决方案2】:

您可以将此代码添加到配置文件 conf.js 或 otherName.js

    // Options to be passed to Jasmine-node
JasmineNodeOpts: {
    onComplete: null,
    // if true, print colors to the terminal
    showColors: true,
    // if true display spec Name
    isVerbose: false,
    silent: true,
    // if true, include stack traces in failures
    includeStackTrace: true,
    // default time to wait in ms before a test fails
    defaultTimeoutInterval: 30000,
    print: function() {}
},

【讨论】:

  • defaultTimeoutInterval: 30000,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 2018-08-17
相关资源
最近更新 更多