在实际的自动化测试实践中,因为越来越多的站点接入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. 无需重新编译php加入ftp扩展的解决方法

    无需重新编译php加入ftp扩展的解决方法   本文为大家介绍无需重新编译php加入ftp扩展的方法,有需要的朋友可以参考下   首先,进入源码目录cd php-5.2.13/ext/ftp #运行p ...

  2. 跟着Sedgewick学算法(week 1 UnionFind)

    发现笔记转过来,没有图的~~~~~~~~~~~悲剧,给出共享笔记链接 https://www.evernote.com/pub/yanbinliu/algorithm 很久之前就在coursera看到 ...

  3. MBT简述:基于模型的测试

    参考: 1.http://blog.csdn.net/TMQ1225/article/details/53940828 2.http://tmq.qq.com/2016/12/graphwalker/ ...

  4. apache 的rewrite函数配置伪静态

    配置伪静态目的:对于访问比较长的uri,利于网站搜索工具更容易记住,换句话利于SEO 在配置文件中添加或找到 <IfModule mod_rewrite.c> </IfModule& ...

  5. 前端打包利器:webpack工具

    一.什么是WebPack,为什么要使用它? 1.为什要使用WebPack 现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端 ...

  6. Elasticsearch教程(九) elasticsearch 查询数据 | 分页查询

    Elasticsearch  的查询很灵活,并且有Filter,有分组功能,还有ScriptFilter等等,所以很强大.下面上代码: 一个简单的查询,返回一个List<对象> ..    ...

  7. vuex mapMutations 使用

    你可以在组件中使用 this.$store.commit('xxx') 提交 mutation,或者使用 mapMutations 辅助函数将组件中的 methods 映射为 store.commit ...

  8. JAVA学习第四十八课 — IO流(二):文件的复制 &amp; 缓冲区1

    一.复制文本文件 将G盘的文本文件拷贝到D盘上 也就是 读取G盘中文本文件的数据.写入D盘中->连读带写 而剪切呢.就是连读带写后,删除原盘的文件 <span style="fo ...

  9. 去除List中重复的元素

    今天碰到一个问题,想了好久都没有明白,网上找了一个文章,先收藏起来,有空了一定要想明白 用Set ,倘若list里边的元素不是基本数据类型而是对象,那么请覆写Object的boolean equals ...

  10. Java + Selenium + Appium手机自动化测试

    一.启动测试机或者Android模拟器(Genymotion俗称世界上最快的模拟器,可自行百度安装) 二.启动Appium(Appium环境安装可自行百度) 三.安装应用到Genymotion上,如下 ...