我有以下问题。当我开始我的硒测试,去那里进行实际测试的一部分,我需要启动浏览器,登录,做一些其他的操作,然后说到我要测试的一部分。
难道就没有办法做的第一部分只有一次,离开了会议,并在浏览器中打开。而对于接下来的试运行只能继续本次会议,无需启动。
所以基本上我想有一个测试初始化,并离开会议开幕。并使用此初始化会话等检查,每次重用会话。
我使用Java和硒RC。
谢谢!
它在你的环境取决于一点。我使用C#与硒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工作的一些总体思路。
我会建议使用testng它可以让你分别以@BeforeClass,@BeforeSuite只有课前或测试套件使用像某些一段代码的调用前处理Java注解。在这里您可以定义硒服务器实例,做浏览器调用一个类测试套件之前(也有很多其他的选择也可以),然后这可能在随后的测试方法来重复使用。
在一个行:您可以使用该Firefox配置文件。
详情:1.登录在Firefox手动(使用,记住我你的网站的选择,如果它的存在,否则就应该没问题。)2.转到Firefox菜单>帮助>疑难解答信息>配置文件文件夹(点击它)。 3.当你调用您硒的webdriver(不知道RC虽然),使用此
ProfilesIni profileIni = new ProfilesIni();
FirefoxProfile profile = profileIni.getProfile("<YOUR PATH TO FF PROFILE FROM STEP 2>");
this.driver = new FirefoxDriver(profile);
这样,您就可以直接登录到您的帐户。这也是快许多数据是从浏览器缓存中采摘新鲜不像Firefox配置