首页 > 解决方案 > 使用 testng.xml 进行跨浏览器测试,无需重复测试和类部分

问题描述

是否可以在不重复测试本身的情况下在 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参数来实例化 multiple WebDrivers,但这样做会使测试执行时间不再可靠,因为重复的将是实际的测试代码而不是测试本身。在处理非常大的 testng.xml 文件时,这可能会非常有用。有什么办法可以做到这一点?

编辑:

不幸的是,我不能使用@DataProvider,因为我在方法中使用browsers参数@BeforeMethod(即,我正在实例化 WebDriver)。此外,我已经在整个测试代码库中使用 DataProviders 从 .xlsx 文件中获取测试参数。

标签: javaseleniumunit-testingtestng

解决方案


推荐阅读