現在、Chrome(ドライバ)のみでテスト中です。私はFirefoxとSafariでもテストしたい。相次いで、それは並行することはできません。複数のブラウザでテストを実行する(順次)
は、ここでのテストを開始するには、私の一気のタスクです:
gulp.task('test', function() {
return gulp.src('*test/features/*').pipe(cucumber({
'steps': '*test/features/steps/*.js'
}));
});
シンプル機能ファイル:
Feature: UI
Testing UI
Scenario: Check the title of the page
When I open the homepage
Then I should see "Test - IntApp" in the title
そしてステップファイル:
const chrome = require('selenium-webdriver/chrome');
const webdriver = require('selenium-webdriver');
const assert = require('assert');
module.exports = function() {
let options = new chrome.Options();
options.addArguments('start-maximized');
var driver = new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();
this.When('I open the homepage', function (done) {
driver.get('http://intapp.dev/').then(done);
});
this.Then('I should see "Test - IntApp" in the title', function (done) {
driver.getTitle().then(function(title) {
assert.equal(title, "Test - IntApp");
}).then(done);
});
this.registerHandler('AfterFeatures', function (features) {
return driver.quit();
});
};
私がいました多分私は思うかもしれないと思っているどこかでgulpタスクのパラメータとしてブラウザの名前が表示されますが、これは可能ではないようです。
、それを並列にすることはできません*非常に珍しい要件です。好奇心から、なぜ? –
@AlexBlexサーバーはいくつかのカスタムハードウェアを制御するので、外部ハードウェアの状態が各テストで期待どおりになるように、テストは順番に実行する必要があります。 – Cornwell