Java 使用TestNG和Excel的Selenium WebDriver
您好,我真的需要使用TestNG和Excel的SeleniumWebDriver的帮助 我尝试从excel中获取数据以打开浏览器并浏览URL。它的工作成功,终端和testng报告显示测试通过,但它没有打开浏览器或做任何事情,它只是运行它自己和显示报告 配置文件Java 使用TestNG和Excel的Selenium WebDriver,java,excel,selenium,webdriver,testng,Java,Excel,Selenium,Webdriver,Testng,您好,我真的需要使用TestNG和Excel的SeleniumWebDriver的帮助 我尝试从excel中获取数据以打开浏览器并浏览URL。它的工作成功,终端和testng报告显示测试通过,但它没有打开浏览器或做任何事情,它只是运行它自己和显示报告 配置文件 public void openBrowser(String browser){ try { if (browser.equals("Mozilla")) { dri
public void openBrowser(String browser){
try {
if (browser.equals("Mozilla")) {
driver = new FirefoxDriver();
} else if(browser.equals("IE")){
driver = new InternetExplorerDriver();
} else if(browser.equals("Chrome")){
System.setProperty("webdriver.chrome.driver", "\\Applications\\Google Chrome.app\\Contents\\MacOS\\Google Chrome ");
driver = new ChromeDriver();
}
} catch (Exception e) {
}
}
public void navigate(String baseUrl){
try {
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
driver.navigate().to(baseUrl);
} catch (Exception e) {
}
}
和测试执行文件
public class NewTest {
public String exPath = Config.filePath;
public String exName = Config.fileName;
public String exWrSheet = "Logiin Functional Test";
public Config config;
@BeforeTest
public void openBrowser() {
config = new Config();
Excel.setExcelFile(exPath+exName, exWrSheet);
String browser = Excel.getCellData(1, 2);
config.openBrowser(browser);
}
@BeforeMethod
public void navigate() {
config = new Config();
Excel.setExcelFile(exPath+exName, exWrSheet);
String baseUrl = Excel.getCellData(2, 2);
config.navigate(baseUrl);
}
@Test
public void test() {
System.out.println("Test");
}
@AfterTest
public void closeBroser() {
//Config.tearDown();
}
我没有足够的代表来发表评论,我更愿意在这里发表评论,但是如果你没有得到任何类型的异常,我怀疑你为浏览器变量得到的值与你在openBrowser中的if-then-else中的值不匹配,然后就失败了。使用调试器单步执行代码,或仅添加:
String browser = Excel.getCellData(1, 2);
System.out.println("Browser value from Excel =" + browser);
config.openBrowser(browser);
查看您从文件中读取的内容。1-TestNg始终是pass,因为您使用的是“void”方法,并且捕获的是“all”异常 2-没有打开浏览器,因为在openBrowser(字符串浏览器)中,NullPointException抛出,而您已经捕获它
->您需要初始化WebDriver的一个实例并通过测试。添加最后一个else并在那里引发异常可能有助于调试异常。我已经把这段代码放到Eclipse中,删除了Excel读取,只是硬编码了浏览器名,它为我打开了所有的浏览器。这很奇怪,因为它甚至没有进入您的@Test并运行它。TestNG结果选项卡上显示了什么?另外,您可以分享testng-customsuite.xml的屏幕截图吗?我不确定navigate方法是否有效,因为您正在实例化一个新配置,并试图在驱动程序未设置为任何值时使用它。但是首先要弄清楚为什么浏览器不能打开。好吧,现在打开的浏览器可以工作了,但只有Mozila,其余部分不能打开,TestNG没有给出任何错误,继续传递。。无论如何,我真正想做的是,我尝试使页面对象模型框架类似于(MVC类型),但我希望所有数据都来自我的测试用例,我使用excel文件并运行它。另外,我想在激发测试结果(通过/失败)和实际结果后编写excel。如果您有任何想法或链接可以帮助我构建Selenium MVC框架。这里是一个示例MVC框架,我感谢您的帮助;在粘贴内容上方的T行,尤其是在Firefox中运行时。如果只剩下IE和Chrome,您可能没有设置外部驱动程序。请看:还有。至于你的MVC问题,这确实超出了这个问题的范围,但是网上有很多资源(例如)。