Я хочу запустить те же тесты в разных браузерах (Firefox, Chrome и Safari). Для этого я использую параметризацию в тестах. Где в браузере хромированный хром и т. Д.Selenium: Запустите те же тесты в разных браузерах
И в testng.xml
Я указал, что для параллельного тестирования и повторения одного теста я использовал несколько тегов <test>
.
Что делать, если у меня так много тестов для запуска. Я буду копировать те же теги в тегах <test>
. Который не видит оптимального решения.
Как это исправить?
Вот что я пробовал:
public class SameTestDifferentBrowsers {
WebDriver driver;
@BeforeMethod
@Parameters("browser")
public void openBroswer(String browser) {
if (browser.equalsIgnoreCase("Chrome")) {
System.out.println(System.getProperty("user.dir"));
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"//lib//browsers//chromedriverMac");
driver = new ChromeDriver();
} else if (browser.equalsIgnoreCase("Firefox")) {
driver = new FirefoxDriver();
} else if (browser.equalsIgnoreCase("safari")) {
System.setProperty("webdriver.safari.driver", System.getProperty("user.dir")+"//lib//browsers//SafariDriver.safariextz");
driver = new SafariDriver();
}
}
@AfterMethod
public void closeBrowser() {
driver.quit();
}
@Test
public void login_TestCase() {
driver.get("https://www.google.com");
}
}
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel test suite" parallel="tests">
<test name="Firefox Test">
<parameter name="browser" value="browser"/>
<classes>
<class name="ParallelBrowser.SameTestDifferentBrowsers"/>
</classes>
</test>
<test name="Chrome Test">
<parameter name="browser" value="browser"/>
<classes>
<class name="ParallelBrowser.SameTestDifferentBrowsers"/>
</classes>
</test>
<test name="Safari Test">
<parameter name="browser" value="browser"/>
<classes>
<class name="ParallelBrowser.SameTestDifferentBrowsers"/>
</classes>
</test>
</suite>
@niharika_neo вы можете решить этот вопрос? – paul