如何在 Selenium Web Driver 中使用 SSL 证书?

2023-11-26

我在 Windows 7 上使用 Selenium Web 驱动程序。

我正在尝试测试一个使用身份验证的网站,并且我需要使用 SSL 证书。

当我在 Selenium 之外使用 Firefox 时,一切正常,但我注意到 Selenium 打开的 Firefox 浏览器会话没有注册任何证书,因此很明显它不起作用。

这是我使用 Firefox“脱离”Selenium 时的高级首选项

enter image description here

当我使用Selenium打开的Firefox sessione时,这里你是一样的

enter image description here

我尝试保持会话打开并手​​动注册证书,但浏览器会话未注册证书。

这是我的代码,如果有用的话

package myTestProjects;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

public class GAMOPERA_Test_01 {

private static WebDriver driver = null;

public static void main(String[] args)  throws InterruptedException {

    // Create a new instance of the Firefox driver
    System.out.println("Creo una nuova sessione del browser Firefox ...");
    driver = new FirefoxDriver();

    //Put a Implicit wait, this means that any search for elements on the page could take the time the implicit wait is set for before throwing exception
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    // It is always advisable to Maximize the window before performing DragNDrop action
    System.out.println("Massimizzo la finestra del browser ...");
    driver.manage().window().maximize();
    Thread.sleep(3000L);

    //Launch the Sistema Piemonte Home Page
    System.out.println("Mi collego a Sistema Piemonte ...");
    driver.get("http://<my_site_url>");
    Thread.sleep(3000L);          

    // Find the element Accedi o 
    System.out.println("Accesso tramite certificato digitale ...");
    driver.findElement(By.xpath("/html/body/div[6]/div/div/div[2]/form/table/tbody/tr[3]/td/input")).click();        

    //driver.findElement(By.className("loginbutton")).click();
    Thread.sleep(3000L); 

    // Print TEST = OK!!
    System.out.println("TEST = OK !!");
    //driver.quit();

        }
}

有什么建议么?


我已经解决了!

在网上冲浪时我发现了这个帖子http://seleniummonk.blogspot.it/p/how-to-handle-ssl-cerificates.html这给了我解决方案。

我需要使用“Firefox 配置文件”(我使用默认配置文件...),这样我就可以获得所需的所有证书。

这是可以运行的新代码

package myTestProjects;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;

public class GAMOPERA_Test_01 {

private static WebDriver driver = null;

public static void main(String[] args)  throws InterruptedException {

    ProfilesIni profile = new ProfilesIni();
    FirefoxProfile ffProfile = profile.getProfile("default"); 

    // Create a new instance of the Firefox driver
    System.out.println("Creo una nuova sessione del browser Firefox ...");
    driver = new FirefoxDriver(ffProfile);          

    //Put a Implicit wait, this means that any search for elements on the page could take the time the implicit wait is set for before throwing exception
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    // It is always advisable to Maximize the window before performing DragNDrop action
    System.out.println("Massimizzo la finestra del browser ...");
    driver.manage().window().maximize();
    Thread.sleep(3000L);

    //Launch the Sistema Piemonte Home Page
    System.out.println("Mi collego a Sistema Piemonte ...");
    driver.get("<my_site_url>");
    Thread.sleep(3000L);          

    // Find the element Accedi o 
    System.out.println("Accesso tramite certificato digitale ...");
    driver.findElement(By.xpath("/html/body/div[6]/div/div/div[2]/form/table/tbody/tr[3]/td/input")).click();        

    //driver.findElement(By.className("loginbutton")).click();
    Thread.sleep(3000L); 

    // Print TEST = OK!!
    System.out.println("TEST = OK !!");
    //driver.quit();

        }

}

