希望有人可以帮我解决这个问题,因为我一直在寻找没有成功的日子
我目前正在尝试使用Protractor进行AngularJS应用程序的e2e测试
我已经安装了Protractor并运行了测试,但是当我有多个测试/规范时,第一个测试会运行,然后在命令行中出现以下错误:
茉莉花规格超时。重置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测试
// spec.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解决了问题
非常感谢大家的帮助:)。
答案 0 :(得分:1)
refer to框架:' jasmine2',
这是你的量角器配置 我好几天都有同样的问题! lemme知道它是否有帮助!
答案 1 :(得分:1)
您可以将此代码添加到配置文件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() {}
},