【问题标题】:Selenium/PHPUnit: End a session when re-using browser sessions?Selenium/PHPUnit:重用浏览器会话时结束会话?
【发布时间】:2012-02-11 01:17:17
【问题描述】:

我正在使用 PHPUnit 运行 Selenium 测试。

我将一些较长的测试序列拆分为多个测试文件,以便于维护。 为了获得更高的速度,我想在这些情况下重新使用浏览器会话。

我能够重用会话 (PHPUnit_Extensions_SeleniumTestCase::shareSession(true)),但我不知道如何结束会话并在开始下一个测试之前打开一个新的会话(这需要新的浏览器会话)。

我尝试在测试的 tearDown() 方法中使用以下行来终止当前浏览器会话

$this->stop();

这会杀死浏览器,但会产生错误:“会话 xxxxxx 不存在或已结束”

=> 没错,但是在这种情况下如何让 Selenium 开始一个新会话?

感谢您提供任何线索。

【问题讨论】:

    标签: php selenium phpunit


    【解决方案1】:

    当我在我的测试类(测试文件)中创建一些测试方法时,我不使用

    $this->stop();
    在 tearDown() 方法中。 我注意到在每次测试结束时,浏览器都会自行关闭。我只是在 setUp() 方法中设置浏览器和浏览器 URL,然后在每个测试方法中使用
    $this->open('/');


    你试过这种简单的方法吗?

    【讨论】:

    • 感谢您的输入 - 是的,确实如您所描述的那样工作,但我想在测试后保持浏览器会话打开并在下一个会话中重新使用它。经过一系列测试后,我想终止浏览器会话并启动一个新会话。简而言之:我希望默认情况下重复使用浏览器会话,但对于某些测试,我希望能够关闭会话并打开一个新会话。
    • 好的,我明白了。也许这会有所帮助:groups.google.com/group/selenium-users/browse_frm/thread/…
    【解决方案2】:

    尝试添加

    -browserSessionReuse

    启动 Selenium RC 节点时的参数。

    【讨论】:

    • 您好 Jochen,感谢您的回答。我理解它的方式,PHPUnit_Extensions_SeleniumTestCase::shareSession(TRUE) 完全一样。我的问题是如何在使用此选项时结束浏览器会话并开始新的会话
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2018-09-20
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    相关资源
    最近更新 更多