我希望这会有用!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Selenium Web Driver 中使用 SSL 证书? 的相关文章

  • 模拟框架对我有什么作用?

    我听说有些我无法交谈的人是 jmock 的忠实粉丝 我已经做了以测试为中心的开发多年 所以我浏览了网站并查看了一些文档 但仍然不知道它有什么好处 我对春天也有同样的问题 如果您已经了解它是什么 他们的文档会很好地解释它 所以我并不认为 jm
  • 修复 java 内存泄漏的学习网站

    学习修复 java 内存泄漏的最佳地点是什么 我一直试图在网络上找到好的资源 但令我失望的是 我发现正在讨论玩具示例 我还能够对小型玩具转储进行故障排除 但现实世界的应用程序转储更具挑战性 并且提供的线索很少 我尝试过 Jhat JMap
  • 如何检测线程是否被IO阻塞?

    在Java中 线程可以有不同的状态 新的 可运行的 阻塞的 等待的 TIMED WAITING 的 终止的 然而 当线程被IO阻塞时 其状态为 RUNNABLE 如何判断是否被IO阻塞 NEW 线程已创建但尚未处理 可运行 线程正在占用CP
  • 如何通过keytool命令删除已经导入的证书/别名?

    我正在尝试通过 keytool 命令删除已导入的证书 keytool delete noprompt alias initcert keystore keycloak jks 但低于异常 keytool 错误 java lang Excep
  • lombok - 多个镜头中的 @Builder 模式

    I use Builder of 龙目岛项目 https github com rzwitserloot lombok 所以考虑我有这个例子 Builder public class Client private Getter Setter
  • x.person 上的 @OneToOne 或 @ManyToOne 引用未知实体:y.Person - 继承问题

    我的 Hibernate 架构有问题 我有一个 MappedSuperClass 人员 一名员工和一名客户 gt Person class MappedSuperclass Audited public class Person exten
  • 如何在Spring Security SAML示例中配置IDP元数据和SP元数据?

    我想处理 Spring Security SAML 为此 我开始探索Spring安全SAML http docs spring io spring security saml docs 1 0 x reference html chapte
  • Android - Java - 发送 facebook 聊天消息的意图(facebook 禁用 xmpp)

    Facebook 已弃用 xmpp API 有没有办法打开意图 或将数据传递到fb 以在Android设备上发送聊天消息 设备上安装的 Facebook 和 Messenger 应用 谢谢 您需要将 uri 传递给意图 这里10000572
  • 让 Java 与 Windows 10 Ubuntu 一起使用

    我安装了 Windows 10 周年更新 以便可以在 Windows 上的 Ubuntu 上尝试 Bash 看如何安装 http www howtogeek com 249966 how to install and use the lin
  • 使用 Erlang 进行 https post 的简单示例

    我发现引用了一些使用 erlang 与 ssl 通过 rpc 和 http get 等的示例 但是我很难找到通过 erlang 将数据发布到 ssl 端点的示例 有人知道我缺少的一个简单例子吗 我想我明白了 我的论点是错误的 这就是我最终得
  • 使用 javax.mail 和 CentOS 的邮件服务器

    我有一个 Java 程序 安装在一台旧的 Ubuntu 机器上 并使用 javax mail 发送邮件 然而 那台机器宕机了 我现在在新的 CentOS 机器上运行相同的 Java 应用程序 但是 当我尝试使用 mail smtp host
  • java3d 中的面部着色

    使用java3d 如何不在每个顶点基础上着色 而是在每个面基础上着色 我尝试学习 java3d 但我生成的 Shape3d 看起来并不符合预期 我想用不同的颜色给不同的三角形着色 但我不知道该怎么做 纹理看起来有点大材小用 而且我根本没有掌
  • Java 中 LINQ 的等价物是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 中 LINQ 的等价物是什么 没有什么比 LINQ for Java 更好的了 Edit 现在
  • GAE - Eclipse 中的开发服务器未更新?

    我在 Eclipse 上使用 Google AppEngine 开发服务器 我的本地网页似乎没有更新 直到我在开发服务器上进行了多次重新启动 使用 Eclipse 中的 运行 或 调试 按钮 我究竟做错了什么 基本流程是 更改 java 文
  • ObservableList 不更新 ArrayList

    对于学校作业 我们正在使用 JavaFX 中的 ObservableList 对象 对吗 我已经为此工作了一天多了 但无法弄清楚 老师只告诉我们 谷歌一下 所以这也没有帮助 基本上 我们正在开发一个基本的管理应用程序来跟踪人们及其家人 人们
  • 对于每个抛出异常的语句,try/catch 是否被视为反模式?

    我目前正在审查同事的 Java 代码 我看到很多情况下 每个可能抛出异常的语句都被封装在自己的 try catch 中 其中 catch 块都执行相同的操作 哪个操作与我的问题无关 对我来说 这似乎是一种代码味道 我记得读到过它是一种常见的
  • 在调试模式下,哪些代码更改会自动反映在 Eclipse 中?

    我使用 eclipse 用于编写 调试 作为 IDE 在调试模式下 当我进行一些更改 例如初始化局部变量 时 它们会自动反映 但其他更改例如更改静态变量的值 有时我会收到一条消息 说我需要重新启动虚拟机 有时则不需要 现在的问题是哪些类型的
  • java.lang.NoClassDefFoundError:com.google.ads.AdView

    我正在尝试将 admob 广告合并到我的应用程序中 到目前为止我已经添加了以下代码 在我的应用程序主要活动的 onCreate 方法中 adView new AdView this AdSize BANNER my code number
  • 当我必须在 Netty4 编码器中调用 ByteBuf.retain() 时?

    我正在编写一个以 NUL 终止 JSON 消息的编码器 以便在消息碎片的情况下可以对其进行解码 我找到了这个样本 gt click https github com netty netty blob master codec src mai
  • 如何在 SpringDoc OpenAPI 3 中引用文件?

    我有 Spring Boot 项目 我想在其中记录我的 API 这里是正在处理的 Web 服务的示例 ApiResponses value ApiResponse responseCode 200 content Content media

