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 ...
随机推荐
- Ubuntu16.04安装之后连不上无线网?有可能是Realtek rtl8822be的原因
原以为昨天已基本写完在接触到Ubuntu以来遇到的所有问题了... 没想到今天去看有关ROS的资料时,居然无意间又看到了之前遇到的一个巨坑:安装完Ubuntu16.04之后,无线网用不了,根本无法连接 ...
- 四、蛋炒饭(Egg fried rice)
蛋炒饭,是一种常见菜肴.最早的记载见于1972年湖南长沙马王堆汉墓出土的竹简上有关"卵火高"的资料.经专家考证,"卵熇"是一种用黏米饭加鸡蛋制成的食品.有人推断 ...
- Python函数式编程之lambda表达式
一:匿名函数的定义 lambda parameter_list: expression 二:三元表达式 条件为真时返回的结果 if 条件判断 else 条件为假的时候返回的结果 三:map map(f ...
- python语法_模块
方便调用的分组函数文件,一个py模块就是一个模块,模块分三类 python标准库 第三方模块 应程序自定义模块 模块的掉用: 可以把多个功能(函数)包含在一个模块文件里,调用时直接使用import 就 ...
- python语法_列表生成器_生成器_迭代器_异常捕获
列表生成式 a = [x for x in range(10)] print(a) x 可进行操作 a = [x*2 for x in range(10)] print(a) x甚至可以为函数, de ...
- 对scanf和printf的研究!!
在做项目的时候,突然很纠结要不要清理.所以赶紧写一篇博客记一下!! 1. scanf函数 在代码中,如果碰到了两个挨着输入的情况,就会出现问题!! 输入一个字符 r 就会出现一下情况!! 第2句sca ...
- 微信小程序 + mock.js 实现后台模拟及调试
一.创建小程序项目 mock.js 从 https://github.com/nuysoft/Mock/blob/refactoring/dist/mock.js 下载 api.js:配置模拟数据和后 ...
- 深入理解Spring Redis的使用 (六)、用Spring Aop 实现注解Dao层的自动Spring Redis缓存
摘要: 主要针对Dao层的一些数据库查询的操作,数据实时性不强,直接加入缓存.当缓存中有的时候,就使用缓存中的数据.这样的方法,最终仅仅使用一个注解实现.对于之前的hibernate二级缓存使用,比较 ...
- [Swift]LeetCode713. 乘积小于K的子数组 | Subarray Product Less Than K
Your are given an array of positive integers nums. Count and print the number of (contiguous) subarr ...
- [Swift]LeetCode980. 不同路径 III | Unique Paths III
On a 2-dimensional grid, there are 4 types of squares: 1 represents the starting square. There is e ...