Чтобы получить тип браузера (на котором я хочу запустить тесты Selenium) из testng.xml
, я написал код, например:
public class TestClass {
@BeforeClass
public void beforeClass(ITestContext context) {
String browser = context.getCurrentXmlTest().getParameter("browser");
if(browser.equals("firefox")){
driver = new FirefoxDriver();
}
.
.
.
Ниже приведен мой testng.xml
-
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Task-Manager-Suite" verbose="10" >
<parameter name="browser" value="firefox" />
<test name="Test" >
<classes>
<class name="org.test.st.StackOverflowTest" />
</classes>
</test>
</suite>
Когда я запускаю testng.xml
, тестовый запуск отлично, и browser
устанавливается с упоминанием значения в теге parameter
в testng.xml
Но когда я открываю другой файл тестового класса, щелкнув его правой кнопкой мыши и выбрав "Запустить как" → "Тест TestNG", значение browser
будет установлено равным null
. Он не получает значения от testng.xml
Есть ли что-нибудь после этого, что я могу запустить файл тестового класса, и значение браузера будет testng.xml
из testng.xml
?
Когда я хочу проверить тесты, написанные мной, каждый раз, когда я должен пойти в testng.xml
и обновить тег class
с именем файла, которое я хочу запустить.
Вот почему я ищу что-то, с помощью которого я могу избежать редактирования testng.xml
каждый раз, когда хочу проверить выполненные мной тесты.
Пожалуйста, укажите мне какую-то ссылку в блоге или github, где эта проблема устранена.
Это связано с тем, что, когда вы запускаете из тестового класса как "Запуск от> теста testng", TestNg создаст собственный XML файл, в котором указанный вами параметр не будет. Поэтому, чтобы получить ваши параметры в файле пакета, выберите файл своего пакета и запустите в качестве> TestNG Suite.
Если вы настаиваете на запуске из своего тестового класса, установите файл Suite как файл XML шаблона в eclipse в Project> Properties> Template XML file.
Надеюсь, поможет
Я использую:
@Parameters{"browser"}
public void beforeClass(@Optional("firefox") String browser) {
// ...
}