0
我試圖在Selenium Web Driver中實現繼承。在Countrychoser類中,我從Baseurl Class中調用了Basic()方法。當我嘗試在TestNG中執行時,瀏覽器調用了兩次。但是在TestNG.xml中,我只提到了Countrychoser類。在Selenium Web驅動中使用TestNG時調用兩次的方法
Baseurl.java
package MyTestNG;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Baseurl {
public static WebDriver driver;
@Test
public static void basic()
{
driver = new FirefoxDriver();
driver.manage().deleteAllCookies();
driver.get("http://www.sears.com/shc/s/CountryChooserView?storeId=10153&catalogId=12605");
}
public static void Closebrowser()
{
driver.quit();
}
}
Countrychoser.java
package MyTestNG;
import org.testng.annotations.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import com.thoughtworks.selenium.Selenium;
import org.openqa.selenium.support.ui.Select;
import java.util.*;
import java.io.*;
public class Countrychoser extends Baseurl
{
@Test
public static void Choser()
{
try
{
Baseurl.basic();
//driver.findElement(By.className("box_countryChooser")).click();
driver.findElement(By.id("intselect")).sendKeys("India");
driver.findElement(By.xpath(".//*[@id='countryChooser']/a/img")).click();
//window.onbeforeunload = null;
System.out.println("---------------------------------------");
System.out.println("Country choser layer test case-Success");
System.out.println("---------------------------------------");
}
catch(Exception e)
{
Screenshot.pageScreenshot();
System.out.println(e);
System.out.println("---------------------------------------");
System.out.println("Country choser layer test case Failed");
System.out.println("---------------------------------------");
}
finally {
Screenshot.pageScreenshot();
Baseurl.Closebrowser();
}
}
}
的testng.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="First" >
<classes>
<class name="MyTestNG.Countrychoser" />
</classes>
</test>
</suite>
你的問題或問題是什麼? –
請在嘗試使用Java時遵循Java命名約定:程序包名稱只應爲小寫字母,方法名稱應爲camelCase。 – fge
在Countrychoser類中,我擴展了Baseurl.When提到TestNG xml中的Countrychoser類.Browser細節應該從Baseurl類繼承,它只應調用一次。但現在瀏覽器加載了兩次。這就是問題所在。 – user2353517