Перейти к содержимому

Фотография

Reading data from file using @DataProvider


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 vadim4ik

vadim4ik

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:____

Отправлено 01 октября 2016 - 07:33

Добрый день, уважаемое сообщество.

Обращаюсь к Вам с вопросом, который бывалому автоматизатору может показаться незатейливым, но меня как, начинающего ставит в тупик.

Вообщем обрисую ситуацию.

Есть *.txt файл, в котором хранятся некие ключевые слова с новой строчки, То есть в строке одно слово.

Необходимо в процессе автоматизации считывать построчно слово и через @DataProvider передавать его на выполнение скрипта.

Меня как человека неопытного этот момент ставит в тупик, надеюсь на Вашу поддержку и помощь. 

Вот код:

 

public class Main {

public WebDriver driver;


public static String[] readArray(String file){
int ctr = 0;

try {
Scanner s1 = new Scanner(new File("1.txt"));
while (s1.hasNextLine()){
ctr = ctr +1;
s1.next();
}
String[] words = new String[ctr];

Scanner s2 = new Scanner(new File("1.txt"));
for (int i=0; i < ctr; i = i + 1)
words[i] = s2.next();
return words;

}
catch (FileNotFoundException e) {

}
return null;
}


// В данном месте необходимо передавать слова из файла.

//@DataProvider(name = "keyWords")
//public static Object[][] keyWords(){
//return new Object[][]{
//{"picture"},
// {"google"}};}
//
@BeforeClass
public void seUp(){
driver = new FirefoxDriver();
}

@Test(dataProvider = "keyWords")
public void test(String words){
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.navigate().to("https://www.bing.com/");

WebElement myElement = driver.findElement(By.id("sb_form_q"));
myElement.sendKeys(words);
myElement.submit();

List<WebElement> outComes = driver.findElements(By.xpath("//*[@id='b_results']//div[1]/h2/a"));

// String title = driver.getTitle();
// System.out.println(title);
System.out.println(driver.getTitle());

for(WebElement s:outComes){
System.out.println(s.getText());}

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


  • 0

#2 sergueik

sergueik

    Постоянный участник

  • Members
  • PipPipPip
  • 166 сообщений
  • ФИО:кузьмин сергей

Отправлено 01 октября 2016 - 14:21

посмотрите

http://testngtricks....aproviders.html


  • 0

#3 sergueik

sergueik

    Постоянный участник

  • Members
  • PipPipPip
  • 166 сообщений
  • ФИО:кузьмин сергей

Отправлено 02 октября 2016 - 17:58

в проекте https://github.com/s...-dataproviders показано как использовать

* Excel 2003
* Excel 2007
* OpenOffice Calc


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных