java selenium id重复,维护和重复使用现有的WebDriver浏览器实例-Java

基本上,每次我从eclipse运行Java代码时,webdriver都会启动一个新的浏览器并成功地执行我的测试。但是,我有很多测试需要运行,并且每次Webdriver都要启动一个新的浏览器会话是一件很痛苦的事情。我需要一种方法来重新使用以前打开的浏览器;因此,webdriver将在第一次运行时打开,然后在第二次运行时运行eclipse程序,我希望它可以简单地选择以前的浏览器实例并继续在同一实例上运行测试。这样,我不会在每次运行程序时都启动新的浏览器会话。

假设您有100个要在eclipse中运行的测试,请单击该“运行”按钮,它们都将运行,然后在第87个测试中出现错误。然后,您返回eclipse,修复该错误,但是您必须重新从头开始重新运行所有100个测试。

最好在第87个测试上修复错误,然后从第87个测试中恢复执行,而不是从头开始重新执行所有测试,即从测试0一直执行到100。希望,我足够清楚可以得到谢谢大家的帮助。

这是我下面尝试维护和重新使用Webdriver Internet Explorer浏览器实例的尝试:

public class demo extends RemoteWebDriver {

public static WebDriver driver;

public Selenium selenium;

public WebDriverWait wait;

public String propertyFile;

String getSessionId;

public demo() { // constructor

DesiredCapabilities ieCapabilities = DesiredCapabilities

.internetExplorer();

ieCapabilities

.setCapability(

InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,

true);

driver = new InternetExplorerDriver(ieCapabilities);

this.saveSessionIdToSomeStorage(getSessionId);

this.startSession(ieCapabilities);

driver.manage().window().maximize();

}

@Override

protected void startSession(Capabilities desiredCapabilities) {

String sid = getPreviousSessionIdFromSomeStorage();

if (sid != null) {

setSessionId(sid);

try {

getCurrentUrl();

} catch (WebDriverException e) {

// session is not valid

sid = null;

}

}

if (sid == null) {

super.startSession(desiredCapabilities);

saveSessionIdToSomeStorage(getSessionId().toString());

}

}

private void saveSessionIdToSomeStorage(String session) {

session=((RemoteWebDriver) driver).getSessionId().toString();

}

private String getPreviousSessionIdFromSomeStorage() {

return getSessionId;

}

}

我的希望是,通过从remoteWebdriver覆盖startSession()方法,它将以某种方式检查我是否已经在ie中打开了一个webdriver浏览器实例,并且它将代替每次创建新实例来使用该实例。蚀中的“运行”按钮。

我还可以看到,因为我正在从构造函数创建“新驱动程序实例”,因为构造函数始终首先执行,所以它将自动创建该新驱动程序实例,因此我可能需要以某种方式进行更改,但不知道如何。

我是Stackoverflow和Selenium Webdriver的新手,希望这里有人可以提供帮助。

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值