版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LOGOselenium2python自动化测试实战---虫师前言:为什么要做自动化测试?A、节省手工测试的人才和成本B、有助于提升测试团队的技术力量C、能够生成直观的图形化报表D、我不知道,领导要求做的前言:分层的自动化测试前言:什么样的产品适合做自动化测试?功能成熟(需求变动较小)产品更新维护周期长项目进度不太大比较频繁的回归测试软件开发比较规范,具有可测试性可以脚本具有可复用性本课程学习重点:selenium技术:
元素定位的几种方法
WebDriverAPI,seleniumIDE,seleniumgridpython技术:
函数、类、方法;读写文件,unitest单元测试框架,HTMLTestRunner.py,发邮件模块,多线程技术等。seleniumselenium的特点:开源,免费多浏览器支持: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.3>pythonsetup.pyinstall第三步、安装pipC:\pip-1.4.1>pythonsetup.pyinstall第四步、安装seleniumC:\Python27\Scripts>pipinstall-Uselenium环境变量:
变量名:PATH变量值:;C:\Python27
环境搭建建:简易安装装(ActivePython)::ActivePython包包含了了一个完完整的Python内核核,并附附加了一一些Python的的Windows扩展第一步、、下载安安装ActivePython第二步、、安装seleniumC:\Python27\Scripts>pipinstall-Uselenium环境搭建建:linux安装装(ubuntu)::第一步、、安装::setuptoolsroot@fnngj-H24X:~#apt-getinstallpython-setuptools第二步、安装装piproot@fnngj-H24X:../pip-1.4.1#pythonsetup.pyinstall第三步、安装装seleniumroot@fnngj-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()元素的定位::id\name\classname\tagname:百度搜索框前前端代码(通通过firebug查看看)<inputid="kw1"class="s_ipt"type="text"maxlength="100"name="wd"autocomplete="off">find_element_by_id(‘kw1’)find_element_by_name(‘wd’)find_element_by_class_name(‘s_ipt’)find_element_by_tag_name(‘‘input’)注:页面上的的元素tagname相同的几几率很高元素的定位::link\partiallink:百度首页文字字链接:<ahref=""name="tj_news">新闻</a><ahref=""name="tj_tieba">贴吧</a><ahref=""name="tj_zhidao">知道</a>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(‘//input[@id='kw1']’)find_element_by_xpath(‘//input[@name='wd']’)find_element_by_xpath(‘//input[@class='s_ipt']’)find_element_by_xpath(‘//span[@class='bgs_iptwr']/input’)find_element_by_xpath(‘//form[@id='form1']/span/input’)....find_element_by_xpath(‘/html/body/div/div[4]/div[2]/div/form/span/input’)元素的定位::CSS常见见语法:元素的定位::CSS:定位</from>find_element_by_css_selector(‘from’)定位<divclass="subdiv">find_element_by_css_selector(‘.subdiv’)find_element_by_css_selector(‘from+div’)定位<ulid="recordlist">find_element_by_css_selector(‘#recordlist’)find_element_by_css_selector(‘ul#recordlist’)find_element_by_css_selector(‘div>ul’)定位<p>Heading</p>find_element_by_css_selector(‘div>ul’)find_element_by_css_selector(‘div.subdiv>ul>p’)</form><divclass="subdiv"><ulid="recordlist"><p>Heading</p>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输入入值值,,这这个个alert\confirm没没有有对对话话框框就就不不能能用用了了,,不不然然会会报报错错。。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|grep"Content-Type"方法二::WebDriverAPI:文件下载载:WebDriverAPI:调用javaScript::execute_script()调调用js方法WebDriverAPI:控制浏览览器滚动动条:WebDriverAPI:cookie处处理:get_cookies()获得所有有co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 佛山2024年度技术服务协议
- 科学四下第二单元教育课件
- 面向高校的2024年度事业编制教师选聘合同
- 《尔林兔中心幼儿园》课件
- 钢管模板租赁合同价格分析与比较(2024版)3篇
- 委托催收协议完整版
- 2024年度保险代理与风险评估合同3篇
- 基于二零二四年市场调研的广告投放合同2篇
- 生意合伙协议书范本
- 2024年度企业对个人特许经营合同3篇
- 铸牢中华民族共同体意识-形考任务3-国开(NMG)-参考资料
- 《心理健康教育主题班会》主题
- 食品研发思路
- 消防管道维修施工组织方案
- 会计学专业 天富机电科技有限公司经济业务与财务分析设计
- 【最新】八年级历史上册 第八单元 近代经济、社会生活与教育文化事业的发展 第26课 教育文化事业的发展
- 沥青搅拌站建设方案(完整版)
- 电子物料代码编码规则电子物料编码制定编写规则与方法
- Opera操作流程实用教案
- 智力活动、商业方法申报专利技巧漫谈
- 冀教四年级数学《垂线的认识》及教学反思
评论
0/150
提交评论