3
module.exports = function JsonOutputHook() {
var Cucumber = require('cucumber');
var JsonFormatter = Cucumber.Listener.JsonFormatter();
var fs = require('fs');
JsonFormatter.log = function (json) {
fs.writeFile('../reports/cucumberReport.json', json, function (err) {
if (err) throw err;
console.log('json file location: ../reports/cucumberReport.json');
});
};
this.registerListener(JsonFormatter);
};
IM黃瓜test.json但黃瓜步驟更新不及時的傳球失敗狀態如何使用此代碼生成JSON得到量角器[3.0.0]和黃瓜最新版本
雖然測試用例得到失敗它顯示結果爲通過
和json也沒有得到更新,雖然我添加一個鉤子後執行。
請幫我,所以我可以用量角器運行黃瓜js得到json。
我要生成正確的報告 這是我的方案
方案:登錄成功與有效帳戶
鑑於我去「http://store.demoqa.com/products-page/your-account/」 當我輸入用戶名和密碼 後來我看到「 Logut)」鏈接
Stepdefination文件
'use strict';
var myStepDefinitionsWrapper = function() {
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
this.Given(/^I go on "([^"]*)"$/,{timeout: 60 * 1000},function (arg1) {
browser.driver.get(arg1);
browser.manage().timeouts().pageLoadTimeout(10000);
});
this.When(/^I input user and password$/,{timeout: 60 * 1000}, function (callback) {
console.log("000000000000");
browser.sleep(5000);
browser.wait(function() {
var login = by.id('log');
return browser.driver.isElementPresent(login);
}, 30000);
browser.driver.findElement(by.id('log')).sendKeys("pratand");
browser.driver.findElement(by.id('pwd')).sendKeys("[email protected]");
browser.driver.findElement(by.id('login')).click();
callback();
});
this.Then(/^I should see "([^"]*)" link$/,{timeout: 60 * 1000},function (arg1,callback) {
var logoutpath = by.xpath('//div[@id="account_logout"]/a');
browser.wait(function() {
return browser.driver.isElementPresent(logoutpath);
}, 30000);
expect(browser.driver.findElement(logoutpath).getText()).to.eventually.equal(arg1).and.notify(callback());
// expect(true).toEqual(true);
browser.driver.isElementPresent(logoutpath).then(function(isPresent){
browser.driver.findElement(logoutpath).then(function(start){
start.click();
});
});
});
};
module.exports = myStepDefinitionsWrapper;