Есть ли способ получить данные из аннотации @DataProvider в среде тестирования Selenium Cucumber?

Я работаю над проектом selenium-TestNg, в котором мы интегрируем фреймворк огурца, мне нужно получить данные с помощью метода @DataProvider.

Вы пробовали Data Tables, предоставляемый файлом функции огурца?

Amit Jain 10.09.2018 11:05

Да, таблица данных работает, но я ищу способ интегрировать существующий фреймворк testNg с огурцом.

testergirl 10.09.2018 11:16
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
0
2
2 749
1

Ответы 1

Ну, вы можете добиться, используя каф-корнишон или qaf-bdd. Вы можете использовать встроенный поставщик данных, доступный для csv / xml / json / excel / database, или создать свой собственный поставщик данных TestNg и использовать его. Вот BDD-Пример, который использует поставщика данных с разными аргументами. См. Пример ниже:

SCENARIO: Custom Data provider Example 
META-DATA: {"dataProvider":"my-custom-dp", "dataProviderClass":"my.project.impl.CustomDataProvider","description":"Data driven test that uses custom data provider"}
    Given I am on fruits and colors activity
    When i select '${fruit}'
    Then the color should be '${color}'

END

Реализация провайдера данных:

package my.project.impl;

import java.util.Map;
import org.testng.annotations.DataProvider;
import org.testng.collections.Maps;

/**
 * @author chirag.jayswal
 *
 */
public class CustomDataProvider {

    @DataProvider(name = "my-custom-dp")
    public static Object[][] dataProviderForBDD(){

        Map<Object, Object> rec1 = Maps.newHashMap();
        m.put("fruit", "grapes");
        m.put("color", "green");

        Map<Object, Object> rec2 = Maps.newHashMap();
        m.put("fruit", "banana");
        m.put("color", "yellow");

        return new Object[][]{ {rec1},{rec2}};
    }
}

Другие вопросы по теме