量角器和Saucelabs发送testname

时间:2014-11-06 09:39:50

标签: protractor saucelabs browser-testing

我成功地在SauceLabs上运行了我的Protractor测试,虽然我希望能够将我的测试名称发送到服务,例如我的所有测试都按浏览器名称分组。

有没有办法可以将测试名称传递给SauceLabs?

4 个答案:

答案 0 :(得分:1)

我使用Selenium for Python完成了这项工作。但是,我了解使用Protractor,您可以编辑conf.js文件,以便capabilities选项包含一个name字段,其中包含测试名称。我还建议使用build字段来了解您正在使用的代码的构建版本:

capabilities: {
    name: 'whatever name',
    build: 'whatever build',
    // Anything else you need
}

namebuild字段是跨平台的。

答案 1 :(得分:0)

如果在测试期间,您拥有SauceLabs sessionId,那么就像向the REST API发送JSON数据包一样简单。

curl https://saucelabs.com/rest/v1/users/USERNAME -u YOUR_USERNAME:ACCESS_KEY

您可以通过启动手动SauceLabs会话,从中获取会话ID,然后在浏览器JSON REST客户端(例如“Postma n”)中手动发送API请求来测试。

答案 2 :(得分:0)

您可能只需添加以下内容:

var testName = 'Testing'; //Change Project's name here in order to be identified in BrowserStack




// An example configuration file.
exports.config = {
    // The address of a running selenium server.
    seleniumAddress: 'http://xxxxx:xxxxx@ondemand.saucelabs.com:80/wd/hub',
    //seleniumAddress: 'http://hub.browserstack.com/wd/hub',
    //seleniumAddress: 'http://127.0.0.1:4723/wd/hub',//Local Appium
    // Capabilities to be passed to the webdriver instance.
    multiCapabilities: [
        {
            name: testName,
            platformName: 'iOS',
            platformVersion: '7.1',
            browserName: '',
            app: 'safari',
            deviceName: 'iPhone Simulator',
            'appium-version': "1.4.0",
            username: 'xxxxxx',
            accessKey: 'xxxxx'

        }
        ,
        {
            name: testName,
            platformName: 'Android',
            platformVersion: '4.4',
            browserName: 'Browser',
            deviceName: 'Android Emulator',
            'appium-version': "1.4.0",
            username: 'xxxxx',
            accessKey: 'xxxxx'
        }


        ],

答案 3 :(得分:-1)

你可以运行这个小脚本:

browser.executeScript("sauce:job-name=" + name )

如果您想在测试开始期间或之前动态设置名称,这通常很有用。