angularjs - ( Protractor e2e)出现错误 "A Jasmine Spec timed out: Resetting WebDriver Control Flow"

标签 angularjs selenium jasmine protractor

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

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

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

A Jasmine spec timed out. Resetting the WebDriver Control Flow. The last active task was: unknown



我的 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 解决了问题

非常感谢大家的帮助:)

最佳答案

refer to框架:' Jasmine 2',

这到您的 Protractor 配置
我已经有同样的问题好几天了!让我知道它是否有帮助!

关于angularjs - ( Protractor e2e)出现错误 "A Jasmine Spec timed out: Resetting WebDriver Control Flow",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24827303/

相关文章:

javascript - 有没有办法在 Angular 运行之前运行 Javascript 代码?

javascript - Angularjs 表达式中的数组

java - 如何将特定格式的字符串转换为 double

java - 如何在 Selenium 中映射 XPath?

java.lang.IllegalStateException : The driver executable does not exist:/var/lib/jenkins/jobs/Ancon-Automation/workspace\src\main\. ..\chromedriver.exe

javascript - 为什么我的异步 Jasmine Meteor 测试超时?

javascript - 如何使用 Javascript 在 chrome 中禁用保存密码气泡?

javascript - 未聚焦时 Angular Material 输入不显示值

javascript - 当从 Jasmine 中的 init 方法调用时,_foo 不是一个函数

error-handling - 哪一行导致此 Protractor 错误?