python语言seleniumWEB自动化测试课件

上传人:人*** 文档编号:573972836 上传时间:2024-08-15 格式:PPT 页数:27 大小:1.06MB
返回 下载 相关 举报
python语言seleniumWEB自动化测试课件_第1页
第1页 / 共27页
python语言seleniumWEB自动化测试课件_第2页
第2页 / 共27页
python语言seleniumWEB自动化测试课件_第3页
第3页 / 共27页
python语言seleniumWEB自动化测试课件_第4页
第4页 / 共27页
python语言seleniumWEB自动化测试课件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《python语言seleniumWEB自动化测试课件》由会员分享,可在线阅读,更多相关《python语言seleniumWEB自动化测试课件(27页珍藏版)》请在金锄头文库上搜索。

1、Web自动化 内部培训肖能尤2015-12-28第1页,共27页。一、Web自动化例子一任课老师登录教务系统查看备课步骤:1、打开firefox浏览器2、在浏览器地址栏输入教务网网址: 3、清除用户输入框信息4、在用户输入框输入用户名:5、清除密码输入框信息6、在密码输入框输入密码:1231237、选择“任课老师”角色8、点“教学管理”9、点“课前工作”查看备课情况第2页,共27页。一、Web自动化例子二班主任登录教务系统班级管理:1、打开firefox浏览器2、在浏览器地址栏输入教务网网址: 3、清除用户输入框信息4、在用户输入框输入用户名:5、清除密码输入框信息6、在密码输入框输入密码:1

2、231237、选择“班主任”角色8、点“教务管理”9、点“班级管理”10、点“座位安排”11、点“值日安排”12、点“干部管理”第3页,共27页。一、Web自动化例子三班主任登录教务系统班级管理:1、打开firefox浏览器2、在浏览器地址栏输入教务网网址: 3、清除用户输入框信息4、在用户输入框输入用户名:5、清除密码输入框信息6、在密码输入框输入密码:1231237、选择“班主任”角色8、点“教务管理”9、点“班级管理”10、点“座位安排”11、点“值日安排”12、点“干部管理”第4页,共27页。二、Web自动化环境搭建 Python+Selenium第一步:安装python1、直接一键安

3、装,全部默认方式2、设置Python环境变量(例如:安装到C:Python27,设置Path = C:Python27; Path = C:Python27Scripts;)3、测试Python是否安装成功进入windows 命令提示(开始-运行-cmd 命令,回车)下执行第5页,共27页。二、Web自动化环境搭建 Python+Selenium setuptools 是Python Enterprise Application Kit(PEAK)的一个副项目,它是一组Python 的distutilsde工具的增强工具可以让程序员更方便的创建和发布Python 包,特别是那些对其它包具有依赖

4、性的状况。第二步:安装setuptools-15.11、setuptools-15.1.tar文件,对文件进行解压2、在DOS下切换到下setuptools解压目录下,执行Python setup.py install第6页,共27页。二、Web自动化环境搭建 Python+Selenium pip 是一个安装和管理Python 包的工具,通过pip 去安装Python 包将变得十分简单,我们将省去了搜索-查找版本-下载-安装等繁琐的过程。pip 的安装依赖于setuptools ,所以在安装pip 之间需要先安装setuptools。第三步:安装pip1、pip-6.1.1.tar 文件,对

5、文件进行解压2、在DOS下切换到下pip-6.1.1解压目录下,执行python setup.py install3、安装完成,在Windows DOS命令提示符下敲入pip 命令:第7页,共27页。二、Web自动化环境搭建 Python+Seleniumpip 的安装是为了更方便的安装Selenium 包,直接通过pip 命令安装Selenium 包:第四步:安装Selenium1、在DOS命令下执行命令:pip install Selenium第8页,共27页。二、Web自动化环境搭建 Python+Selenium第五步:验证Selenium安装是否成功 在编译工具中编写下面的代码:(保

6、存为 pytest.py, 备注:后缀类型记得选Python的.py , 然后双击直接运行即可!)#cfrom Selenium import webdriverdriver = webdriver.Firefox()driver.get()driver.find_element_by_idoding=utf-8(kw).send_keys(Selenium2)driver.find_element_by_id(su).click()driver.quit()如果代码运行成功,就表示Selenium安装成功了! Very Good!第9页,共27页。三、什么样的项目适合自动化测试1、任务测试明

