如何替换来自数据提供者的硬编码值 [英] how to replace the hardcoded values from data provider

查看:34
本文介绍了如何替换来自数据提供者的硬编码值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找删除(替换)硬编码浏览器/操作系统/版本值的建议@DataProvider public static Object[][] sauceBrowserDataProvider.代码示例:

I'm looking for the recommendation of removing (replacing) the hard-coded browser/OS/Version values from @DataProvider public static Object[][] sauceBrowserDataProvider. The code example:

    @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 的 selenium 项目

This is a selenium project on Java/ TestNg/ Jenkins/Saucelabs

推荐答案

最简单的方法是将组合(浏览器/操作系统/版本)移动到数据源,如 Excel 电子表格或 csv 或 json/yaml/xml 并让您的 @DataProvider 从那里读取它们.

The easiest way of doing this would be to Move the combinations(browser/OS/Version) to a data source like an excel spreadsheet or a csv or a json/yaml/xml and have your @DataProvider read them from there.

更新

这篇关于如何替换来自数据提供者的硬编码值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