您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > seleniumpython自动化测试实战PPT(PPT52页)
LOGOselenium2python自动化测试实战---虫师://itest.info:谈谈变自动化:为什么要做自动化测试?A、节省手工测试的人才和成本B、有助于提升测试团队的技术力量C、能够生成直观的图形化报表D、我不知道,领导要求做的:分层的自动化测试:什么样的产品适合做自动化测试?•功能成熟(需求变动较小)•产品更新维护周期长•项目进度不太大•比较频繁的回归测试•软件开发比较规范,具有可测试性•可以脚本具有可复用性:selenium技术:元素定位的几种方法WebDriverAPI,seleniumIDE,seleniumgridpython技术:函数、类、方法;读写文件,unitest单元测试框架,HTMLTestRunner.py,发邮件模块,多线程技术等。:•开源,免费•多浏览器支持:firefox、chrome、IE•多平台支持:linux、windows、MAC•多语言支持:java、python、ruby、php、C#、•对web页面有良好的支持•简单(API简单)、灵活(用开发语言驱动)•支持分布式测试用例执行:selenium2.0=selenium1.0+WebDriver:环境搭建:window安装:第一步、安装python第二步、安装setuptoolsC:\setuptools-1.3pythonsetup.pyinstall第三步、安装pipC:\pip-1.4.1pythonsetup.pyinstall第四步、安装seleniumC:\Python27\Scriptspipinstall-Uselenium环境变量:变量名:PATH变量值:;C:\Python27:简易安装(ActivePython):ActivePython包含了一个完整的Python内核,并附加了一些Python的Windows扩展第一步、下载安装ActivePython第二步、安装seleniumC:\Python27\Scriptspipinstall-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:百度搜索:#coding=utf-8fromseleniumimportwebdriverbrowser=webdriver.Firefox()browser.get()browser.find_element_by_id(kw1).send_keys(selenium)browser.find_element_by_id(su1).click()browser.quit():元素定位: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=kw1class=s_ipttype=textmaxlength=100name=wdautocomplete=offfind_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==tj_news新闻/aahref==tj_tieba贴吧/aahref==tj_zhidao知道/afind_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:定位/fromfind_element_by_css_selector(‘from’)定位divclass=subdivfind_element_by_css_selector(‘.subdiv’)find_element_by_css_selector(‘from+div’)定位ulid=recordlistfind_element_by_css_selector(‘#recordlist’)find_element_by_css_selector(‘ul#recordlist’)find_element_by_css_selector(‘divul’)定位pHeading/pfind_element_by_css_selector(‘divul’)find_element_by_css_selector(‘div.subdivulp’)/formdivclass=subdivulid=recordlistpHeading/p://itest.infoWebDriverAPI:浏览器最大化:maximize_window()设置浏览器宽、高:set_window_size(480,800)控制浏览器后退,前进:back()forward():WebElement接口常用方法:clear清除元素的内容send_keys在元素上模拟按键输入click单击元素submit提交表单size返回元素的尺寸text获取元素的文本get_attribute(name)获得属性值is_displayed()设置该元素是否用户可见:ActionChains类鼠标操作的常用方法:context_click()右击double_click()双击drag_and_drop()拖动move_to_element()鼠标悬停在一个元素上click_and_hold()按下鼠标左键在一个元素上:ActionChains类鼠标操作的常用方法:context_click()右击#引入ActionChains类fromselenium.webdriver.common.action_chainsimportActionChains....#定位到要右击的元素right=driver.find_element_by_xpath(xx)#对定位到的元素执行鼠标右键操作ActionChains(driver).context_click(right).perform()....:ActionChains类鼠标操作的常用方法:drag_and_drop()拖动#引入ActionChains类fromselenium.webdriver.common.action_chainsimportActionChains...#定位元素的原位置element=driver.find_element_by_name(xxx)#定位元素要移动到的目标位置target=driver.find_element_by_name(xxx)#执行元素的移动操作ActionChains(driver).drag_and_drop(element,target).perform():ActionChains类鼠标操作的常用方法:move_to_element()鼠标悬停#引入ActionChains类fromselenium.webdriver.common.action_chainsimportActionChains...#定位元素的原位置element=driver.find_element_by_name(xxx)#定位元素要移动到的目标位置target=driver.find_element_by_name(xxx)#执行元素的移动操作ActionChains(driver).drag_and_drop(element,target).perform():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.CONTR
本文标题:seleniumpython自动化测试实战PPT(PPT52页)
链接地址:https://www.777doc.com/doc-26041 .html