MyFirstSelenium.java
package JavaScripts;
import java.io.FileInputStream;
import java.util.Properties;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
//import java.util.Set;
import JavaScripts.ExcelToDataProvider;
public class MyFirstSelenium
{
public static Properties OR;
public static Properties CONFIG;
public static WebDriver driver;
public static void main(String[] args) throws Exception
{
// TODO Auto-generated method stub
FileInputStream fs = new FileInputStream("src/config/config.properties");
CONFIG= new Properties();
CONFIG.load(fs);
fs = new FileInputStream("src/config/or.properties");
OR= new Properties();
OR.load(fs);
//System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");
//WebDriver driver = new ChromeDriver();
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\Drivers\\chromedriver.exe");
driver=new ChromeDriver();
driver.manage().window().maximize();
Thread.sleep(2000);
driver.navigate().to("https://xxxx/xxxx/xxxx.html");
Thread.sleep(1000);
driver.findElement(By.xpath("//input[@id=\"username\"]")).sendKeys("xxx");
driver.findElement(By.xpath("//input[@id=\"password\"]")).sendKeys("xxx");
Thread.sleep(2000);
driver.findElement(By.xpath("//button[@id='btnSubmit']")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//span[text()='User Management']")).click();
Thread.sleep(2000);
driver.findElement(By.xpath("//span[text()='User Manager']")).click();
Thread.sleep(1000);
driver.switchTo().frame("ifmPortalInfrastturcture");
//new WebDriverWait(driver, 20).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.name("ifmPortalInfrastturcture")));
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id='btnAddNewUser']")).click();
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id='btnUserSave']")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//*[@id=\"mdlAddUser\"]/div/div/div[3]/button[1]")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//*[@id='btnAddNewUser']")).click();
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id='btnUserSave']")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//i[@class='icon-cross']")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//*[@id='btnAddNewUser']")).click();
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id='tabSettings']")).click();
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id='btnUserSave']")).click();
Thread.sleep(3000);
driver.findElement(By.xpath("//*[@id=\"tabInformation\"]/a")).click();
Thread.sleep(3000);
}
}
ExcelToDataProvider.Java
package JavaScripts;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class ExcelToDataProvider {
ExcelApiTest eat=null;
String xlFilePath="/MavenPackage/src/testData/TestData.xlsx";
String sheetName="Credentials";
@Test(dataProvider="userData")
public void fillUserForm(String LoginId,String Password,String ConfirmPassword,String Suffix,String FirstName,String LastName,String Email,String LocalNumber)
{
System.out.println("LoginId:"+LoginId);
System.out.println("Password:"+Password);
System.out.println("Confirm Password:"+ConfirmPassword);
System.out.println("Suffix:"+Suffix);
System.out.println("FirstName:"+FirstName);
System.out.println("LastName:"+LastName);
System.out.println("Email:"+Email);
System.out.println("LocalNumber:"+LocalNumber);
System.out.println("***********************");
}
@DataProvider(name="userData")
public Object[][] userFormData() throws Exception
{
Object[][] data=testData(xlFilePath,sheetName);
return data;
}
@Test
public Object[][] testData(String xlFilePath,String sheetName) throws Exception
{
Object[][] excelData=null;
eat=new ExcelApiTest(xlFilePath);
int rows=eat.getRowCount(sheetName);
int columns=eat.getColumnCount(sheetName);
excelData=new Object[rows-1][columns];
for(int i=1;i<rows;i++)
{
for(int j=0;j<columns;j++)
{
excelData[i-1][j]=eat.getCellData(sheetName,j,i);
}
}
return excelData;
}
}
ExcelApiTest.Java используется для чтения в Excel.
В классе ExcelToDataProvider используется TestNGПоставщик данных и тестовая аннотация.
MyFirstSelenium, имеющий основной метод.В этом файле с помощью селена веб-драйвера войдите на сайт и перейдите на страницу пользователя.Там мне нужно добавить 10 пользователей, автоматически читающих из Excel.
Как вызвать класс ExcelToDataProvider в MyFirstSelenium Java-файл?