




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Python语言中的Selenium环境搭建目录1.selenium介绍1.1selenium历史1.Selenium1.02.Selenium2.03.Selenium3.02.selenium的环境配置步骤2.1安装/卸载selenium2.2安装drive3.selenium-webdriver元素定位参考4.实例
1.selenium介绍
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏
览器包括IE(7,8,9,10,11),MoillaFirefox,Safari,GoogleChrome,Opera,Edge等。
这个工具的主要功能包括:测试与浏览器的兼容性一测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能一创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成Python、Net、Java、Peri等不同语言的测试脚本。
1.1selenium历史
Selenium经历了三个大版本,Selenium1.0、Selenium2.0和Selenium3.0。Selenium不是由单独一个工具构成的,而是由一些插件和类库组成的,这些插件和类库有其各自的特点和应用场景。
Selenium1.0家族关系如图所示:
1.Selenium1.0
(1)SeleniumIDE。
SeleniumIDE是嵌入在Firefox浏览器中的一个插件,可实现简单的浏览器操作的录制与回放功能。
(2)SeleniumGrid。
SeleniumGrid是一个自动化测试辅助工具。利用Grid可以很方便地实现在多台机器上或异构环境中运行测试用例。
(3)SeleniumRC。
SeleniumRC(RemoteControl)是Selenium家族的核心部分,支持多种不同语言编写的自动化测试脚本。把SeleniumRC的服务器作为代理服务器去访问应用,即可达到测试的目的。
SeleniumRC分为ClientLibraries和SeleniumServer两部分。ClientLibraries主要用于编写测试脚本,负责控制SeleniumServer的库。SeleniumServer负责控制浏览器行为。
SeleniumServer主要分为三部分:SeleniumCore、Launcher和HttpProxy。SeleniumCore就是一堆JavaScript函数的集合。通过这些JavaScript函数,我们可以用程序对浏览器进行操作。Launcher用于启动浏览器,把SeleniumCore加载到浏览器页面当中,同时,把浏览器的代理设置为HttpProxy。
2.Selenium2.0
Selenium2.0把WebDriver加到了Selenium1.0这个家族中,简单用公式表示如下:
Selenium2.0=Selenium1.0+WebDriver
需要注意的是,在Selenium2.0中主推的是WebDriver,可以将其看作SeleniumRC的替代品。为了保持向下的兼容性,Selenium2.0并没有彻底抛弃SeleniumRC。
SeleniumRC与WebDriver的工作方式有着本质的区别。
SeleniumRC是在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese的(selenese是Selenium命令集合)。
WebDriver通过原生浏览器支持或者浏览器扩展来直接控制浏览器。WebDriver是针对各个浏览器而开发的,取代了嵌入被测Web应用中的JavaScript。WebDriver与浏览器紧密集成,支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除来自浏览器厂商的支持外,WebDriver还可利用操作系统级的调用,模拟用户输入。
Selenium与WebDriver原本属于两个不同的项目,WebDriver的创建者SimonStewart早在2009年8月的一封邮件中解释了项目合并的原因。
3.Selenium3.0
2016年7月,Selenium3.0悄悄发布了第一个beta版。Selenium3.0做了以下更新。
(1)去掉了SeleniumRC,简单用公式表示如下:
Selenium3.0=Selenium2.0SeleniumRC
(2)Selenium3.0只支持Java8以上版本。
(3)Selenium3.0中的Firefox浏览器驱动独立了。Selenium2.0测试库默认是集成Firefox浏览器驱动的,在Selenium3.0中,Firefox浏览器和Chrome浏览器一样,在使用前需要下载和设置浏览器驱动。
(4)macOS操作系统集成了Safari的浏览器驱动,该驱动默认在/usr/bin/safaridriver目录下。
(5)只支持IE9.0以上版本。
4.SeleniumIDE
SeleniumIDE同样是Selenium的家族成员。SeleniumIDE有两个版本,旧版的SeleniumIDE是基于Firefox浏览器扩展的
它提供了比较完备的自动化功能,如脚本录制/回放、定时任务等;还可以将录制的脚本导成不同编程语言的Selenium测试脚本,这在很大程度上可以帮助新手编写测试用例。
但旧版的SeleniumIDE不支持Firefox新版本支持的API,因此Selenium团队重新开发了新版的SeleniumIDE,可以同时支持Chrome、Firefox以及其他浏览器。
新版的SeleniumIDE如图所示,功能比较简单
2.selenium的环境配置步骤
1.准备好python环境2.准备好selenium环境3.下载浏览器对应的driver版本4.driver配置环境变量5.在python中import对应的依赖
2.1安装/卸载selenium
打开cmd窗口,
使用命令pipinstallselenium安装selenium
然后用命令pipshowselenium查看是否安装成功。
卸载命令pipuninstallselenium
Selenium版本3.141.0
PythonIDLE验证:没有报错证明成功
2.2安装drive
设置浏览器的驱动非常简单。我们可以手动创建一个存放浏览器驱动的目录,如:D:\driver,将下载的浏览器驱动文件(例如:chromedriver、geckodriver、IEDriverServer)丢到该目录下。
我的电脑属性系统设置高级环境变量系统变量Path,将D:\driver目录添加到Path的值中。
Path
;D:\driver
注意:drive的版本应该与浏览器保持兼容
Chrome下载地址/chrome64win-stable/list_2_2.html
Chromedriver下载地址:/index.html
验证驱动打开python自带的编辑器
代码:
importselenium
fromseleniumimportwebdriver
driver=webdriver.Chrome
注意:ChromeC区分大小写
3.selenium-webdriver元素定位参考
自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告。本篇主要讲如何用firefox辅助工具进行元素定位。(新版本的Chrome右键检查可以查看元素)
元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定位占70%;操作元素10%,获取返回结果10%;断言10%。如果一个页面上的元素不能被定位到,那后面的操作就无法继续了。webdriver提供的八种基本元素定位方法。
selenium的webdriver提供了八种基本的元素定位方法,前面六种是通过元素的属性来直接定位的,后面的xpath和css定位更加灵活,需要重点掌握其中一个。
1.通过id定位:find_element_by_id()2.通过name定位:find_element_by_name()3.通过class定位:find_element_by_class_name()4.通过tag定位:find_element_by_tag_name()5.通过link定位:find_element_by_link_text()6.通过partial_link定位:find_element_by_partial_link_text()7.通过xpath定位:find_element_by_xpath()8.通过css定位:find_element_by_css_selector()
4.实例
importtime
importselenium
fromseleniumimportwebdriver
#1、创建Chrome实例。
driver=webdriver.Chrome()
#2、driver.get方法将定位在给定的URL的网页。
driver.get("
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 被猫抓伤免责协议书
- 酒吧部门承包协议书
- 车辆内部通信协议书
- 项目分包免责协议书
- 车间员工承包协议书
- 出租房装修合同协议书
- 运营中心授权协议书
- 防疫卡口接车协议书
- 辽宁毕业三方协议书
- 车辆纠纷解决协议书
- 2024年10月自考00152组织行为学试题及答案
- 承包荒地治沙合同范例
- 心血管内科降低患者桡动脉止血器压迫不适发生率品管圈PDCA成果汇报书
- 第11课 近代职业教育的兴起和发展
- 软著设计说明书
- 第二单元《践行职业道德》测试卷-高二思想政治课《职业道德与法治》附答案
- 三年合同到期不续签劳动仲裁申请书
- 申请银行减免利息的申请书
- 员工培训与开发
- 维修协议劳务合同
- 《长大以后做什么》绘本省公开课获奖课件说课比赛一等奖课件
评论
0/150
提交评论