org.testng.TestNGException:参数'浏览器' @Configuration对方法MethodSetup是必需的

时间:2017-07-17 20:25:15

标签: selenium

ENV: Seleniuim网络驱动程序,testng,eclipse,java 1.8

我有一个测试。我可以从testng套件中运行它(右键单击套件>运行为> testng套件)。如果我直接运行测试(右键单击测试>运行> testng测试),我收到错误:

  

org.testng.TestNGException:参数'浏览器'是必需的   @Configuration方法MethodSetup但尚未标记为@Optional   或定义于   C:\ Users \用户米\应用程序数据\本地\ TEMP \ TestNG的-蚀 - 1694993462 \ TestNG的-customsuite.xml

BaseTest:

public class BaseTest {
    protected WebDriver driver;

    @Parameters ({"browser"})
    @BeforeMethod
    protected void MethodSetup(String browser){
        System.out.println("method set up");
        driver = Browsers.getDriver(browser);
        }
//....
}

测试:

public class LoginTest extends BaseTest{

    @Parameters({ "browser" , "ch" })   
    @SuppressWarnings("deprecation")
    @Test
    public void positiveLoginTest(){


        String expectedPageTitle = "Seeker Dashboard - Profile";
        String Expectedprofilename = "md";
//...
}

TestNG套件:

<suite name="TestAll">

                <test name="ie1">
        <parameter name="browser" value="ch"/>
        <classes>
            <class name="com.dice.LoginTest">
            <methods>
                    <include name="positiveLoginTest"/>
                </methods>
            </class>
        </classes>
    </test>


</suite>

enter image description here

1 个答案:

答案 0 :(得分:0)

您指定 作为套件xml中的参数。当您作为套件运行时,将使用该特定的xml。但是当你选择一个测试并运行它时,testng会创建一个自定义的testng文件(没有参数,没有参数,没有监听器 - 你可以查看你提到的路径上的文件)。

如果这是您使用的标准xml,则需要在eclipse中将xml指定为模板xml。转到项目属性 - &gt; testng - &gt;将xml设置为模板xml。