我有以下问题。当我开始我的 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/