Java TestNG从父类继承@Parameters

Java TestNG从父类继承@Parameters,java,parameters,testng,parallel-testing,Java,Parameters,Testng,Parallel Testing,我正在尝试使用TestNG为并发跨浏览器测试框架创建一个存根。但我似乎无法从父类获取@Parameters并继续获取 Parameter 'browsername' is required by @Configuration on method setup but has not been marked @Optional or defined at org.testng.internal.Parameters.createParameters(Parameters.java:155)

我正在尝试使用TestNG为并发跨浏览器测试框架创建一个存根。但我似乎无法从父类获取@Parameters并继续获取

Parameter 'browsername' is required by @Configuration on method setup but has not been marked @Optional or defined
    at org.testng.internal.Parameters.createParameters(Parameters.java:155)
    at org.testng.internal.Parameters.createParameters(Parameters.java:358)
    at org.testng.internal.Parameters.createConfigurationParameters(Parameters.java:86)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:199)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
    at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:175)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:107)
    at org.testng.TestRunner.privateRun(TestRunner.java:767)
    at org.testng.TestRunner.run(TestRunner.java:617)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
    at org.testng.SuiteRunner.run(SuiteRunner.java:254)
TestNG.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="1265_Suite" parallel="tests" verbose="2" thread-count="2" preserve-order="true">
    <test name="92" parallel="false" preserve-order="true">
        <classes>
            <class name="com.javacodegeeks.testng.maven.BaseTest"/>
            <class name="com.javacodegeeks.testng.maven.ChildTest"/>
            <parameter name="browsername" value="chrome"/>
        </classes>
    </test>
    <test name="93" parallel="false" preserve-order="true">
        <classes>
            <class name="com.javacodegeeks.testng.maven.BaseTest"/>
            <class name="com.javacodegeeks.testng.maven.ChildTest"/>
            <parameter name="browsername" value="firefox"/>
        </classes>
    </test>
</suite>
儿童测试

public class ChildTest extends BaseTest {

    @Test
    public void test() {
        System.out.println(browser);
    }
}
我没有找到足够的信息,如何让这项工作,所以如果你有任何想法,我想听听他们

已检查但信息不足:

请使用
节点上的
节点重试(并且
BaseTest
应无效):


使用
节点上的
节点重试(并且
BaseTest
应无效):



主要思想是对所有测试套件使用继承(BaseTest)。如果我将从这里删除BaseTest,它将是无意义的。所有测试类都将扩展BaseTest,对吗?因此,TestNG将通过内省来检测它。这就是为什么在套件文件中输入或不输入都没有效果。顺便说一句,我的解决方案是否解决了您的参数问题?是的,您的解决方案似乎有效,但我这边可能还有另一个问题导致此错误。主要思想是对所有测试套件使用继承(BaseTest)。如果我将从这里删除BaseTest,它将是无意义的。所有测试类都将扩展BaseTest,对吗?因此,TestNG将通过内省来检测它。这就是为什么在套件文件中输入或不输入都没有效果。顺便说一句,我的解决方案是否解决了您的参数问题?是的,您的解决方案似乎有效,但我这边可能还有另一个问题导致此错误。
public class ChildTest extends BaseTest {

    @Test
    public void test() {
        System.out.println(browser);
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="1265_Suite" parallel="tests" verbose="2" thread-count="2" preserve-order="true">
    <test name="92" parallel="false" preserve-order="true">
        <parameter name="browsername" value="chrome"/>
        <classes>
            <!--class name="com.javacodegeeks.testng.maven.BaseTest"/-->
            <class name="com.javacodegeeks.testng.maven.ChildTest"/>
        </classes>
    </test>
    <test name="93" parallel="false" preserve-order="true">
        <parameter name="browsername" value="firefox"/>
        <classes>
            <!--class name="com.javacodegeeks.testng.maven.BaseTest"/-->
            <class name="com.javacodegeeks.testng.maven.ChildTest"/>
        </classes>
    </test>
</suite>