【问题标题】:Can Selenium IDE deal effectively with Browser alertsSelenium IDE 能否有效处理浏览器警报
【发布时间】:2011-10-07 02:42:39
【问题描述】:

您好,我目前正在使用 Seleneium IDE 为电子商务网站编写测试脚本,这是在 HTTP 的测试环境中。我遇到的问题是测试支付网关 3D Secure 在 HTTPS 中,因此在使用 FireFox 时,当我从支付网关 3D Secure HTTPS 返回到站点测试环境时,浏览器会显示安全警告消息。

'虽然此页面已加密,但您输入的信息将通过未加密的连接发送,并且很容易被第三方读取。

您确定要继续发送此信息吗?'

我已经在 IDE 中尝试了 waitForAlert* 和 asertAlert* 的各种命令,但是这个 javascript 警报似乎覆盖了我使用的任何命令,并且基本上停止了脚本,直到使用手动干预。

我无法在 FF 中关闭此特定警报,因为我可以从各个论坛断言,因为它太重要而无法关闭,我在 FF 中尝试过 about:config

我可以明显关闭 3D 安全以允许脚本运行,但我更喜欢测试完整的用户场景,而不是适合自动化的测试。

非常感谢您的时间和帮助。

【问题讨论】:

    标签: selenium-ide


    【解决方案1】:

    我也遇到了同样的问题:

    我使用 Selenium Web 驱动程序来测试我的本地 http 服务器,该服务器将重定向发送到 https 服务(3DS 以及顺便说一句;)。问题不在于证书,而在于这个在 https/http 之间切换的硬编码警告。

    根据 MacGyver 的答案和这个答案 Key press in (Ctrl+A) Selenium WebDriver 的链接,我对此进行了测试,我可以确认它已关闭“虽然此页面已加密,但您输入的信息将通过未加密的连接发送,很容易被由第三方读取”对话框:

    Alert alert = driver.switchTo().alert();
    alert.accept();
    

    另一种解决方案似乎工作正常,但您会在最新的 Selenium 版本(例如 2.25.0)中获得 UnhandledAlertException :

    Actions a = new Actions(driver);
    a.sendKeys(Keys.ENTER).perform();
    

    【讨论】:

      【解决方案2】:

      选项 #1:

      最简单的方法是删除个人资料安全选项中的选项: http://forums.mozillazine.org/viewtopic.php?f=38&t=665552

      选项 #2:

      不确定这是否适用于不受信任的证书或您的安全警告,但论坛主题似乎适合。它要求您使用 Selenium RC 服务器。

      Firefox 的配置文件存储在此处:%APPDATA%\Mozilla\Firefox

      可以编辑个人资料:http://www.dennisplucinik.com/blog/2011/02/04/how-to-install-run-multiple-firefox-versions-in-windows-simultaneously/

      从此链接中关注下面的 sn-p: http://old.nabble.com/Security-Warning-on-final-page,-how-to-remove-td22907376.html

      如果使用 Firefox 3,请参阅以下帖子 https://developer.mozilla.org/En/Cert_override.txt

      我用来绕过此安全弹出窗口的解决方案仅适用于 Firefox 3 浏览器,并且可能更像是一种破解而不是修复,但它确实有效。

      1. 运行硒测试
      2. 在弹出提示时选择“永久接受此证书”
      3. 单击“确定”按钮(在此之后可能需要暂停一下,因为我们现在需要打开资源管理器来查找文件)
      4. 打开 Windows 资源管理器并导航到 => "C:\Users\xxxxxxxx\AppData\Local\Temp\customProfileDixxxx"
      5. 这是由 Firefox 创建的临时配置文件,其中包含一个名为“cert_override.txt”的文件
      6. 将“cert_override.txt”复制到您的临时目录
      7. 停止您的 selenium 服务器。
      8. 使用 WinRar 从“c:\selenium-remote-control-xxx\selenium-server-xxx”打开“selenium-server.jar”文件
      9. 将“cert_override.txt”文件拖到 WinRar 中的“selenium-server.jar\customProfileDirCUSTFFCHROME”文件夹中(不要删除或编辑 .jar 文件中的任何内容!!!!!!)
      10. 关闭 WinRar,启动 selenium 再试一次:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-10
        • 2023-01-02
        • 2015-09-18
        • 1970-01-01
        • 2017-08-06
        • 1970-01-01
        • 2012-10-06
        • 1970-01-01
        相关资源
        最近更新 更多