【问题标题】:Browserstack protractor ignores expectBrowserstack量角器忽略期望
【发布时间】:2018-04-03 13:02:42
【问题描述】:

我正在使用 Mocha 和 Chai。 我的 e2e 在浏览器堆栈上运行并很好地记录(视频和所有)但是当我知道某些规范失败时,浏览器堆栈总是将会话标记为已完成并且没有错误。

我已经尝试过这里的示例:https://github.com/browserstack/protractor-browserstack 和相同的结果(即使出现错误,测试也会标记为已完成)。

我已尝试使用“driverProviders/browserStack”中的“updateJob”...

这是我的测试:

describe('bbbb', () => {
  it('aaa', () => {
    expect(true).to.equal(false);
  });
});

【问题讨论】:

    标签: javascript protractor chai e2e-testing browserstack


    【解决方案1】:

    您可以创建一个在每次测试后执行的通用挂钩。将您的断言/预期结果、驱动程序实例的会话 ID 传递给钩子并进行以下 API 调用:

    var request = require("request");
    request({uri: "https://USERNAME:ACCESS_KEY@api.browserstack.com/automate/sessions/<session-id>.json", method:"PUT", form:{"status":"failed","reason":"<reason for failure>"}})
    

    这将确保在浏览器堆栈上标记您的测试失败以及您希望通过的任何其他原因文本

    您可以使用以下代码 sn-p 获取会话 ID:

    protractor.browser.driver.getSession().then((session) => {
      console.log(session);
    });
    

    【讨论】:

    • 在测试期间我如何知道我的会话 ID 是什么?
    • 这行得通,但我不想自己报告这些问题。我希望它对失败的期望做出反应
    • 我查看了量角器存储库...似乎有一个标记测试失败的内置方法:github.com/angular/protractor/blob/…,您只需要确保您的配置文件使用此处提到的用户名和密钥功能: github.com/angular/protractor/blob/…
    • 已经试过了。在功能之外设置用户名和密钥时,它会报告失败的规范,但仅在浏览器堆栈提供的“单一”模式示例中。它在本地不起作用。
    【解决方案2】:

    正如@BountyHunter 所建议的,我已经使用 api 来标记测试。 这是代码的笑话(可能是一些语法错误)

    afterEach(function() {
      if (this.currentTest.state === 'failed') {
        //collect error data into array
        //this.currentTest.title, this.currentTest['err']
      }
    });
    
    after(function () {
      //after all is done if errors array is not empty, report to browserstack 
      protractor.browser.driver.getSession().then((session) => {
        var request = require("request");
        request({uri: "https://USERNAME:ACCESS_KEY@api.browserstack.com/automate/sessions/"+session['id_']+".json", method:"PUT", form:{"status":"failed","reason":errorsArrayStringified }})
      });
    
    })
    

    完整的回购:https://github.com/zeevgl/protractor-browserstack

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 2016-11-18
      • 2016-09-05
      相关资源
      最近更新 更多