Как вызвать класс A в другом классе B с помощью Selenium WebDriver с TestNG - PullRequest
0 голосов
/ 19 сентября 2019

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-файл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...