美文网首页我爱编程
selenium测试https网站

selenium测试https网站

作者: 苏糊 | 来源:发表于2017-03-30 21:36 被阅读249次

    当访问一个https的网站,通常浏览器会收到一份证书,该证书包含了服务器的公钥以及CA的签名。

    当浏览器接收到服务器发过来的公钥证书时有两种情况:
    浏览器已经安装了CA的公钥解开CA的签名,并HASH得到的证书内容与之相比较,一致则相信由CA颁发过来的证书
    浏览器并没有CA的公钥,也就解不来CA的签名,用户可以选择相信,并把该站点设置为信任站点

    大多数CA颁发证书是需要收费的,因此也有很多https的网站用的是非权威服务器颁发的证书,使用浏览器打开此类https网站,浏览器检测到证书非权威时为了安全性考虑会弹出提示信息,由用户决定是否继续访问站点。平常我们选择添加例外并继续访问就行了,下次访问同个站点就不会弹出提示。但是用Selenium进行测试时不希望遇到这种问题,因为selenium启动firefox时,每次都会新建一个profile作为启动的profile。这样无论你添加多少次例外,测试的时候都需要手动选择,打断了测试,自动化无法继续进行。因此事先对Firefox进行配置,使其相信被测站点,使自动化更加容易和稳定。

    如何解决这个问题呢?思路很简单
    一、创建一个特殊profile,此profile里添加了测试站点为安全例外。
    二、selenium启动firefox时调用此profile,而不是创建新profile。
    因为调用的profile预添加了站点为例外,访问站点时便不会再弹出安全提示了。

    下面看看具体如何设置
    1、创建新的profile,打开cmd,进入FireFox安装路径,然后输入命令firefox -p
    cd C:\Program Files (x86)\Mozilla Firefox
    firefox -p

    弹出如下对话框,点击创建配置文件

    创建配置文件

    在弹出的新窗口中点击下一步,然后命名随便,点击完成,如下,这样便生成了新的profile。注意复制一下保存路径,等会儿会用到。

    创建配置文件2

    2、创建新的profile后第一步操作还没完,我们得往profile里添加测试站点为安全例外。
    这儿如下图选择新建的profile并点击启动Firefox按钮,注意去掉勾选启动时不询问并使用选定的配置文件这个选项。如果勾选,以后每次启动都是调用新建的profile,那么你会发现之前添加的Firefox插件,添加的书签、证书等等都没了。

    启动Firefox

    以新的profile起动firefox后,我们直接访问测试站点,这个时候会弹出安全提示,我们根据提示添加安全例外。添加完可以在Firefox选项--高级--证书里查看是否存在添加的测试站点,如下图。当然也可以直接在这儿点击添加例外来添加站点。

    添加安全例外

    到这儿,第一步就设置完了,我们创建了新的profile,也往profile里添加了例外。

    3、selenium启动firefox时调用此profile,而不是创建新profile。这步很简单,看脚本就明白了。

    selenium启动firefox时调用profile

    相关文章

      网友评论

        本文标题:selenium测试https网站

        本文链接:https://www.haomeiwen.com/subject/atopottx.html