BrowserStack + Protractor 获取测试名称以显示为会话 ID

BrowserStack + Protractor getting the name of the tests to show up as session ID

我知道您可以在量角器 3.0 之前使用 browserstack,但他们在 3.0 中添加了官方支持。我还没有尝试过,所以也许这就是我的问题的答案?目前无法升级,所以如果这是我的答案,那么我会通过适当的渠道来实现这一点。

我在使用浏览器堆栈时遇到的问题是它为所有会话随机哈希命名。所以我可能有一套测试,但我无法分辨哪个会话是哪个测试。您可以手动更改 capabilities.name 但随后所有内容都将具有该名称。

我知道当我使用 saucelabs 时,它会以测试文件的名称命名所有内容。所以例如它将是 sometest.js 。我不知道这是量角器正在做的事情,还是我们正在使用的某些节点模块正在幕后工作,我不知道?

我只是想知道如何 运行 我的套件 运行 包含我所有的 smoketests 并以套件中测试的实际名称命名每个 browserstack 会话。

这是 browserstack 上的示例。我确实手动将 capabilities.name 设置为 mytest 几个会话。

这是他们在 sauce labs

中的样子

还有我的 package.json 文件,以防这些模块中的任何一个可能使 saucelabs 在测试文件名之后命名作业

{
  "name": "protractor",
  "version": "1.0.0",
  "description": "Protractor protype",
  "main": "Gruntfile.js",
  "dependencies": {
    "grunt-sauce-tunnel": "^0.2.1",
    "jasmine-reporters": "^2.1.1",
    "lodash": "^3.2.0",
    "protractor": "2.5.1",
    "require-all": "2.0.0"
  },
  "devDependencies": {
    "chalk": "^1.1.1",
    "grunt": "^0.4.5",
    "grunt-env": "^0.4.2",
    "grunt-protractor-runner": "3.0.0",
    "grunt-sauce-connect-launcher": "^0.3.0",
    "jasmine-spec-reporter": "^2.2.3",
    "request-promise": "^1.0.2",
    "selenium-webdriver": "2.48.2",
    "xlsx-json": "^0.1.0"
  },
  "scripts": {
    "install": "node node_modules/protractor/bin/webdriver-manager update",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git:user/rwolfe/protractor"
  },
  "author": "",
  "license": "ISC"
}

所以我不知道这是否是由于升级到 Protractor 3.0 而造成的,但显然在 conf.js 我看到我们正在设置的酱料实验室

exports.config.capabilities.name = " ";

当我为 browserstack 这样做时,现在测试的名称显示如下所示。