在运行下面的脚本时,正在启动Firefox的实例。
Guru99projectdemo.java
package com.edureka;
public class Guru99projectdemo
{
public static void main (String[] args)
{
opengurusite obj2 = new opengurusite();
obj2.opensite();
login obj1 = new login();
obj1.login1();
}}
调用的两种方法如下所示:
public class opengurusite
{
WebDriver driver = new FirefoxDriver();
public void opensite()
{
driver.manage().deleteAllCookies();
driver.get("http://demo.guru99.com/V4/");
}}
登录方法:
login.java
public class login {
public void login1 ()
{
WebDriver driver = new FirefoxDriver();
driver.findElement(By.name("uid")).sendKeys("mngr56562");
driver.findElement(By.name("password")).sendKeys("qAtugAb");
driver.findElement(By.name("btnLogin")).click();
}
}
请告知如何解决此问题。
答案 0 :(得分:1)
启动了2个实例,因为您在不调用driver.quit()的情况下调用了WebDriver实例;
WebDriver driver = new FirefoxDriver();
第一次使用在opengurusite
级,第二次使用public void login1
方法。
要在一个浏览器上操作,您必须在类和方法之间传递参数driver
例如:
public class Guru99projectdemo {
public static void main (String[] args)
{
WebDriver driver = new FirefoxDriver();
opengurusite obj2 = new opengurusite();
obj2.opensite(driver);
login obj1 = new login();
obj1.login1(driver);
driver.quit();
}
}
public class opengurusite {
public void opensite(WebDriver driver)
{
driver.manage().deleteAllCookies();
driver.get("http://demo.guru99.com/V4/");
}
}
public class login {
public void login1(WebDriver driver)
{
driver.findElement(By.name("uid")).sendKeys("mngr56562");
driver.findElement(By.name("password")).sendKeys("qAtugAb");
driver.findElement(By.name("btnLogin")).click();
}
}
但正如所建议的那样 - 你真的应该编辑你的问题,因为它不易阅读。阅读一些有关JUnit的信息,以便正确地驾驶您的测试http://junit.org/junit4/