Java 如何参数化两个以上的文本框
我需要参数化的5个文本字段和一个按钮按下使用Jxl参数化。我只做了两个文本框,我不知道如何同时参数化这5个文本框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 = "
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