Python+Selenium2自动化测试之IE、chrome浏览器启动
构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试。
1、在IE浏览器上运行测试脚本,首先需要下载IEDriverServer.exe,放在IE浏览器的安装目录且同级目录下,脚本如下:

import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys iedriver="C:\Program Files\Internet Explorer\IEDriverServer.exe"os.environ["webdriver.ie.driver"] =iedriver driver=webdriver.Ie(iedriver)
driver.get("http://www.python.org")assert"Python"indriver.title
elem= driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)assert"Google"indriver.title
driver.close()
driver.quit()

2、在Chrome浏览器上运行测试脚本,首先需要下载ChromeDriver.exe,放在Chrome浏览器的安装目录且同级目录下,脚本如下:

import os
from selenium import webdriver
from selenium.webdriver.common.keys importKeys chromedriver="C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"os.environ["webdriver.chrome.driver"] =chromedriver driver=webdriver.Chrome(chromedriver)
driver.get("http://www.python.org")assert"Python"indriver.title
elem= driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)assert"Google"indriver.title
driver.close()
driver.quit()

3、在Firefox浏览器上运行测试脚本,具体如下:

from selenium import webdriver
from selenium.webdriver.common.keys importKeys driver=webdriver.Firefox()
driver.get("http://www.python.org")assert"Python"indriver.title
elem= driver.find_element_by_name("q")
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)assert"Google"indriver.title
driver.close()
driver.quit()

总结:通过以上三个不同浏览器上的测试,说明selenium在python中的运用于其Java版本都是一样。由于Firefox是默认安装路径,webdriver可以正常访问找到他,如果非系统默认安装路径,则需要跟IE和Chrome一样来设置driver路径。实际上直接把driver驱动放到对应浏览器的默认安装路径下,然后设置PATH到该路径,即可成功启动,但是要注意调用时的大小写问题,比如webdriver.Ie(),绝对不能写成webdriver.ie(),否则会报错:module is not callable.
安装后调用报错:selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' execu table needs to be in PATH.,实际上已经将该driver的路径加到系统环境变量Path中了。
这个问题有两种解决方式,如果第一种不行,再试下第二种:
1、将chromedriver.exe放到python的安装路径下:C:\Python27,然后再调用
2、进入C:\Python27\Lib\site-packages\selenium\webdriver\chrome路径下,打开webdriver.py文件,将第33行代码中的executable_path="chromedriver"替换为chromedriver实际所在路径。
以上两种方式都亲测可行~
Python+Selenium2自动化测试之IE、chrome浏览器启动的更多相关文章
- python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍
1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...
- Python+Selenium自动化-安装模块和浏览器驱动操作方法
Python+Selenium自动化-安装模块和浏览器驱动操作方法 1.安装模块文件 pip install selenium 2.安装浏览器驱动 我们主要用的浏览器驱动有chrome浏览器.fire ...
- Chrome浏览器启动参数大全(命令行参数)
前言 在开发Web项目当中,浏览器必不可少,而浏览器的启动参数可以帮我们实现很多功能. 常用参数 常用参数请参考下表. 序号 参数 说明 1 --allow-outdated-plugins 不停用过 ...
- Chrome浏览器启动页被360导航篡改解决方法
右键Chrome浏览器快捷方式,选择“属性”,在“目标”的结尾处有添加的网址,删了即可. 2 如果在结尾处没有任何网址,可以添加“ -nohome”,这样下次启动时,就会打开一个空白页,也就不会打开被 ...
- Chrome浏览器启动报错:应用程序无法启动,因为应用程序的并行配置不正确。
因为国庆节了,难得关一次机(可能搞IT的习惯吧),结果给祖国庆祝完70寿辰之后归来,启动电脑,就打不开Chrome浏览器了,报错如下: 应用程序无法启动,因为应用程序的并行配置不正确.有关详细信息,请 ...
- Python+selenium自动化测试之浏览器基础操作
**前言** 本文主要讲解webdriber框架,Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows.Linux 和 Macintosh上的 Internet ...
- 【python+selenium自动化】设置Chrome启动参数
起因:直接用selenium的webdriver启动chrome,会弹出“Chrome正在受到自动软件的控制”,并且窗口较小,是因为chrome没有加载任何配置 解决:点进selenium的Chrom ...
- Appium+Python app自动化测试之脚本启动和停止Appium服务
研究了一段时间的Appium android app的自动化测试,工作中需要连接多台手机终端同时执行测试用例,我实现的方式是获取用例中需要执行用例的设备id个数以及实际连接到的设备数(通过adb de ...
- Python+Selenium 自动化实现实例-打开浏览器模拟进行搜索数据并验证
#导入模块 from selenium import webdriverfrom selenium.webdriver.common.keys import Keys #启动火狐浏览器driver = ...
随机推荐
- Django跨域解决方法
from django.utils.deprecation import MiddlewareMixin class Mymiddle(MiddlewareMixin): def process_re ...
- Python数据类型(数字)
文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform Python 变量类型 变量存储在内存中的值.这 ...
- javascript记住用户名和登录密码
javascript记住用户名和登录密码 下面主要通过代码给大家展示下javascript记住用户名和登录密码,具体代码内容请看下文. <script type="text/javas ...
- 【Lua】关于遍历指定路径下所有目录及文件
关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库. 首先创建一个temp.lua文件,用编辑器打开: 要使用lfs库,首先需要把lfs库加载进来 require("lf ...
- PHP返回404状态码,由服务器处理
1. 通过header()方法来实现, 最简单的方法,而且对php的版本没什么限制 <?php header('HTTP/1.1 404 Not Found'); ...
- Java绘制图片并进行合成
以下代码可以生成六行两列的图片,代码改成了可以接受参数可循环的. package com.xgt.util; import com.sun.image.codec.jpeg.JPEGCodec; im ...
- GridView 基本使用
项目中实例一 <asp:GridView ID="gvBatchReceive" runat="server" AutoGenerateColumns=& ...
- jvm内置锁synchronized不能被中断
很久没看技术书籍了,今天看了一下<七周七并发模型>前面两章讲的java,写的还是有深度的.看到了一个有demo,说jvm内置锁synchronized是不能被中断的.照着书上写了个demo ...
- Redis安装、配置
一.Redis安装 Linux安装 下载tar包,移至Linux目录下 解压:tar -zxvf redis-4.0.1.tar.gz 安装gcc:yum install gcc-c++(编译失败需安 ...
- [转]Shared——Javascript中的call详解
call( ) 一.call的使用 call 方法第一个参数是作为函数上下文的对象,第二个参数是一个参数列表. var obj = { name: 'J' } function func(p1, p2 ...