selenium2 python自动化测试实战_第1页
selenium2 python自动化测试实战_第2页
selenium2 python自动化测试实战_第3页
selenium2 python自动化测试实战_第4页
selenium2 python自动化测试实战_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,LOGO,selenium2python,自动化测试实战,-虫师,,.,,.,,前言:,为什么要做自动化测试?A、节省手工测试的人才和成本B、有助于提升测试团队的技术力量C、能够生成直观的图形化报表D、我不知道,领导要求做的,.,,前言:,分层的自动化测试,.,,前言:,什么样的产品适合做自动化测试?功能成熟(需求变动较小)产品更新维护周期长项目进度不太大比较频繁的回归测试软件开发比较规范,具有可测试性可以脚本具有可复用性,.,,本课程学习重点:,selenium技术:元素定位的几种方法WebDriverAPI,seleniumIDE,seleniumgridpython技术:函数、类、方法;读写文件,unitest单元测试框架,HTMLTestRunner.py,发邮件模块,多线程技术等。,.,,selenium,selenium的特点:开源,免费多浏览器支持:firefox、chrome、IE多平台支持:linux、windows、MAC多语言支持:java、python、ruby、php、C#、对web页面有良好的支持简单(API简单)、灵活(用开发语言驱动)支持分布式测试用例执行,.,,selenium家谱,selenium1.0:,selenium2.0=selenium1.0+WebDriver,.,,.,,环境搭建:,window安装:第一步、安装python第二步、安装setuptoolsC:setuptools-1.3pythonsetup.pyinstall第三步、安装pipC:pip-1.4.1pythonsetup.pyinstall第四步、安装seleniumC:Python27Scriptspipinstall-Uselenium环境变量:,变量名:PATH变量值:;C:Python27,.,,环境搭建:,简易安装(ActivePython):ActivePython包含了一个完整的Python内核,并附加了一些Python的Windows扩展第一步、下载安装ActivePython第二步、安装seleniumC:Python27Scriptspipinstall-Uselenium,.,,环境搭建:,linux安装(ubuntu):第一步、安装:setuptoolsrootfnngj-H24X:#apt-getinstallpython-setuptools第二步、安装piprootfnngj-H24X:./pip-1.4.1#pythonsetup.pyinstall第三步、安装seleniumrootfnngj-H24X:./pip-1.4.1#pipinstall-Uselenium,.,,第一个自动化脚本:,百度搜索:,.,,.,,元素的定位:,WebDriver提供的八种定位方法: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(),.,,元素的定位:,idnameclassnametagname:百度搜索框前端代码(通过firebug查看)find_element_by_id(kw1)find_element_by_name(wd)find_element_by_class_name(s_ipt)find_element_by_tag_name(input)注:页面上的元素tagname相同的几率很高,.,,元素的定位:,linkpartiallink:百度首页文字链接:新闻贴吧知道find_element_by_link_text(u新闻)find_element_by_partial_link_text(新)find_element_by_link_text(u贴吧).注:中文字符串加u是将中文转换成unicode,防止编码问题。,.,,元素的定位:,xpath:find_element_by_xpath(/*id=kw1)find_element_by_xpath(/inputid=kw1)find_element_by_xpath(/inputname=wd)find_element_by_xpath(/inputclass=s_ipt)find_element_by_xpath(/spanclass=bgs_iptwr/input)find_element_by_xpath(/formid=form1/span/input).find_element_by_xpath(/html/body/div/div4/div2/div/form/span/input),.,,元素的定位:,CSS常见语法:,.,,元素的定位:,CSS:定位find_element_by_css_selector(from)定位find_element_by_css_selector(.subdiv)find_element_by_css_selector(from+div)定位find_element_by_css_selector(#recordlist)find_element_by_css_selector(ul#recordlist)find_element_by_css_selector(divul)定位Headingfind_element_by_css_selector(divul)find_element_by_css_selector(div.subdivulp),Heading,.,,.,,WebDriverAPI:,浏览器最大化:maximize_window()设置浏览器宽、高:set_window_size(480,800)控制浏览器后退,前进:back()forward(),.,,WebDriverAPI:,WebElement接口常用方法:clear清除元素的内容send_keys在元素上模拟按键输入click单击元素submit提交表单size返回元素的尺寸text获取元素的文本get_attribute(name)获得属性值is_displayed()设置该元素是否用户可见,.,,WebDriverAPI:,ActionChains类鼠标操作的常用方法:context_click()右击double_click()双击drag_and_drop()拖动move_to_element()鼠标悬停在一个元素上click_and_hold()按下鼠标左键在一个元素上,.,,WebDriverAPI:,ActionChains类鼠标操作的常用方法:context_click()右击,.,,WebDriverAPI:,ActionChains类鼠标操作的常用方法:drag_and_drop()拖动,.,,WebDriverAPI:,ActionChains类鼠标操作的常用方法:move_to_element()鼠标悬停,.,,WebDriverAPI:,Keys类键盘操作的常用方法:send_keys(Keys.BACK_SPACE)删除键(BackSpace)send_keys(Keys.SPACE)空格键(Space)send_keys(Keys.TAB)制表键(Tab)send_keys(Keys.ESCAPE)回退键(Esc)send_keys(Keys.ENTER)回车键(Enter)send_keys(Keys.CONTROL,a)全选(Ctrl+A)send_keys(Keys.CONTROL,c)复制(Ctrl+C)send_keys(Keys.CONTROL,x)剪切(Ctrl+X)send_keys(Keys.CONTROL,v)粘贴(Ctrl+V),.,,WebDriverAPI:,ActionChains类鼠标操作的常用方法:move_to_element()鼠标悬停,.,,WebDriverAPI:,打印信息(断言的信息):title返回当前页面的标题current_url获取当前加载页面的URLtext获取元素的文本信息,.,,WebDriverAPI:,打印信息(126邮箱):,.,,WebDriverAPI:,脚本中的等待时间:sleep():python提供设置固定休眠时间的方法。implicitly_wait():是webdirver提供的一个超时等待。WebDriverWait():同样也是webdirver提供的方法。,.,,WebDriverAPI:,webdriver提供定位一组对象的方法:find_elements_by_id()find_elements_by_name()find_elements_by_class_name()find_elements_by_tag_name()find_elements_by_link_text()find_elements_by_partial_link_text()find_elements_by_xpath()find_elements_by_css_selector(),.,,WebDriverAPI:,定位一组对象,例一:,.,,WebDriverAPI:,定位一组对象,例二:,.,,WebDriverAPI:,层级定位:,.,,WebDriverAPI:,frame表单嵌套的定位:switch_to_frame方法,.,,WebDriverAPI:,div弹窗的处理:,.,,WebDriverAPI:,多窗口的处理:current_window_handle获得当前窗口句柄window_handles返回的所有窗口的句柄到当前会话switch_to_window()用于处理多窗口之前切换,.,,WebDriverAPI:,多窗口的处理:,.,,WebDriverAPI:,alert/confirm/prompt处理:switch_to_alert()用于获取网页上的警告信息。text返回alert/confirm/prompt中的文字信息。accept点击确认按钮。dismiss点击取消按钮,如果有的话。send_keys输入值,这个alertconfirm没有对话框就不能用了,不然会报错。,.,,WebDriverAPI:,下拉框处理:二次定位:driver.find_element_by_xx(xx).find_element_by_xx(xx).click(),.,,WebDriverAPI:,文件上传:driver.find_element_by_xx(xx).send_keys(d:/abc.txt),.,,WebDriverAPI:,文件下载:确定Content-Type:下载文件的类型方法一:curl-IURL|grepContent-Type方法二:,.,,WebDriverAPI:,文件下载:,.,,WebDriverAPI:,调用javaScript:execute_script()调用js方法,.,,WebDriverAPI:,控制浏览器滚动条:,.,,WebDriverAPI:,co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论