上一篇写了自动化测试需要的最基础环境配置,地址: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浏览器驱动配置的更多相关文章

  1. Python3+Selenium2完整的自动化测试实现之旅(七):完整的轻量级自动化框架实现

    一.前言 前面系列Python3+Selenium2自动化系列博文,陆陆续续总结了自动化环境最基础环境的搭建.IE和Chrome浏览器驱动配置.selenium下的webdriver模块提供的元素定位 ...

  2. Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介

    前言 之前的系列博客,陆续学习整理了自动化测试环境的搭建.IE和Chrome浏览器驱动的配置.selenium-webdriver模块封装的元素定位以及控制浏览器.处理警示框.鼠标键盘等方法的使用,这 ...

  3. Python3+Selenium2完整的自动化测试实现之旅(一):自动化测试环境搭建

    1     环境搭建准备 (1)    下载Python3版本的安装包,直接官网下载即可:Python官网:https://www.python.org/ (2)    下载Python的基础工具包p ...

  4. Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换

    本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1    浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...

  5. Python3+Selenium2完整的自动化测试实现之旅(三):Selenium-webdriver提供的元素定位方法

    本篇以实例介绍selenium下的webdriver模块提供的定位页面元素(也可以称为对象)的方法和使用技巧,在此注意:在做WEB自动化测试前,需要对前端相关的技术有所了解,如HTML.XML.Xpa ...

  6. Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用

    一.Unittest单元测试框架简介 Unitest是Python下的一个单元测试模块,是Python标准库模块之一,安装完Python后就可以直接import该模块,能在单元测试下编写具体的测试用例 ...

  7. Selenium3 + Python3自动化测试系列一——安装Python+selenium及selenium3 浏览器驱动

    一.安装Python https://www.python.org/downloads/ 验证Python是否安装成功.打开Windows命令提示符(cmd),输入python,回车 注意:在安装的过 ...

  8. web自动化测试python+selenium学习总结----selenium安装、浏览器驱动下载

    一.安装selenium 命令安装selenium库 :pip  install -U selenium 查看selenium是否安装成功:pip list PS:有时会有异常,安装失败,可以尝试去s ...

  9. selenium2 Webdriver + Java 自动化测试实战和完全教程

    selenium2 Webdriver + Java 自动化测试实战和完全教程一.快速开始 博客分类: Selenium-webdriverselenium webdriver 学习selenium ...

随机推荐

  1. java中bigInteger的应用

    BigInteger abs()  返回大整数的绝对值BigInteger add(BigInteger val) 返回两个大整数的和BigInteger and(BigInteger val)  返 ...

  2. Js 运行机制和Event Loop

    一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. Java ...

  3. COCOMOII的使用说明

    if(airline.equals("欧美")) { result="所有座位都有食物供应,每个座位都可以播放电影"; } if(airline.equals( ...

  4. [文章汇总]ASP.NET Core框架揭秘[最近更新:2018/10/31]

    之前一段时间都在个人公众号账号“大内老A”发布关于ASP.NET Core的系列文章,很多人留言希望能够同步到这里,所以在这里 对这些文章做一个汇总,以便于PC端阅读.如果说微软官方文档主要关于ASP ...

  5. Java中的线程协作之Condition

    一.Condition接口 1.Condition接口的常用方法介绍 /** * 已经获取到锁的线程调用该方法会进入等待状态,知道其他持有锁的线程通知(signal)等待队列中的线程或者被中断退出等待 ...

  6. Java软件工程师面试题:Java运行时异常与一般异常有什么不一样?

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误.java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕 ...

  7. Node.js(day5)

    一.NOSQL NOSQL是Not Only SQL的简称,与关系型数据库对应,一般称为非关系型数据库.关系型数据库遵循ACID规则,而NOSQL存储数据时不需要严格遵循固定的模式,因此在大数据的今天 ...

  8. [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 ...

  9. [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 ...

  10. 你还在 Select * 吗?

    应用程序慢如牛,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们 ...