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