jasmine - 将 Protractor sessionId 获取到文件中

标签 jasmine protractor saucelabs

我需要从 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/

相关文章:

javascript - ReferenceError : function is not defined. 在 Jasmine 单元测试中

javascript - Angular2+ e2e 测试 - 无法使用 by.id

javascript - 无法使用 Protractor 在搜索中选择特定结果 - AngularJS

angularjs - 如何使用带有 SauceLabs 的 Protractor 设置无限测试?

node.js - 使用 Protractor/saucelabs 禁用 [启动器] 输出

angularjs - 使用 Protractor + Appium + SauceLabs

javascript - 混合客户端/服务器端测试

javascript - 无法在 Controller 中测试 .success 函数

javascript - 测试 AngularJs + Jasmine 时无法获取指令中的元素

angularjs - 如何仅为单元测试激活 debugInfoEnabled?