java - TestNG/Webdriver/Java - 通过注释传递参数?

标签 java selenium webdriver testng

我对 Java、TestNG 和 Selenium Webdriver 比较陌生(3 周),我似乎没有按照 TestNG 希望我的方式正确传递参数。

测试运行完美,但随后提示失败,原因如下:

org.testng.TestNGException: 
The data provider is trying to pass 2 parameters but the method com.pragmaticqa.tests.AppTest2#twoUsersSignUp takes 1

这是我的代码:

public class AppTest2 {
     public WebDriver driver;
     public WebDriverWait wait;

         @DataProvider(name = "dataProvider")
         public Object[][] setUp() throws Exception {
         File firefoxPath = new File(System.getProperty("lmportal.deploy.firefox.path", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"));
         FirefoxBinary ffox = new FirefoxBinary(firefoxPath);
         ffox.setEnvironmentProperty("DISPLAY", ":20");
         driver = new FirefoxDriver(ffox, null);
         wait = new WebDriverWait(driver, timeoutInSeconds );
         Object[][] data = new Object[1][2];
         data[0][0] = driver;
         data[0][1] = wait;
         twoUsersSignUp(data);
         return data;
     }

     @Parameters({ "data" })
     @Test(dataProvider = "dataProvider")
     public void twoUsersSignUp(@Optional Object[][] data) throws InterruptedException{

           //test here

         }
}

最佳答案

您需要使用您在数据提供者中填写的数据来声明您的测试方法,因此在您的情况下,它应该是

 public void twoUsersSignUp(WebDriver d, WebDriverWait w).

关于java - TestNG/Webdriver/Java - 通过注释传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17973393/

相关文章:

java - 部署 WAR 时为空指针

python-3.x - Selenium - urllib.error.URLError : <urlopen error [Errno 61] Connection refused>

python - 在 Python 中使用 Selenium 下载 Chrome headless 文件

java - 设置 Remote Webdriver 以使用 Java 在远程计算机上运行测试

java - JFrame 图标未在 Ubuntu 12.04 中显示

java - 跳出循环中的递归函数但让循环继续

java.lang.NoClassDefFoundError : org/springframework/orm/hibernate3/support/HibernateDaoSupport 错误

java - 如何在 Selenium RC 项目中设置 URL 变量

java - 如何升级Webdriver容器中的chrome版本

uitableview - Selenium Webdriver - 获取表数据