我通常在我的所有测试类中通过我的项目创建一个Web驱动程序实例,然后使用Firefox驱动程序初始化它。这是正常的自动化实践还是我只创建一次并在我的项目中随处使用它。如果第二个是'应该是'然后如何实现它。
我在一个项目中使用带有Java的Web驱动程序,而在另一个项目中使用C#。任何帮助将不胜感激。
答案 0 :(得分:2)
您可以在Base Calss中声明您的驱动程序,如下所示:
public class BaseClass {
static WebDriver driver;
@BeforeSuite
public void setup() throws InterruptedException, IOException {
driver = new FirefoxDriver();
driver.manage().window().maximize();
Properties obj = new Properties();
FileInputStream objfile = new FileInputStream(
System.getProperty("user.dir")
+ "\\src\\com\\provider\\Object.Properties");
obj.load(objfile);
driver.get(obj.getProperty("URL"));
}
}
然后你可以扩展你的基类,如下所示你不需要在你创建的每个类中声明你的驱动程序:
public class ProApp extends BaseClass{
@Test(priority=1)
public void clickLoginLink() throws InterruptedException, IOException {
Properties obj = new Properties();
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir") +"\\src\\com\\provider\\Object.Properties");
obj.load(objfile);
driver.findElement(By.xpath(obj.getProperty("ClickOnLoginLink"))).click();
Thread.sleep(1000);
}
}
答案 1 :(得分:0)
您可以在超类中创建一个webdriver实例,并在需要时在子类(测试类)中使用它。因为这将节省为每个类初始化webdriver的时间。