2017-06-28 5 views
0

私はJava Seleniumを初めて使用しており、ログイン用の入力をテストデータ(2ログイン詳細)としてExcelファイルから取得しようとしています。しかし、私はExcelファイルからテストデータを読み込み、ログインに使用することができません。誰かが私にそのコードを教えてもらえますか?excelファイルを読み込めず、テストスクリプトでテストデータとしてデータを使用することができません

私は以下のコードを試みた:私はそれを行うための1つの非常に簡単な方法をお勧めし

import org.testng.annotations.Test; 

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 

import org.apache.poi.hssf.usermodel.HSSFCell; 
import org.apache.poi.hssf.usermodel.HSSFSheet; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.ss.usermodel.Cell; 
import org.apache.poi.xssf.usermodel.XSSFCell; 
import org.apache.poi.xssf.usermodel.XSSFSheet; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.support.ui.WebDriverWait; 
import org.testng.annotations.BeforeTest; 

public class Sample1 { 
    WebDriver driver; 
    WebDriverWait wait; 
    XSSFWorkbook workbook; 
    XSSFSheet sheet; 
    XSSFCell cell; 
    @Test 
    public void f() throws IOException { 
     File src=new File("C:\\Standalone\\TestData.xls"); 
     FileInputStream finput = new FileInputStream(src); 
     workbook = new XSSFWorkbook(finput); 
     sheet= workbook.getSheetAt(0); 
     for(int i=1; i<=sheet.getLastRowNum();i++) 
     { 
      cell = sheet.getRow(i).getCell(1); 
      cell.setCellType(Cell.CELL_TYPE_STRING); 
      driver.findElement(By.id("j_username")).sendKeys(cell.getStringCellValue()); 
      cell = sheet.getRow(i).getCell(2); 
      cell.setCellType(Cell.CELL_TYPE_STRING); 
      driver.findElement(By.id("j_password")).sendKeys(cell.getStringCellValue()); 
     } 


    } 
    @BeforeTest 
    public void beforeTest() { 
     System.setProperty("webdriver.chrome.driver","C:\\Chrome\\chromedriver.exe"); 
     WebDriver driver = new ChromeDriver(); 
     driver.get("c"); 
    } 

} 
+0

ようgetCellDataメソッドを呼び出してください 'accept'それ他人のためにそれかもしれ役に立つので、 – NarendraR

答えて

0

を。指定されたセル番号に基づいて値を読み取るクラスを1つ作成します。

答えはあなたのために有用である場合

public class ExcelFileReader 
{ 
     FileInputStream fis; 
     XSSFWorkbook workbook; 
     XSSFSheet sheet; 

     public ExcelFileReader() throws IOException 
     { 
      // Read Excel File 
      fis = new FileInputStream(new File("src/test/resources/SiteTestData.xlsx")); 
      workbook = new XSSFWorkbook(fis); 

      // To get Sheet 1 
      sheet = workbook.getSheetAt(0); 

     } 

     public String getCellData(int rowNum, int colNum) 
     { 
      return sheet.getRow(rowNum).getCell(colNum).getStringCellValue(); 
     } 
} 

ExcelFileReader.java今すぐあなたの試験方法で

@Test 
public void login() throws IOException, InterruptedException 
{  
    ExcelFileReader read = new ExcelFileReader(); 
    String uname = read.getCellData(1, 0); 
    String passwd = read.getCellData(1, 1); 

    driver.findElement(By.id("username")).sendKeys(uname); 
    driver.findElement(By.id("password")).sendKeys(passwd); 
    driver.findElement(By.id("loginButton")).click(); 

} 
関連する問題