Java 如何参数化两个以上的文本框

Java 如何参数化两个以上的文本框,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我需要参数化的5个文本字段和一个按钮按下使用Jxl参数化。我只做了两个文本框,我不知道如何同时参数化这5个文本框 public class test { public static void main(String[] args) throws InterruptedException, BiffException, IOException { // TODO Auto-generated method stub String FilePath = "

我需要参数化的5个文本字段和一个按钮按下使用Jxl参数化。我只做了两个文本框,我不知道如何同时参数化这5个文本框

public class test {

    public static void main(String[] args) throws InterruptedException, BiffException, IOException {
        // TODO Auto-generated method stub

        String FilePath = "F:/ISTP Testing/Module 2/Seleniume/project/Spaco_DataEntryTest_ContactPage.xls";
        FileInputStream fs = new FileInputStream(FilePath);
        Workbook wb = Workbook.getWorkbook(fs);
        // TO get the access to the sheet
        Sheet sh = wb.getSheet("Sheet1");

        String BaseURL="http://istp.in/changathionlinebeta/contact_us.php";
        WebDriver wd=new FirefoxDriver();
        wd.get(BaseURL); 


        // To get the number of rows present in sheet
        int totalNoOfRows = sh.getRows();
        // To get the number of columns present in sheet
        int totalNoOfCols = sh.getColumns();
        for (int row = 1; row < totalNoOfRows; row++) {

            for (int col = 0; col < totalNoOfCols; col++) {
                System.out.print(sh.getCell(col, row).getContents() + "\t");
                Thread.sleep(3000);
                if(col%2==0)
                {
                    wd.findElement(By.id("name")).sendKeys(sh.getCell(col, row).getContents());
                }else{
                    wd.findElement(By.id("email")).sendKeys(sh.getCell(col, row).getContents());
                }
            }
            System.out.println(); 
        }

        wd.close();
        System.exit(0); 
    }
}
公共类测试{
公共静态void main(字符串[]args)抛出InterruptedException、BiffeException、IOException{
//TODO自动生成的方法存根
String FilePath=“F:/ISTP测试/Module 2/Seleniume/project/Spaco\u DataEntryTest\u ContactPage.xls”;
FileInputStream fs=新的FileInputStream(FilePath);
工作簿wb=Workbook.getWorkbook(fs);
//获取对工作表的访问权限
表sh=wb.getSheet(“表1”);
字符串BaseURL=”http://istp.in/changathionlinebeta/contact_us.php";
WebDriver wd=新的FirefoxDriver();
get(BaseURL);
//获取工作表中的行数的步骤
int totalNoOfRows=sh.getRows();
//获取工作表中的列数的步骤
int totalNoOfCols=sh.getColumns();
for(int row=1;row
你听说了吗?如果您将责任划分为不同的方法,那么您的代码将更易于维护、可读和扩展

 class Test{
      List<String> getNamesFromSheet(){ ...
      List<String> getEmailsFromSheet(){ ...
      List<String> getPhonesFromSheet(){ ...
      List<String> getMobFromSheet(){ ...
      List<String> getAdressFromSheet(){ ...
      void fillInTable(){
           for(int i = 0; i < 5; i++){
                 wd.findElement(By.id("name")).sendKeys(getNamesFromSheet().get(i));
                 wd.findElement(By.id("email")).sendKeys(getEmailsFromSheet().get(i));
                 //...

           }
      } 
类测试{
列出getNamesFromSheet(){。。。
列出getEmailsFromSheet(){。。。
列出getPhonesFromSheet(){。。。
列出getMobFromSheet(){。。。
列出GetAddressFromSheet(){。。。
空白填充表(){
对于(int i=0;i<5;i++){
wd.findElement(By.id(“name”)).sendKeys(getNamesFromSheet().get(i));
wd.findElement(By.id(“email”)).sendKeys(getEmailsFromSheet().get(i));
//...
}
} 
您听说过吗?如果您将责任划分为不同的方法,您的代码将更易于维护、可读和扩展

 class Test{
      List<String> getNamesFromSheet(){ ...
      List<String> getEmailsFromSheet(){ ...
      List<String> getPhonesFromSheet(){ ...
      List<String> getMobFromSheet(){ ...
      List<String> getAdressFromSheet(){ ...
      void fillInTable(){
           for(int i = 0; i < 5; i++){
                 wd.findElement(By.id("name")).sendKeys(getNamesFromSheet().get(i));
                 wd.findElement(By.id("email")).sendKeys(getEmailsFromSheet().get(i));
                 //...

           }
      } 
类测试{
列出getNamesFromSheet(){。。。
列出getEmailsFromSheet(){。。。
列出getPhonesFromSheet(){。。。
列出getMobFromSheet(){。。。
列出GetAddressFromSheet(){。。。
空白填充表(){
对于(int i=0;i<5;i++){
wd.findElement(By.id(“name”)).sendKeys(getNamesFromSheet().get(i));
wd.findElement(By.id(“email”)).sendKeys(getEmailsFromSheet().get(i));
//...
}
} 
你能试试这个吗-

 for (int row = 0; row < totalNoOfRows; row++) {

    for (int col = 0; col < totalNoOfCols; col++) {
        System.out.print(sh.getCell(col, row).getContents() + "\t"); //don't understand what you want to achieve using this
        Thread.sleep(3000);
         switch(col){
             Case 0: wd.findElement(By.id("name")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 1: wd.findElement(By.id("email")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 2: wd.findElement(By.id("phone")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 3: wd.findElement(By.id("mob")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 4: wd.findElement(By.id("address")).sendKeys(sh.getCell(col, row).getContents());
                     break;

    }
}
}
for(int row=0;row
你能试试这个吗-

 for (int row = 0; row < totalNoOfRows; row++) {

    for (int col = 0; col < totalNoOfCols; col++) {
        System.out.print(sh.getCell(col, row).getContents() + "\t"); //don't understand what you want to achieve using this
        Thread.sleep(3000);
         switch(col){
             Case 0: wd.findElement(By.id("name")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 1: wd.findElement(By.id("email")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 2: wd.findElement(By.id("phone")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 3: wd.findElement(By.id("mob")).sendKeys(sh.getCell(col, row).getContents());
                     break;
              Case 4: wd.findElement(By.id("address")).sendKeys(sh.getCell(col, row).getContents());
                     break;

    }
}
}
for(int row=0;row
Rudziankoŭ对,但是

1>使用所有属性(名称、电子邮件、地址…)创建
类SubmitPageObject

2>在程序中,创建从工作簿中获取信息并将其分配给
List spo=new List();

3>最后一步是循环列表并:

wd.findElement(By.id("name")).sendKeys(spo[i].name);
wd.findElement(By.id("email")).sendKeys(spo[i].email);
wd.findElement(By.id("phone")).sendKeys(spo[i].phone);
是的,但是

1>使用所有属性(名称、电子邮件、地址…)创建
类SubmitPageObject

2>在程序中,创建从工作簿中获取信息并将其分配给
List spo=new List();

3>最后一步是循环列表并:

wd.findElement(By.id("name")).sendKeys(spo[i].name);
wd.findElement(By.id("email")).sendKeys(spo[i].email);
wd.findElement(By.id("phone")).sendKeys(spo[i].phone);

如果有效,为什么不能对其余字段执行此操作?如果有效,为什么不能对其余字段执行此操作?最好创建新类型SubmitPageObject并将其全部插入列表最佳创建新类型SubmitPageObject并将其全部插入列表+1。这是常用的参数化方法。但提问者没有使用从他的代码中可以看出是POM。所以我围绕switch语句重建了他的逻辑。+1。这是th