7、确,不会频繁变动2、每日构建后的测试验证3、比较频繁的回归测试4、软件系统界面稳定,变动少5、需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务6、软件维护周期长7、项目进度压力不太大8、被测软件系统开发比较规范,能够保证系统的可测试性第10页,共27页。四、常见的WEB自动化测试工具介绍QTP QTP 是HP Quick Test Professional software 的简称,是一种企业级的自动测试工具。提供了强大易用的录制回放功能。支持B/S 与C/S 两种架构的软件测试。是目前主流的自动化测试工具。Robot Framework Robot Framework 是一

8、款Python 编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。Selenium Selenium 也是一个用于Web 应用程序测试的工具,支持多平台、多浏览、多语言去实现自动化测试。其他、开源的以及公司自己开发的自动化测试工具第11页,共27页。五、Selenium 工具介绍一Selenium 自动化测试工具,它主要是用于Web 应用程序的自动化测试,但并不只局限于此,它还支持所有基于web 的管理任务自动化。Selenium 的特点: 开源,免费 多浏览器支持:FireFox、Chrome、IE、Opera 多平台

9、支持:linux 、windows、MAC 多语言支持:java、Python、Ruby、php、C#、JavaScript 对web 页面有良好的支持 简单(API 简单)、灵活(用开发语言驱动) 支持分布式测试用例执行Selenium 经历了两个版本,Selenium 1.0 和Selenium 2.0 ,Selenium 也不是简单一个工具,而是由几个工具组成,每个工具都有其特点和应用场景。第12页,共27页。五、Selenium 工具介绍二 第13页,共27页。五、Selenium 工具介绍三 Selenium 2.0 = Selenium 1.0 + WebDriver Seleni

10、um IDE 是嵌入到Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。 Selenium Grid 是一种自动化的测试辅助工具,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。其特点为:1、并行执行;2、通过一个主机统一控制用例在不同环境、不同浏览器下运行。 WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器,WebDriver 还利用操作系统级的调用模拟用户输入。 Selenium Server 负责控制浏览器行为,总的来说,Selenium Server 主要包括3 个部分:Launcher、Http Proxy、Core。其中Sel

11、enium Core 是被Selenium Server 嵌入到浏览器页面中的。其实Selenium 就是一堆JS 函数的集合,就是通过这些JS 函数,我们才可以实现用程序对浏览器进行操作。Launcher 用于启动浏览器,把selnium Core 加载到浏览器页面当中,并把浏览器的代理设置为Selenium Server 的Http Proxy。 第14页,共27页。六、前端 工具介绍- FireBug FireBug 是FireFox 浏览器下的一套开发类插件,它集HTML查看和编辑、Javascript 控制台、网络状况监视器、cookie 查看于一体,是开发JavaScript、CS

12、S、HTML和Ajax 的得力助手。 我们可以通过他方便的查看页面上的元素,从而根据其属性进行定位。在前web 自动化测试工作中,此工具必不可少。 安装方式:firefox 浏览器的菜单栏中选择tools(工具)-add-ons Manage(添加组件),搜索FireBug ;对搜索到的插件进行安装,再次重启浏览器即可使用。第15页,共27页。六、前端 工具介绍- FirePath FirePath 是FireBug 插件扩展的一个开发工具,用来编辑、检查和生成的XPath 1.0 表达式、CSS 3选择器以及jQuery 选择器。可以快速度的帮助我们通过xPath 和CSS 来定位页面上的元

13、素 当通过FireBug 的鼠标箭头选择一个页面元素后,FirePath 输入框将给出XPath 的表达式,快速的帮我们定位。注意:我们可以点击“XPath: ”按钮切换到CSS 定位方式,从而获得一个元素的CSS 定位方式。FirePath 的安装方式与FireBug 类似。第16页,共27页。七、 webdriver 8种元素的定位的方法介绍webdriver 提供了八种元素定位方法:1、 id 2、 name 3、 class name 4、tag name 5、link text 6、partial link text7、 xpath 8、css selector在Python 语言中

14、对应的定位方法如下:find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_name()find_element_by_link_text()find_element_by_partial_link_text()find_element_by_xpath()find_element_by_css_selector() 第17页,共27页。八、 webdriver 元素的定位的方法-前6种webdriver 提供的前6种元素定位的方法类似,都可以从页面找到1、 id 2、

