Selenium webdriver 使用Java for Selenium Webdriver从类调用另一个方法

Selenium webdriver 使用Java for Selenium Webdriver从类调用另一个方法,selenium-webdriver,testng,Selenium Webdriver,Testng,我不熟悉Selenium和Java。我的代码的基本思想是,我在java项目下创建了两个类,即第一个类和第二个类。我的第一个类包含所有方法(打开浏览器、登录、注销),第二个类包含从第一个类继承所有方法的主程序 我已经创建了一个excel,说明应该基于excel工作表运行哪个测试用例(登录、注销)。测试用例将根据Excel工作表中“执行”列下的“Y”或“N”执行 当我试着运行我的第二个类时,它显示了一个错误。请在下面找到我的代码以及错误和excel表,作为测试用例应该运行的位置的图像 这是我的第二节

我不熟悉Selenium和Java。我的代码的基本思想是,我在java项目下创建了两个类,即第一个类和第二个类。我的第一个类包含所有方法(打开浏览器、登录、注销),第二个类包含从第一个类继承所有方法的主程序

我已经创建了一个excel,说明应该基于excel工作表运行哪个测试用例(登录、注销)。测试用例将根据Excel工作表中“执行”列下的“Y”或“N”执行

当我试着运行我的第二个类时,它显示了一个错误。请在下面找到我的代码以及错误和excel表,作为测试用例应该运行的位置的图像

这是我的第二节课(主程序)

包asdf;
导入java.io.File;
进口jxl.Cell;
进口jxl.Sheet;
导入jxl.工作簿;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.firefox.FirefoxDriver;
导入org.testng.SkipException;
导入org.testng.annotations.DataProvider;
导入org.testng.annotations.Test;
公共类第二{
@数据提供者(name=“DP1”)
公共对象[][]createData1()引发异常{
对象[][]retObjArr=getTableArray(“Resource\\Testdata.xls”、“credentials”、“TD”);
返回(retObjArr);
}
@测试(dataProvider=“DP1”)
公共void执行(字符串TCname、字符串TCDescription、字符串Execute){
第一个r=新的第一个();
if(Execute.equalsIgnoreCase(“Y”){
if(TCname.equalsIgnoreCase(“TC01”)){
r、 登录();
}else if(TCname.equalsIgnoreCase(“TC02”)){
r、 登录();
r、 注销();
}
}否则{
抛出新的SkipException(“跳过此测试用例:“+TCname”);
}
}       
公共字符串[][]getTableArray(字符串xlFilePath、字符串sheetName、字符串tableName)引发异常{
字符串[][]tabArray=null;
工作簿=工作簿.get工作簿(新文件(xlFilePath));
Sheet Sheet=工作簿.getSheet(sheetName);
int startRow、startCol、endRow、endCol、ci、cj;
Cell tableStart=sheet.findCell(表名);
startRow=tableStart.getRow();
startCol=tableStart.getColumn();
Cell tableEnd=sheet.findCell(表名,startCol+1,startRow+110064000,false);
endRow=tableEnd.getRow();
endCol=tableEnd.getColumn();
System.out.println(“startRow=“+startRow+”,endRow=“+endRow+”,“+”startCol=“+startCol+”,endCol=“+endCol”);
tabArray=新字符串[endRow-startRow-1][endCol-startCol-1];
ci=0;

对于(int i=startRow+1;i您缺少可执行IE驱动程序的路径。请尝试以下操作:

File file = new File("C:/Selenium/iexploredriver.exe"); // your location of driver
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();

希望有帮助。

尝试下面的代码,可以解决问题-

public class first {

{

    System.setProperty("webdriver.ie.driver", "D:\\Pradeep\\pradeep\\IEDriverServer.exe");
         // your location of driver


}

WebDriver driver = new InternetExplorerDriver();

public String baseUrl = "http://newtours.demoaut.com/";
……那你的密码呢

@test ...

答案在错误日志中。您需要为webdriver设置InternetExplorer驱动程序的路径。即使在添加IE路径后,它也会抛出错误。我在问题中添加了新的错误报告
public class first {

{

    System.setProperty("webdriver.ie.driver", "D:\\Pradeep\\pradeep\\IEDriverServer.exe");
         // your location of driver


}

WebDriver driver = new InternetExplorerDriver();

public String baseUrl = "http://newtours.demoaut.com/";
@test ...