session - Selenium 测试 - 跨多个测试运行保留 session

标签 session selenium selenium-rc

我有以下问题。当我开始我的 selenium 测试时,要到达执行实际测试的部分,我需要启动浏览器,登录,做一些其他操作,然后就是我要测试的部分。

有没有办法只做一次第一部分,让 session 和浏览器保持打开状态。并且对于下一次测试运行只继续这个 session ,而不启动。

所以基本上我会有一个测试初始化​​,并让 session 保持打开状态。
和其他使用这个初始化 session 的测试,每次都重用这个 session 。

我正在使用 Java 和 Selenium RC。

谢谢!

最佳答案

这取决于您的环境。我将 C# 与 Selenium RC(以及因此的 NUnit 测试框架)一起使用。由于您使用 Java(并且可能是 JUnit),因此它的工作方式相同。
JUnit 和 NUnit 都允许您指定在每个测试之前、每个测试之后、每个套件之前或每个套件之后执行的特殊代码。

在您的情况下,您希望提供在套件之前运行的代码(套件只是一个命名空间(C#)或类(Java)中所有测试用例的集合)。在 C# 中,我使用这样的代码—— [TextFixtureSetUp] 指令是让 NUnit 将其识别为套件设置代码的原因。

   [TestFixtureSetUp]
    public void SetupTest()
    {
        selenium = Setup.StartSelenium();
        Setup.Login();
        Setup.Preliminaries();
    }

Java 中的等效名称是使用 @BeforeClass 属性如
public class Example {
    @BeforeClass
    public static void onlyOnce() {
       ...
    }
 }

我最近的文章Web Testing with Selenium Sushi: A Practical Guide and Toolset非常专注于 C#,但它可能会为您提供一些可以应用于 Java 工作的一般想法。

关于session - Selenium 测试 - 跨多个测试运行保留 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5230197/

相关文章:

Firefox 中的 xpath-locator 插件

node.js - NodeJs Express,在 View 中显示 session

java - 将 RequestAttributes 传递给新线程后, session 丢失

selenium - 使用 Selenium Webdriver 测试 ZK 应用程序

c# - Selenium C# - ElementExists 没有 "By locator"

Internet Explorer 中的 Selen 测试总是超时?

javascript - 跨多个选项卡的亲子导航

php - session_start() 导致 IE8 中通过 PHP 下载 PDF 变得困惑

java - 如何在 Java 中使用 Selenium 通过 firefox 下载 XLSX 文件?

python - 使用 selenium python 将焦点放在对象上