Python3+Selenium2完整的自动化测试实现之旅(二):IE和Chrome浏览器驱动配置
上一篇写了自动化测试需要的最基础环境配置,地址:https://www.cnblogs.com/tdp0108/p/10412073.html
当前市面上很多公司开发的应用软件都是BS架构,即基于浏览器和服务器的程序,这里涉及到一个问题,就是在测试过程中需要测试各种浏览器的兼容性。本篇继续承接上篇,配置IE和Chrome浏览器驱动,用于实现自动化驱动打开不同的主流浏览器。
1 Chromedriver配置
(1) 下载谷歌浏览器驱动,下载地址:http://chromedriver.storage.googleapis.com/index.html?path=2.27/
(2) 下载前需要查看自己系统上安装的chrome版本,我们下载的谷歌驱动必须和我们的浏览器版本对应一致,如网上整理的chrome和chromedriver对应的版本如下

如我的系统安装的是chrome54版本,因此我下载了对应的v2.27的驱动版本,如下图

(3) 将下载的谷歌驱动的包解压,复制包下的chromedriver.exe文件,分别将该文件拷贝到Python和Chrome浏览器安装目录下,如下图:


(4) 然后我们还需要将谷歌浏览器的路径添加到环境变量的path变量中

(5) 以上配置好后,我们进入PyCharm中新建chromedriver.py的文件编辑以下代码,验证我们能否启动Chrome浏览器并打开百度网站,并退出浏览器,成功说明我们已经实现安装配置

2 IEdriver配置
(1) 下载安装IE浏览器驱动,下载地址:http://selenium-release.storage.googleapis.com/index.html?path=2.53/,这里注意:如果你的IE是32bit的IE浏览器,请对应下载32bit的驱动包,否则下载64bit的包,后面运行打开IE跑自动化脚本会很慢O(∩_∩)O。 和Chrome一样,将下载的IEDriverServer.exe放到python和ie浏览器安装目录下,并将ie安装路径添加到path路径下
(2) 配置后需要对IE进行安全设置,打开ie进入internet选项中,安全页签的Internet、本地Internet、受信任的站点、受限制的站点的启动保护模式全部去勾选

(3) 然后在【高级】中去勾选:启动增强模式

(4) 然后将IE浏览器缩放比例改为100%,如果不是100%缩放,自动化脚本能够打开IE但是不能访问web网页地址,IE也是够坑的~~~

(5) 针对IE11,需要修改注册表,一般我们的电脑是64位操作系统,使用regedit打开注册表,然后进入到如下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet
Explorer\Main\FeatureControl\FEATURE_BFCACHE

创建一个iexplorer.exe
注意:如果系统没有FEATURE_BFCACHE的键,就创建一个这样的项,然后添加一个iexplorer.exe即可,这样我们的IE设置就完成了!
(6) 验证IE的设置是否正确,尝试使用selenium调用IEDriver来模拟打开IE浏览器并打开百度网页,在PyCharm中编辑如下代码:

IE浏览器已经开启,说明我们配置正确,selenium模块成功调用了IEDriver。
这样我们配置的IE和Chrome浏览器驱动算是搞定了~~~~~~~,下篇:selenium-webdriver模块的常用元素定位和使用技巧
Python3+Selenium2完整的自动化测试实现之旅(二):IE和Chrome浏览器驱动配置的更多相关文章
- Python3+Selenium2完整的自动化测试实现之旅(七):完整的轻量级自动化框架实现
一.前言 前面系列Python3+Selenium2自动化系列博文,陆陆续续总结了自动化环境最基础环境的搭建.IE和Chrome浏览器驱动配置.selenium下的webdriver模块提供的元素定位 ...
- Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介
前言 之前的系列博客,陆续学习整理了自动化测试环境的搭建.IE和Chrome浏览器驱动的配置.selenium-webdriver模块封装的元素定位以及控制浏览器.处理警示框.鼠标键盘等方法的使用,这 ...
- Python3+Selenium2完整的自动化测试实现之旅(一):自动化测试环境搭建
1 环境搭建准备 (1) 下载Python3版本的安装包,直接官网下载即可:Python官网:https://www.python.org/ (2) 下载Python的基础工具包p ...
- Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换
本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1 浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...
- Python3+Selenium2完整的自动化测试实现之旅(三):Selenium-webdriver提供的元素定位方法
本篇以实例介绍selenium下的webdriver模块提供的定位页面元素(也可以称为对象)的方法和使用技巧,在此注意:在做WEB自动化测试前,需要对前端相关的技术有所了解,如HTML.XML.Xpa ...
- Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用
一.Unittest单元测试框架简介 Unitest是Python下的一个单元测试模块,是Python标准库模块之一,安装完Python后就可以直接import该模块,能在单元测试下编写具体的测试用例 ...
- Selenium3 + Python3自动化测试系列一——安装Python+selenium及selenium3 浏览器驱动
一.安装Python https://www.python.org/downloads/ 验证Python是否安装成功.打开Windows命令提示符(cmd),输入python,回车 注意:在安装的过 ...
- web自动化测试python+selenium学习总结----selenium安装、浏览器驱动下载
一.安装selenium 命令安装selenium库 :pip install -U selenium 查看selenium是否安装成功:pip list PS:有时会有异常,安装失败,可以尝试去s ...
- selenium2 Webdriver + Java 自动化测试实战和完全教程
selenium2 Webdriver + Java 自动化测试实战和完全教程一.快速开始 博客分类: Selenium-webdriverselenium webdriver 学习selenium ...
随机推荐
- java中bigInteger的应用
BigInteger abs() 返回大整数的绝对值BigInteger add(BigInteger val) 返回两个大整数的和BigInteger and(BigInteger val) 返 ...
- Js 运行机制和Event Loop
一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. Java ...
- COCOMOII的使用说明
if(airline.equals("欧美")) { result="所有座位都有食物供应,每个座位都可以播放电影"; } if(airline.equals( ...
- [文章汇总]ASP.NET Core框架揭秘[最近更新:2018/10/31]
之前一段时间都在个人公众号账号“大内老A”发布关于ASP.NET Core的系列文章,很多人留言希望能够同步到这里,所以在这里 对这些文章做一个汇总,以便于PC端阅读.如果说微软官方文档主要关于ASP ...
- Java中的线程协作之Condition
一.Condition接口 1.Condition接口的常用方法介绍 /** * 已经获取到锁的线程调用该方法会进入等待状态,知道其他持有锁的线程通知(signal)等待队列中的线程或者被中断退出等待 ...
- Java软件工程师面试题:Java运行时异常与一般异常有什么不一样?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误.java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕 ...
- Node.js(day5)
一.NOSQL NOSQL是Not Only SQL的简称,与关系型数据库对应,一般称为非关系型数据库.关系型数据库遵循ACID规则,而NOSQL存储数据时不需要严格遵循固定的模式,因此在大数据的今天 ...
- [Swift]LeetCode450. 删除二叉搜索树中的节点 | Delete Node in a BST
Given a root node reference of a BST and a key, delete the node with the given key in the BST. Retur ...
- [Swift]LeetCode808. 分汤 | Soup Servings
There are two types of soup: type A and type B. Initially we have N ml of each type of soup. There a ...
- 你还在 Select * 吗?
应用程序慢如牛,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们 ...