我使用webdriver.io npm包中的 var headers = {
'Authorization': 'Bearer ' + 'token',
'Accept': 'application/json'
};
function myCallbackFunction(data){
$('body').text(data.response);
}
$.ajax({
type: "GET",
headers : headers,
url: "https://site/api/etc",
dataType: "jsonp",
success: function(data){console.log(data);},
jsonp: false,
jsonpCallback : "myCallbackFunction",
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
工具来运行Mocha测试用例。
以下是wdio
的一部分:
wdio.conf.js
test.js: 应该发送自定义数据
var htmlReporter = require('./js/reporter/htmlReporter');
htmlReporter.reporterName = 'htmlReporter';
exports.config = {
specs: [
'./test.js'
],
reporters: [htmlReporter],
...
}
});
htmlReporter.js: 应该收到自定义数据
describe('Test suite', function() {
// is it possible to send some data to the current test-suite?
// this.customData ?
it('Test case', function() {
// is it possible to send some data to the current test-case?
// this.customData ?
});
});
答案 0 :(得分:1)
面对同样的问题,将自定义消息发送到失败的测试。在测试错误对象中添加了消息并重新抛出错误
describe('Test suite', function() {
it('Test case', function() {
try {
//test failed due to error!
} catch(err) {
err.message.myCustomMessage = "Test failed due to XXX".
throw err;
} finally {
}
});
});
然后在自定义记者
中this.on('test:fail', function(test) {
var myCustomMessage = test.err.message.myCustomMessage;
});
不确定是否有任何其他官方/标准方式,但这是服务的目的。
感谢。