java - 如何在同一浏览器上重新运行 Selenium 2.0 (webdriver) 测试?

标签 java authentication selenium webdriver

我正在尝试使用Selenium 2.0(Webdriver)来实现一系列测试。在运行这些测试之前,我必须登录应用程序。由于该应用程序不是我“自己的”(测试 api 构建的功能),因此每个测试不应登录到我的应用程序来运行。

我更愿意执行以下操作:

  1. 将我的网络驱动程序测试连接到我打开的 Firefox 浏览器(已登录)
  2. 使用相同的浏览器运行我的 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);

注释:

  1. 确保运行“firefox -profilemanager”来创建您的初始配置文件并保存您的登录信息。
  2. 允许浏览器/网站始终存储您的身份验证凭据,避免“弹出”/“登录”wwindows 等。

希望这对可能遇到类似问题的人有所帮助:在 Selenium 等中使用相同的浏览器配置文件。

关于java - 如何在同一浏览器上重新运行 Selenium 2.0 (webdriver) 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5383958/

相关文章:

java - Android截击奇怪的错误

Java 开发套件与 Minecraft 1.8.9 Forge Modding,需要什么 JDK/JRE,代码是否正确?

java - 如何使用 renjin 在 java 中绘图

javascript - selenium javascript 中分割字符串的问题

javascript - 使用 Selenium 从 Javascript 网页派生文本

java - 使用扫描仪读取文件

ruby-on-rails - 使用 Rails 和 Devise 的 STI

java - 如何在 DGS 查询中启用 @AuthenticationPrincipal 参数

web-services - REST Web 服务的身份验证

java - Selenium 断言等于行为