Транспортир и Saucelabs отправить тестовое имя
У меня успешно работают мои тесты Protractor на SauceLabs, хотя я хотел бы иметь возможность отправлять названия своих тестов в сервис, например, все мои тесты группируются по имени браузера.
Есть ли способ передать имена тестов в SauceLabs?
4 ответа
Я сделал это с помощью Selenium для Python. Тем не менее, я понимаю, что с помощью Protractor вы бы отредактировали conf.js
файл так, чтобы capabilities
вариант будет содержать name
поле с названием вашего теста. Я также предлагаю использовать build
поле, чтобы узнать, какую сборку вашего кода вы используете:
capabilities: {
name: 'whatever name',
build: 'whatever build',
// Anything else you need
}
name
а также build
поля кроссплатформенные.
Возможно, вам придется добавить что-то вроде этого:
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'
}
],
Если во время теста у вас есть SessionLabs sessionId, то это так же просто, как отправить JSON-пакет в REST API.
curl https://saucelabs.com/rest/v1/users/USERNAME -u YOUR_USERNAME:ACCESS_KEY
Вероятно, вы можете проверить это, запустив сеанс SauceLabs вручную, получив из него идентификатор сеанса, а затем вручную отправив запрос API в клиент JSON REST браузера, такой как ' Postma n'.
Вы можете запустить этот маленький скрипт:
browser.executeScript("sauce:job-name=" + name )
Обычно это полезно, если вы хотите динамически установить имя во время или непосредственно перед началом тестов.