我需要从 Protractor 运行中获取作业 ID/ session ID 到一个文件中,这样我就可以在 Saucelabs 上创建屏幕截图/视频的链接。有正确的方法吗?
我正在研究的一种方法是从 browser
对象获取 session ID,然后传递给将其写入文件的自定义报告程序:
// protractor.conf.js
onPrepare: function () {
var sessionIdP = q.defer();
browser.getSession().then(function(session) {
sessionIdP.resolve(session.getId());
});
jasmine.getEnv().addReporter(new SessionIdWriter({
sessionId: sessionIdP
});
}
应该可以,但是可以更干净地完成吗?
我知道 Saucelabs 提供了一个可以返回最新作业 ID 的 REST API,但这会导致与该帐户的其他用户发生竞争。此外,ID 在本地是已知的,因此不需要调用。
最佳答案
我认为您正在寻找的是 capabilities 中的 build: 'some build number'
和 name: 'my awesome webpage'
属性配置文件的一部分。这些参数将传递到您的 SL 帐户并显示在测试运行表中
更多信息可用https://docs.saucelabs.com/reference/test-configuration/#job-annotation
关于jasmine - 将 Protractor sessionId 获取到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26942481/