我正在尝试使用Selenium 2.0(Webdriver)来实现一系列测试。在运行这些测试之前,我必须登录应用程序。由于该应用程序不是我“自己的”(测试 api 构建的功能),因此每个测试不应登录到我的应用程序来运行。
我更愿意执行以下操作:
- 将我的网络驱动程序测试连接到我打开的 Firefox 浏览器(已登录)
- 使用相同的浏览器运行我的 webdriver 项目。
据我了解,Selenium 通常会为其浏览器分配一个 session ID。但是,Selenium 2.0 驱动程序的当前 Java 实现不使用 session id(也许可以,但我不知道在哪里可以找到它。)
有人可以提供一些关于如何解决我的问题的指导吗(现有浏览器并使用 Selenium 2.0 (java) 运行多个测试)?提供的任何代码也会有所帮助。谢谢!
最佳答案
这是我学到的东西:
Selenium 1:正如 Ioan 之前建议的那样,在启动 Selenium RC 服务器时使用“-firefoxProfileTemplate”并指向 Firefox 配置文件的位置。
Selenium 2:我想您可以使用 Selenium 1 RC 服务器,但是,由于 Selenium 2 使用 WebDriver,您可以在代码中指向配置文件信息。
File profileDir = new File("/Users/_____/selenium/FFprofile");
FirefoxProfile profile =
new FirefoxProfile(profileDir);
WebDriver driver = new FirefoxDriver(
profile);
注释:
- 确保运行“firefox -profilemanager”来创建您的初始配置文件并保存您的登录信息。
- 允许浏览器/网站始终存储您的身份验证凭据,避免“弹出”/“登录”wwindows 等。
希望这对可能遇到类似问题的人有所帮助:在 Selenium 等中使用相同的浏览器配置文件。
关于java - 如何在同一浏览器上重新运行 Selenium 2.0 (webdriver) 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5383958/