Как пропустить тесты транспортир + жасмин, специфичные для браузеров - PullRequest
0 голосов
/ 27 июня 2018

Предположим, что я автоматизировал 25 тестов и выполняю их в нескольких браузерах, таких как Chrome, Firefox, IE, Edge & Safari. Все тесты (25) хорошо выполняются на Chrome. В Firefox, только 20 тестов работают нормально из-за того, что некоторые API-интерфейсы транспортировщиков не поддерживаются. Аналогичным образом IE может выполнить только 23 теста.

Я хотел бы пропустить тест только для браузеров, которые не поддерживаются для конкретного теста? Есть ли доступный способ?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

С помощью jasmine2 вы можете фильтровать тесты, используя регулярные выражения. Может быть, вы можете добавить что-то вроде @chrome, @ie в свои тесты, а затем запускать только те, передав флаг grep:

it('should do stuff @ie @chrome', function() {
  ...
});

Затем запустите транспортир, передав флаг grep:

protractor conf.js --grep='@ie'
0 голосов
/ 27 июня 2018

Вы можете создать protracotr.conf файл для каждого браузера с указанием suites, где будет указано, какие тесты должны выполняться. И выполнить за один раз все protractor.conf файлы.

//protractor.chrome.conf
export let config: Config = {
...
  capabilities: {
    browserName: 'chrome',
    shardTestFiles: true,
    maxInstances: 1
  },

  SELENIUM_PROMISE_MANAGER: false,
  specs: [
    '../test/chrome/**/*.js'
  ]
};

и

//protractor.ie.conf
export let config: Config = {
...
  capabilities: {
    browserName: 'internet explorer',
    shardTestFiles: true,
    maxInstances: 1
  },

  SELENIUM_PROMISE_MANAGER: false,
  specs: [
    '../test/ie/**/*.js'
  ]
};

в вашем package.json:

{
...
  "scripts": {
    "test:all": "npm run test:chrome && test:ie",
    "test:chrome": "protractor ./config/protractor.chrome.conf.js",
    "test:ie": "protractor ./config/protractor.ie.conf.js",
     ...
  },
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...