2014-09-24 4 views
2

Я написал небольшой код для поиска нескольких ключевых слов в поиске Google. Но он отображает ошибки.Selenium TestNG - DataProvider с 1D Array

Мой кодирования заключается в следующем:

public class GoogleSearchDataSet { 

    WebDriver driver; 

    @BeforeClass 
    public void setup() { 
     System.setProperty("webdriver.chrome.driver","E://chromedriver.exe"); 
     driver=new ChromeDriver(); 
     driver.get("http://www.google.com");  
    } 

    @AfterClass 
    public void quit(){ 
     driver.manage().deleteAllCookies(); 
     driver.quit(); 
    } 

    @DataProvider(name="mykeywordset") 
    public Object[] data(){ 
     return new Object []{ "Cat", "Dog", "hat" }; 
    } 

    @Test(dataProvider="mykeywordset") 
    public void search(String Word){ 
     WebElement txtSearch= driver.findElement(By.className("gbqfif")); 
     txtSearch.sendKeys(Word); 
     WebElement btnSearch = driver.findElement(By.id("gbqfba")); 
     btnSearch.submit(); 
    } 
} 

Он отображает следующее сообщение об ошибке:

SKIPPED: search 
org.testng.TestNGException 
Data Provider public java.lang.Object[] googleSearch.GoogleSearchDataSet.data() must return either Object[][] or Iterator<Object>[], not class [Ljava.lang.Object] 
+0

Пожалуйста, отметьте ответ, как правильно, если это так. Это даст мне 25 очков репутации;). – luboskrnac

ответ

1

Проблема заключается в том, что именно говорится в сообщении об ошибке. Вам необходимо предоставить Object[][] или Iterator<Object []>.

Первое измерение - это тестовый пример (или тестовый прогон, если вы хотите). Второй параметр - это параметр.

Так что ваши DataProvider должны быть:

@DataProvider(name="mykeywordset") 
public Object[][] data(){ 
    return new Object [][]{ 
    { "Cat" }, 
    { "Dog" }, 
    { "hat" } 
    }; 
} 
+0

Thanks ikrnac :) – Saranga

+0

Возможно, я не понимаю, что вы пытаетесь сделать. Ваш тестовый метод с моим исправленным DataProvider будет называться 3 раза. Каждый раз с разным Word. Так спроектирована тестовая поддержка TestNg. – luboskrnac

+0

@Saranga, не могли бы вы вставить код из комментария в свой вопрос, поэтому он будет отступом и читабельным? – luboskrnac

Смежные вопросы