在实际的自动化测试实践中,因为越来越多的站点接入https,使得我们原有的python selenium2自动化测试代码进行测试时,浏览器总是报安全问题,即便在浏览器选项中将被测网址加入信任网址也没用。

一般情况下,我们访问http站点时的代码如下:

driver = webdriver.Firefox()

driver.get(u'http://www.testingunion.com')

一般情况下,这样处理是正常, 但如果目标url是HTTPS访问模式,则浏览器会提示安全问题或是非信任站点。

在不同的浏览器上显示的提示如图所示(这里以英文版的浏览器为准):

浏览器SSL提示

我们看一下IE的解决方案,对ie浏览器而言,需要添加Desired Capabilities的acceptSslCerts选项为True,代码如下:

#_*_ coding:utf-8 _*_

__author__ = '苦叶子'

from selenium import webdriver

if __name__ == '__main__':

capabilities = webdriver.DesiredCapabilities().INTERNETEXPLORER

capabilities['acceptSslCerts'] = True

driver = webdriver.Ie(capabilities=capabilities)

driver.get(u'https://cacert.org/')

print driver.title

driver.quit()

对于firefox浏览器则需要添加FirefoxProfile()的accept_untrusted_certs的选项为True,示例代码如下:

#_*_ coding:utf-8 _*_

__author__ = '苦叶子'

from selenium import webdriver

if __name__ == '__main__':

profile=webdriver.FirefoxProfile()

profile.accept_untrusted_certs=True

driver=webdriver.Firefox(firefox_profile=profile)

driver.get(u'https://cacert.org/')

driver.close()

对于chrome浏览器则需要添加ChromeOptions()的--ignore-certificate-errors选项为True,示例代码如下:

#_*_ coding:utf-8 _*_

__author__ = '苦叶子'

from selenium import webdriver

if __name__ == '__main__':

options=webdriver.ChromeOptions()

options.add_argument('--ignore-certificate-errors')

driver=webdriver.Chrome(chrome_options=options)

driver.get(u'https://cacert.org/')

driver.close()

结束语

对于在利用上述方式针对不同浏览器处理SSL时,可能还会碰到还是处理不了的情况,比如提示证书损坏、无效等等;如果出现这类情况,请联系网站管理员更新SSL证书。

python selenium - SSL处理(https)的更多相关文章

  1. web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  2. 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试

    Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...

  3. python+selenium+Robot

    准备工作: 1.下载python2.7 http://python.org/getit/ 2.下载下载setuptools [python 的基础包工具] 可以帮助我们轻松的下载,构建,安装,升级,卸 ...

  4. python+selenium环境搭建

    这里主要基于windows平台. 下载python.http://python.org/getit/ 下载setuptools [python的基础包工具].http://pypi.python.or ...

  5. Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接

    今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...

  6. Python selenium自动化网页抓取器

    (开开心心每一天~ ---虫瘾师) 直接入正题---Python selenium自动控制浏览器对网页的数据进行抓取,其中包含按钮点击.跳转页面.搜索框的输入.页面的价值数据存储.mongodb自动i ...

  7. Python+Selenium基础篇之1-环境搭建

    Python + Selenium 自动化环境搭建过程 1. 所需组建 1.1 Selenium for python 1.2 Python 1.3 Notepad++ 作为刚初学者,这里不建议使用P ...

  8. python selenium 自动化测试web

    如何使用python完成自动化测试web页面呢?首选selenium   那基于python的selenium如何使用,下面看一段测试案例: 基于python的selenium 安装方法: pip i ...

  9. WEB自动化(Python+selenium)的API

    在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家                                         ...

随机推荐

  1. 深入分析GCC 与 编绎系统透视

  2. 关于Android导入开源项目:Error:Unable to load class 'org.gradle.api.publication.maven.internal.DefaultMavenFa

    在导入开源项目时,有可能会要求需要maven插件,并报出一下错误: 对于没有安装maven插件的开发者来说,要去下载一个maven插件也许不困难,但是,有时候可能会像我一样懒,不去下载插件,那么我们可 ...

  3. JAVA中几种常见集合的使用实例

    Java.util.ArrayList(类): *;import java.util.*;public class CollectionTest{//List是一个能包含重复元素的已排序的Collec ...

  4. java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

    一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...

  5. Git历险记(二)——Git的安装和配置

    各位同学,上回Git历险记(一)讲了一个 “hello Git” 的小故事.有的同学可能是玩过了其它分布式版本控制系统(DVCS),看完之后就触类旁通对Git就了然于胸了:也有的同学可能还如我当初入手 ...

  6. component-scan和annotation-driven

    <context:component-scan/> 该xml配置作用是启动Spring的组件扫描功能,自动扫描base-package指定的包及其子文件下的java文件,如果扫描到有@co ...

  7. ElasticSearch获取指定Field数据的Java方法

    ElasticSearch(ES)检索后需要结果时,可能通过source接口读出.但是这样的话,返回的结果会很多.在调用search方法时,我们可以添加addfield或addfields方法,仅仅读 ...

  8. 甲骨文Java Archive

    甲骨文Java Archive 甲骨文Java Archive提供自助下载访问我们的一些历史的Java版本. 警告: 这些旧版本的JRE和JDK来帮助开发人员提供了在旧系统调试问题. 他们没有更新最新 ...

  9. Eclipse对于多个Java项目的支持并不友好!

    本文吐槽! 如果我们创建两个Java项目.一个叫StatsReader.把数据从网上下载到本地数据库里.一个叫StatsViewer.把数据从数据库里拿出来呈现给用户.这两个项目都要用同一个外部类库m ...

  10. Transform.eulerAngles 欧拉角

    var eulerAngles : Vector3 Description描述 The rotation as Euler angles in degrees. 旋转作为欧拉角度. The x, y, ...