Выполнение параллельных тестов в среде на основе ключевых слов Selenium

В среде, управляемой данными, мы используем Selenium вместе с TestNG для параллельного запуска нескольких тестов. Как это может быть реализовано в структуре на основе ключевых слов?

В подходе, основанном на данных, мы можем определить каждый тестовый случай как отдельный метод и, следовательно, мы можем командовать TestNG посредством аннотаций, какие методы запускать и сколько запускать параллельно.

В подходе, основанном на ключевых словах, каждый контрольный пример представляет собой отдельный лист Excel, а несколько листов Excel в одной книге составляют набор тестов. Как эти таблицы Excel / контрольные примеры можно аннотировать / ссылать так, чтобы они выполнялись параллельно, аналогично структуре выполнения и процессу в управляемой данными структуре?

Одним из неудачных решений, о котором я думал, был гибридный подход, в котором создавались методы, которые вызывали бы лист Excel.

Например:

@Test
public void TestCase_001() {
       // Read the keyword driven test case
       // XLS_WorkbookName - The Excel Workbook or Test Suite containing multiple Test Cases
       // XLS_SheetName - The Excel Sheet containing set of rows each of which contains ID of element, Operation to be performed and data to be used
       ReadAndExecuteTestCase(XLS_WorkbookName_XYZ, XLS_SheetName_ABC);
}

@Test
public void TestCase_002() {
       // Read the keyword driven test case
       // XLS_WorkbookName - The Excel Workbook or Test Suite containing multiple Test Cases
       // XLS_SheetName - The Excel Sheet containing set of rows each of which contains ID of element, Operation to be performed and data to be used
       ReadAndExecuteTestCase(XLS_WorkbookName_ABC, XLS_SheetName_XYZ);
}

Я не уверен, что приведенный выше пример является подходящим способом для этого. Запрашивать предложения к тому же. Заранее спасибо.

1 ответ

Одним из решений может быть:

  1. Иметь основной лист дел для выполнения, который действует как ваша свита.
  2. Пусть ваш поставщик данных прочитает этот мастер-лист и у вас будет один метод @Test, который принимает аргументы данных тестового набора. Этот тестовый сценарий в основном читает шаги и выполняет что-то вроде вашего метода ReadAnExecureTestCase.
  3. Сделайте этот поставщик данных параллельным и управляйте с помощью счетчика потоков данных.
Другие вопросы по тегам