类型不匹配:无法从DataProvider转换为Annotation

时间:2017-07-25 13:18:12

标签: java selenium testng dataprovider

我收到错误

  

'类型不匹配:    @DataProvider(@line 19)

无法从DataProvider转换为Annotation'错误

任何帮助将不胜感激

package parameterization;

import org.testng.annotations.Test;

import org.testng.annotations.DataProvider;

public class DataProvider 
{
    //This test method declares that its data should be supplied by the Data Provider
        // "getdata" is the function name which is passing the data
           // Number of columns should match the number of input parameters
        @Test(dataProvider="getData")
        public void setData(String username, String password)
        {
            System.out.println("you have provided username as::"+username);
            System.out.println("you have provided password as::"+password);
        }

        @DataProvider(name="getData")
        public Object[][] getData()
        {
        //Rows - Number of times your test has to be repeated.
        //Columns - Number of parameters in test data.
        Object[][] data = new Object[3][2];

        // 1st row
        data[0][0] ="sampleuser1";
        data[0][1] = "abcdef";

        // 2nd row
        data[1][0] ="testuser2";
        data[1][1] = "zxcvb";

        // 3rd row
        data[2][0] ="guestuser3";
        data[2][1] = "pass123";

        return data;
        }   
}

谢谢。

1 个答案:

答案 0 :(得分:4)

您的班级名称为DataProvider,并且会隐藏您的导入import org.testng.annotations.DataProvider

根据您认为以后使用的错误,但实际上使用的是前者。

解决方案:重命名您的班级或在烦恼中使用FQN(@org.testng.annotations.DataProvider(name="getData"))。