Получение параметра '{browser}' требуется @Configuration при настройке метода, но не помечено как @Optional или определено (пробные решения) - PullRequest
0 голосов
/ 18 апреля 2019

Я запускаю тесты через селеновую сетку.Я получил вышеупомянутую ошибку.Ниже приведены решения, которые я попробовал

  1. Пробный запуск тестов из testng.xml
  2. Установка шаблона для testng.xml из свойств testng

Ошибка не устранена

Мой файл testg выглядит следующим образом

<suite name="TestSuite" thread-count="2" parallel="tests">
    <listeners>
    <listener class-name="com.hrmapp.orangehrm.Tests.ExtentListener"></listener>
    </listeners>
    <test name="tests">
    <parameter name="browser" value="chrome"></parameter>
        <classes>
            <class name="com.hrmapp.orangehrm.Tests.OrangeHRMTests"></class>
        </classes>
    </test>

    <test name="tests2">
    <parameter name="browser" value="firefox"></parameter>
        <classes>
            <class name="com.hrmapp.orangehrm.Tests.OrangeHRMTests"></class>
        </classes>
    </test>
</suite>

Мой класс Java выглядит следующим образом

@Parameters("{browser}")
    @BeforeClass
    public void setup(String browser) throws IOException {
        System.out.println(browser);
        launch(browser);
    }



 public static void launch(String browser) throws MalformedURLException{
        prop=PropertyReader.readData();
        setDriver(browser);
//      setDriver(prop.getProperty("browser"));
        getDriver().manage().window().maximize();
        getDriver().get(prop.getProperty("url"));
    }

Спасибо за ваше время

Ответы [ 3 ]

0 голосов
/ 18 апреля 2019

Эта проблема была решена после того, как я исправил синтаксис параметров

Правильный синтаксис:

Parameter({"browser"}) 

, а не

Parameter("{browser}") 
0 голосов
/ 18 апреля 2019

Можете ли вы попробовать выполнить приведенный ниже код и сообщить нам, если он работает

    @Parameters("browser")
    @BeforeClass
    public void setup(String browser) throws IOException {
        System.out.println(browser);
        launch(browser);
    }
0 голосов
/ 18 апреля 2019

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

@BeforeTest(alwaysTrue = true)
@Parameters("{browser}")
    public void setup(String browser) throws IOException {
        System.out.println(browser);
        launch(browser);
    }

Дай мне знать, если не сработает, я посмотрю.

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