我对此进行了大量研究(browserstack docs,this older example和npm docs仅举几例),但我的代码仍然无法正常工作。我也接触过浏览器堆栈,因此我正在等待他们的帮助。首先,我设置会话ID:
module.exports.command = function (browser, done) {
browser.session(function (session) {
browser.browserStackSessionId = session.sessionId;
console.log("browser.bsSessionID: "+ browser.browserStackSessionId);
done();
});
然后,我发出请求:
var request = require("request");
console.log("making request");
request({
uri: `https://${BROWSERSTACK_USERNAME}:${BROWSERSTACK_ACCESS_KEY}@api.browserstack.com/automate/sessions/${browser.browserStackSessionId}.json`,
method:"PUT",
form:{"status":"failed","reason": JSON.stringify(browser.currentTest.results.failure)}},
function (error, response, body) {
console.log("Error " + error);
console.log("Response " + JSON.stringify(response.statusCode));
})
代码运行时,控制台日志显示在终端中。会话ID是我期望的。我一开始设置的身份不正确,所以我收到了错误响应,告诉我代码正在运行,但是我没有在浏览器堆栈仪表板中看到更新,因此也许数据没有发送。
答案 0 :(得分:0)
我看到您想将测试会话标记为失败。您能否尝试执行示例NodeJS脚本:
var request = require("request");
request({uri: "https://your_browserstack_username:your_browserstack_access_key@api.browserstack.com/automate/sessions/<session-id>.json", method:"PUT", form:{"status":"passed","reason":""}})
链接中提供了相同的详细信息:https://www.browserstack.com/automate/node#rest-api