Как мы можем выполнить файл функций WebUI для нескольких браузеров, используя параллельный запуск или распределенное тестирование? - PullRequest
1 голос
/ 25 февраля 2020

Я могу выполнить файл функций WebUI для одного браузера (Zalenium), используя параллельный раннер и определенный драйвер в karate-config. js. Как мы можем выполнить файл функций WebUI для нескольких браузеров (Zalenium), используя параллельный запуск или распределенное тестирование?

1 Ответ

2 голосов
/ 25 февраля 2020

Используйте Scenario Outline и параллельный бегун . Каратэ будет выполнять каждую строку таблицы Examples параллельно. Но вам нужно будет перенести конфигурацию драйвера в Feature.

. Просто добавьте параллельный раннер в этот пример проекта и попробуйте: https://github.com/intuit/karate/tree/master/examples/ui-test

Scenario Outline: <type>
  * def webUrlBase = karate.properties['web.url.base']
  * configure driver = { type: '#(type)', showDriverLog: true }

  * driver webUrlBase + '/page-01'
  * match text('#placeholder') == 'Before'
  * click('{}Click Me')
  * match text('#placeholder') == 'After'

Examples:
  | type         |
  | chrome       |
  | geckodriver  |

Есть и другие способы, с которыми вы можете поэкспериментировать, вот другой шаблон, когда у вас есть обычный Scenario в main.feature - который вы затем можете вызвать позже из Scenario Outline из отдельной «специальной» функции - которая используется только когда вы хотите выполнить параллельное выполнение тестов пользовательского интерфейса.

Scenario Outline: <config>
  * configure driver = config
  * call read('main.feature')

Examples:
  | config!                  |
  | { type: 'chromedriver' } | 
  | { type: 'geckodriver' }  | 
  | { type: 'safaridriver' } |
...