как заменить жестко закодированные значения от поставщика данных - PullRequest
0 голосов
/ 02 июля 2018

Я ищу рекомендации по удалению (замене) жестко запрограммированных значений браузера / ОС / версии из @DataProvider открытый статический объект [] [] sauceBrowserDataProvider. Пример кода:

    @DataProvider(name = "hardCodedBrowsers", parallel = true)
    public static Object[][] sauceBrowserDataProvider(Method testMethod) {
    return new Object[][]{

            **new Object[]{"firefox", "55.0", "Windows 10"},
            new Object[]{"chrome", "65.0", "Windows 10"},**

    };}


@Test( dataProvider = "hardCodedBrowsers")

    public void createDriver(String browser, String version, String os)
        throws Exception {
        Class<? extends TestRemote> SLclass = this.getClass();

        DesiredCapabilities capabilities = new DesiredCapabilities();

        // set desired capabilities to launch appropriate browser on Sauce
        capabilities.setCapability(CapabilityType.BROWSER_NAME, browser);
        capabilities.setCapability(CapabilityType.VERSION, version);
        capabilities.setCapability(CapabilityType.PLATFORM_NAME, os);    

        capabilities.setCapability("seleniumVersion", "3.8.1");
        capabilities.setCapability("name", SLclass.getSimpleName());
        capabilities.setCapability("screenResolution", "1920x1080");

        driver = (new RemoteWebDriver(new URL("http://" + SAUCE_USERNAME + ":" + SAUCE_ACCESS_KEY + "@ondemand.saucelabs.com:80/wd/hub"), capabilities));

       configRead = new ConfigFileReader();

       propertyRead = new PropertyLoader();

       baseUrl = propertyRead.getProperty("site.url");

       app = new Application(driver);

       getURL();

    }

Это селеновый проект на Java / TestNg / Jenkins / Saucelabs

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Вы можете использовать QAF TestNG расширение . Он предоставляет различные встроенные поставщики данных для загрузки тестовых данных из различных источников данных, таких как xml, json, excel, properties, database. С QAF вы можете установить другой источник данных, как показано ниже:

@QAFDataProvider (dataFile = "resources/data/logintestdata.csv")
@QAFDataProvider(dataFile = "resources/data/testdata.xls")
@QAFDataProvider(dataFile = "resources/data/testdata.xls", sheetName="login")
@QAFDataProvider(dataFile = "resources/data/testdata.xls", key="login") //excel with data table
@QAFDataProvider(dataFile = "resources/data/logintestdata.json")
@QAFDataProvider(key="login.data") //xml key
@QAFDataProvider(sqlQuery = "select col1, col2 from tbl") // database
@QAFDataProvider(dataFile = "resources/data/logintestdata.txt")

Более того, вы можете сменить поставщика данных без изменения кода. В дополнение к этому он имеет множество функций для «черного ящика» тестирования веб, мобильных (с использованием selenium, appium) и веб-сервисов.

0 голосов
/ 05 июля 2018

Самый простой способ сделать это - переместить комбинации (браузер / ОС / версия) в источник данных, такой как электронная таблица Excel или CSV или json / yaml / xml, и @DataProvider прочитать их оттуда. .

Обновление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...