我刚开始使用 Protractor 进行测试,但无法运行测试。 我的 Protractor .config.js:
exports.config = {
allScriptsTimeout: 99999,
// The address of a running selenium server.
seleniumAddress: 'http://localhost:4444/wd/hub',
// Capabilities to be passed to the webdriver instance.
capabilities: {
browserName: 'chrome'
},
baseUrl: 'http://localhost:8080/',
framework: 'jasmine',
// Spec patterns are relative to the current working directly when
// protractor is called.
specs: ['.src/test/e2e/login.e2e.spec.js'],
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
isVerbose: true,
includeStackTrace: true
}
};
这是我要运行的测试:
'use strict';
describe('my app', function() {
beforeEach(function () {
browser.get('index.html');
});
it('should automatically redirect to / when location hash is empty', function() {
expect(browser.getLocationAbsUrl()).toMatch("/");
});
});
这是我得到的错误:
I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[13:20:49] I/launcher - Running 1 instances of WebDriver
Started
No specs found
Finished in 0.001 seconds
[13:20:50] I/launcher - 0 instance(s) of WebDriver still running
[13:20:50] I/launcher - chrome #01 passed
[13:20:50] The following tasks did not complete: e2e
[13:20:50] Did you forget to signal async completion?
我正在运行 webdriver-manager 和我的应用服务器。我的 Jasmine 版本是:2.5.2 我的 Protractor 版本是: 4.0.9
知道我做错了什么吗??
谢谢!!!
最佳答案
我意识到我的问题是什么(感谢帮助我意识到的评论)。 我正在用我做的 gulp 任务运行我的测试:
function e2e() {
gulp.src(["/src/test/*.js"]).pipe(protractor({
configFile: "conf/protractor.config.js",
args: ['--baseUrl', 'http://localhost8080']
})).on('error', function (e) {
throw e;
});
}
我不知道为什么这样:gulp.src(["/src/test/*.js"])
无法访问我的测试文件,所以我将其更改为:gulp.src(["src/test/e2e/login.e2e.spec.js"])
我知道这不是最好的解决方案,但足以生存......
关于angularjs - 用 jasmine Protractor 进行端到端测试 "no specs found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40153182/