是否可以在TestNG中指定多个浏览器作为跨浏览器测试的参数而无需重复测试本身?如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Cross-browser suite" verbose="1">
<test name="Cross-browser test">
<parameter name="browsers" value="chrome,msedge,firefox" />
<classes>
<class name="TestClass" />
</classes>
</test>
</suite>
当然我总是可以处理 browsers
参数来实例化多个 WebDrivers
,但这样做会使测试执行时间不再可靠,因为重复的将是实际的测试代码测试本身。当处理非常大的 testng.xml 文件时,这可能会被证明是非常有用的。有什么办法可以做到这一点吗?
编辑:
不幸的是,我无法使用 @DataProvider
,因为我在 browsers
方法中使用了 @BeforeMethod
参数(即,我正在实例化 WebDriver 的地方)。此外,我已经在整个测试代码库中使用 DataProvider 从 .xlsx 文件中获取测试参数。