前一篇提到可以更改 session name 也可以标注 pass/fail
接着就可以将昨天提到的的设定加入到 afterEach
如此一来就可以在测项结束後,在 browserstack 上标注 pass/fail
// session.js
const setSessionStatus = async (sessionId, GUID, status) => {
const option = {
url: `https://api.browserstack.com/automate/sessions/${sessionId}.json`,
method: 'PUT',
headers: {
'Content-Type': 'application/json',
},
auth: {
user: process.env.BROWSERSTACK_USER,
password: process.env.BROWSERSTACK_PASSWORD,
},
body: `{"status": "${status}","reason":""}`,
};
request(option, function(error, response, body) {
if (!error && response.statusCode == 200) {
return body;
}
console.log('[session.js] SET Session status Fail');
console.log(error);
return error;
});
}
并加入 afterEach
// test.js
const { setSessionStatus } = require('session');
afterEach: function(browser, done) {
browser.end(() => done());
let status = `passed`;
if (browser.currentTest.results.failed > 0) {
status = `failed`;
}
const { sessionId, GUID } = sessionQueue.shift();
setSessionStatus(sessionId, GUID, status);
}
不过 browserstack 无法把 sessionId 传到 afterEach 里面
因此会需要在每条测试项中加入 sessionID
// test.js
'testing website': function(browser) {
sessionQueue.push({ sessionId: browser.sessionId });
browser.verify...
}
>>: Day24 - this&Object Prototypes Ch3 Objects - Review
今天来讲条件渲染(Conditional Rendering),也就是可以依照条件变化改变渲染元素的...
经过这三十天的每天发文 每天督促自己学习新的东西并记录下来 没想到已经坚持到最後一天了!! 虽然其实...
接续昨天的练习 1.新增一个Adjustment Layer 2.套上Optics Compensa...
本日程序码使用:d30.py 这边结合第29天的下单功能,以及第28天的制作组合单,让这个组合单的...
当然要拿来用啊 於是我想利用Room 当我储存每个平台帐号密码的资料库 并且要可以浏览每个平台 这个...