首次尝试使用Protractor。我希望能够连续运行多个套件。 我有一个应用程序是一个具有不同场景的大角度形式。 我期望每个场景的结果,并希望输入一个命令并运行每个测试。 我以为我可以用逗号分隔,如:
protractor config.js --suite=rf1_breast, rf1_ovarian, rf1_pancreatic
但我收到错误:
错误:指定了多个配置文件
这很奇怪,因为我在运行量角器的目录中只有一个配置文件。
这是我的 config.js :
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: { 'browserName': 'chrome' },
framework: 'jasmine2',
suites: {
rf1_breast: './rf1-ashkenazi-hboc/Breast/specs/*_spec.js',
rf1_ovarian: './rf1-ashkenazi-hboc/Ovarian/specs/*_spec.js',
rf1_bladder_fail: './rf1-ashkenazi-hboc/Bladder-expected-fail/specs/*_spec.js',
rf1_pancreatic: './rf1-ashkenazi-hboc/Pancreatic/specs/*_spec.js',
rf1_prostate: './rf1-ashkenazi-hboc/Prostate/specs/*_spec.js'
},
onPrepare: function() {
/* global angular: false, browser: false, jasmine: false */
browser.manage().window().setSize(1600, 1600);
// Disable animations so e2e tests run more quickly
var disableNgAnimate = function() {
angular.module('disableNgAnimate', []).run(['$animate', function($animate) {
$animate.enabled(false);
}]);
};
browser.addMockModule('disableNgAnimate', disableNgAnimate);
},
jasmineNodeOpts: { showColors: true }
};
有没有更好的方法来运行每个场景?
答案 0 :(得分:17)
不要在逗号后加空格:
protractor config.js --suite rf1_breast,rf1_ovarian,rf1_pancreatic
答案 1 :(得分:0)
尝试使您的套件由多个文件组成。我有一条线用于我目前正在进行的测试,另一条线用于整个测试套件:
exports.config = {
allScriptsTimeout: 11000,
//specs: ['./e2e/**/*.Page1.ts'],
specs: ['./e2e/**/1.Landing.Page.ts','./e2e/**/2.Confirmation.Page.ts','./e2e/**/3.PersonalData.Page.ts','./e2e/**/4.sms.Page.ts','./e2e/**/5.idCard.Page.ts'],
这对我有用。
答案 2 :(得分:0)
在您的config.js中
如果您要以套件形式运行脚本,请在规范行中注释掉
// specs: ['src/com/sam/scriptjs/alertexamplespec.js']
提供套件名称和位置
suites: {
//Suite name and location give * to run all the specs or provide the name
smoke: ['./smoke/*.spec.js'],
endtoend: ['src/com/sam/scriptjs/*.spec.js'],
//Futhermore you can select few test specs
testfew: ['./smoke/editorder.spec.js','./smoke/cancelorder.spec.js']
},
然后在cmd中输入量角器filenameconfig.js