随机推荐

  • 如何在 Angular2 中使用/包含 Fabricjs

    我想在我的项目中使用fabricjs 我使用 Bower 安装了 Fabricjs 并链接到了 index html 中 但它不起作用 请看下面的代码 索引 html
  • 在哪里调用base.WndProc()或base.DefWndProc()?

    我有一些关于重写 Windows 窗体 NativeWindow 的 WndProc 方法的问题 WndProc 和 DefWndProc 之间到底有什么区别 编辑 我之前以为它被称为 DefaultWndProc 我只能重写 WndPro
  • 如何将一个数近似到小数点后n位?

    我已经开始使用maxima就在几周前 实际上我刚刚使用过几次 wxMaximaOS X 的界面 我试图在网上找到这个问题的解决方案 但也许是因为我瞎了 或者可能是因为我在maxima官方文档中搜索的经验不多 所以我还没有找到具体的解决方案
  • Jenkins Git 管道中未设置环境变量

    我正在尝试读取 Jenkins 管道脚本中的一些环境变量 这些变量应该由 Git 插件设置 但似乎它们没有设置 因为当我尝试在脚本中使用时 它的值是空字符串 而且如果我使用 sh printenv 我可以看到它们没有设置 可能我错过了一些东
  • heightForRowAtIndexPath 用于更长的 NSString

    我有一个UITableView 分组 并且需要计算两种样式单元格的高度 UITableViewCellStyleDefault and UITableViewCellStyleValue2 我就是这样做的UITableViewCellSty
  • 如何使环境变量作为python sdk中的环境变量到达Dataflow工作人员

    我用 python sdk 编写自定义接收器 我尝试将数据存储到AWS S3 要连接 S3 需要一些凭据 密钥 但出于安全原因 最好在代码中设置 我想让环境变量作为环境变量到达数据流工作人员 我该怎么做 一般来说 为了向您不想硬编码的工作人
  • 在Python中计算日期是开始、未来还是现在

    我有两个日期 时间字符串 start date 10 2 2010 8 00 00 end date 10 2 2010 8 59 00 我需要编写一个函数来计算该事件是在未来 过去还是现在正在发生 我已经阅读了相当多的文档 但发现很难让它
  • javascript readAsArrayBuffer 返回空数组缓冲区

    我正在尝试使用 FileReader readAsArrayBuffer 属性读取本地文件 读取成功 在 onload 回调中 我在 reader result 中看到数组缓冲区对象 但数组缓冲区只是空的 设置了长度 但未设置数据 我如何获
  • Android 如何从 firebase 数据库中删除值?

    这是我在 firebase 中的第一个项目 我试图从 firebase 中删除值 但是当我尝试从 firebase 中删除值时 我的应用程序崩溃了 我不明白如何解决这个错误 服务等级 public class NotiListener ex
  • 如何打印一位?

    请告诉我如何打印一点 例如printf d bit 如果 bit 只是一个 int 其中包含最低有效位中所需的值 则 printf d bit 0x1 应该这样做 正在对仅设置了第一个有效位的数字进行二进制与 因此您将删除整数中的所有其余位
  • AngularJS ui-router: reload:true 也会重新加载父状态

    在这嘭嘭嘭你有两个 ui router 状态 一个父状态和一个子状态 当通过单击链接调用子项时 因为它有选项reload true它总是被重新加载 这很好 但问题是父状态也会重新加载 尝试多次单击 填充 11 链接 您将看到父时间戳也发生了
  • 如何使用 pandas 将多行合并为一行[重复]

    这个问题在这里已经有答案了 我需要将多行组合成一行 这将是简单的空格连接 View of my dataframe tempx value 0 picture1 1 5 1 picture555 1 5 2 picture255 1 5 3
  • 从多单元格区域获取格式化值

    Dim myText As String myText Range a3 Text 返回单元格 A3 中的格式化值 但是 myText Range a3 c7 Text 给我一个错误 如何从多单元格区域获取表示格式化值的字符串 同时保留数字
  • 空嵌套元组错误

    include
  • 更改 Google 地图信息窗口中的背景颜色

    我希望 Google 地图实现中的 InfoWindows 具有黑色背景颜色 InfoWindows 没有 backgroundColor 选项 See here 我在内容选项中放置了一个黑色背景和白色文本的 div 标签 然而 它仍然呈现
  • 错误:“用于调用 Google Play 开发者 API 的项目 ID 尚未在 Google Play 开发者控制台中链接。”

    我在使用服务帐户访问 Google Play Developer API 时收到以下错误 用于调用 Google Play 开发者 API 的项目 ID 尚未在 Google Play 开发者控制台中链接 服务帐户电子邮件和 p12文件是使
  • r - 来自子/父关系的分层数据框架

    我有一个子父 data frame 我想将其转换为包含所有级别和级别编号的完整层次结构列表 下面的示例数据分为三个级别 但也可能更多 我可以使用什么函数来转换数据 Source data frame name c land water ai
  • 如何删除 Matplotlib 图中的线条

    如何删除 matplotlib 轴的一行 或多行 使其实际上被垃圾收集并释放内存 下面的代码似乎删除了该行 但从未释放内存 即使显式调用gc collect from matplotlib import pyplot import nump
  • 了解 Vaadin 如何使用 GWT

    在使用 Vaadin 大约一周后 我很好奇 Vaadin 如何使用 GWT GWT 将 Javacode 编译为 Javascript 每次重新部署时都必须执行此操作 由于 Vaadin 必须被理解为一个以服务器为中心的框架 从而消除了编写
  • 如何在 Selenium Web Driver 中使用 SSL 证书?

    我在 Windows 7 上使用 Selenium Web 驱动程序 我正在尝试测试一个使用身份验证的网站 并且我需要使用 SSL 证书 当我在 Selenium 之外使用 Firefox 时 一切正常 但我注意到 Selenium 打开的