15、name 3、 class name 4、tag name 5、link text 6、partial link text 第18页,共27页。八、 webdriver 元素的定位的方法-xpath XPath 是一种在XML 文档中定位元素的语言。因为HTML 可以看做XML 的一种实现,所以selenium用户可是使用这种强大语言在web 应用中定位元素。绝对路径定位: XPath 有多种定位策略,最简单和直观的就是写元素的绝对路径。如果仍然把一个元素看做一个人的话,那么现在有一个人,他没有任何属性特征,那么这个人一定会存在于某个地理位置,如:xx 省xx 市xx 区xx 路xx 号。那么

16、对于一个元素在一个页面当中也会有这样的一个绝对地址。 参考baidu.html 前端工具所展示的代码,我们可以用下面的方式来找到百度输入框和搜索按钮。 find_element_by_xpath(/html/body/div/div2/div/div/div/from/span/input)利用元素属性定位: 除了使用绝对路径的以外,XPath 也可以使用使素的属性值来定位。同样以百度输入框和搜索按钮为例了: find_element_by_xpath(/inputid=kw)/表示当前页面某个目录下,input 表示定位元素的标签名,id=kw 表示这个元素的id 属性值等于kw。还可以选择

17、通过name 和class 等属性值来定位。 第19页,共27页。八、 webdriver 元素的定位的方法-xpath 如果不想指定标签名也可以用星号(*)代替。当然,使用XPath 不仅仅只局限在id、name 和class 这三个属性值,元素的任意属性值都可以使用,只要它能唯一的标识一个元素。 find_element_by_xpath(/*class=bg s_btn)层级与属性结合: 如果一个元素本身并没有可以唯一标识这个元素的属性值,我们可以找其上一级元素,如果它的上级有可以唯一标识属性的值,也可以拿来使用。 find_element_by_xpath(/spanclass=bg

18、s_btn_wr/input) 使用逻辑运算符 如果一个属性不能唯一的区分一个元素,我们还可以使用逻辑运算符连接多个属性来区别于其它属性。 find_element_by_xpath(/inputid=kw and class=su/span/input)第20页,共27页。八、 webdriver 元素的定位的方法-css CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML 和XML 文档的表现。CSS 使用选择器来为页面元素绑定属性。这些选择器可以被selenium 用作另外的定位策略。 CSS 可以比较灵活选择控件的任意属性,一般情况下定位速度要比XP

19、ath 快,但对于初学者来说比较难以学习使用,下面我们就详细的介绍CSS 的语法与使用。 第21页,共27页。八、 webdriver 元素的定位的方法-css 通过class 属性定位: find_element_by_css_selector(.s_ipt) find_element_by_css_selector()方法用于CSS 语言定位元素,点号(.)表示通过class 属性来定位元素。通过id 属性定位: find_element_by_css_selector(#su) 井号(#)表示通过id 属性来定位元素。通过标签名定位: find_element_by_css_select

20、or(input) 在CSS 语言中用标签名定位元素不需要任何符号标识,直接使用标签名即可,但我们前面已经了解到标签名重复的概率非常大,所以通过这种方式很难唯一的标识一个元素。第22页,共27页。八、 webdriver 元素的定位的方法-css 通过父子关系定位: find_element_by_css_selector(spaninput)上面的写法表示有父亲元素,它的标签名叫span,查找它的所有标签名叫input 的子元素通过属性定位: find_element_by_css_selector(inputautocomplete=off) 在CSS 当中也可以使用元素的任意属性,只要这

21、些属性可以唯一的标识这个元素。组合定位: 我们当然可以把上面的定位策略组合起来使用,这样就大大加强了元素的唯一性。 find_element_by_css_selector(span.bg s_ipt_wrinput.s_ipt) 有一个父元素,它的标签名叫span,它有一个class 属性值叫bg s_ipt_wr,它有一个子元素,标签名叫input,并且这个子元素的class 属性值叫s_ipt第23页,共27页。九、 XPath 与CSS 的类似功能的简单对比XPath 与CSS 的类似功能的简单对比第24页,共27页。十、 webdriver 元素的定位的方法优先选择webdriver 元素的定位的方法优先选择顺序:1、name2、ID3、css4、xpath5、其他第25页,共27页。十一、课后作业1、能独立搭建Web自动化开发环境2、编写一个正确登录的用例3、编写登录的自动化脚本第26页,共27页。谢谢大家谢谢大家第27页,共27页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号