自动化测试.docx

上传人:牧羊曲112 文档编号:1675043 上传时间:2022-12-13 格式:DOCX 页数:29 大小:3.87MB
返回 下载 相关 举报
自动化测试.docx_第1页
第1页 / 共29页
自动化测试.docx_第2页
第2页 / 共29页
自动化测试.docx_第3页
第3页 / 共29页
自动化测试.docx_第4页
第4页 / 共29页
自动化测试.docx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《自动化测试.docx》由会员分享,可在线阅读,更多相关《自动化测试.docx(29页珍藏版)》请在三一办公上搜索。

1、Robotframework基础安装1. 安装python(https:/www.python.org/downloads/)(注:最好安装32位的)1. 下载并安装python2. 配置环境变量:系统变量path最后面添加上python的安装路径,如D:Python27;3. 检查是否安装配置成功:cmd-输入python,显示python版本号即成功2. 若python下没有scripts文件夹,则下载并安装setuptools,有则跳过这一步1. cmd-进入setuptools安装包目录下,即setup.py目录-python setup.py install2. 查看python下是

2、否存在scripts文件夹,存在即成功安装3. 安装easy_install工具1. python成功安装后,在D:Python27Scripts下有easy_install.exe应用程序存在2. cmd-进入python目录下的Scripts文件夹(D:Python27Scripts)-easy_install.exe pip3. 在cmd下输入easy_install查看是否成功安装easy_install,(结果显示errro:no urls,filenames,or requirements specified)4. 配置环境变量:系统变量path最后面添加上python的安装路径,

3、如D:Python27Scripts;5. 在cmd下输入pip查看是否成功安装pip4. 使用pip在线安装robotframework(网络好的可选择这种方式)1. cmd-进入python目录下的Scripts文件夹-pip install robotframework=3.0(=3.0是指定版本号,可以不写,默认安装最新版本)2. 看到successfully即成功安装3. 若pip安装不成功,则可以下载robotframewrok安装包,cmd-进入robotframework安装包目录下,即setup.py目录-python setup.py install5. 使用pip在线安装

4、robotframework-ride1. cmd-进入python目录下的Scripts文件夹-pip install robotframework-ride2. 看到successfully即成功安装3. 若pip安装不成功,则可以下载robotframewrok-ride安装包,cmd-进入robotframework -ride安装包目录下,即setup.py目录-python setup.py install6. 验证是否安装成功1. 输入ride.py,显示ride界面即成功1. 输入ride.py,提示wxpython not found.若已安装,则可能是版本不对,重新安装一个

5、对应版本的wxpython即可2. 运行ride1. 创建项目1. 创建case1. 编写简单案例及运行-打印hello world1. 运行结果 导入库1. 导入Selenium2Library库1. cmd-进入python目标下的site-packages文件夹(D:Python27Libsite-packages)-pip install robotframework-selenium2library2. 看到successfully即成功安装3. 若pip安装不成功,则可以下载robotframework-selenium2library安装包,cmd-进入robotframewor

6、k-selenium2library安装包目录下,即setup.py目录-python setup.py install4. 打开ride导入Selenium2Library(cmd-ride.py),显示黑色即为成功,显示红色即为失败1. 若打开ride导入Selenium2Library的时候导入不成功,一直是红色的包,用python IDLE却可以成功导入Selenium2Library,证明Selenium2Library没有问题,往上排除,卸载掉ride,到官网上下载了最新的Source文件(robotframework-ride-1.4.1b2.tar.gz)进行重新安装。再次打开

7、ride,成功导入Selenium2Library。2. 导入AutoItLibrary库1.先安装pywin32,下载exe文件并安装2.再安装AutoItLibrary1.cmd-进入python目标下的site-packages文件夹(D:Python27Libsite-packages)-pip install AutoItLibrary2.看到successfully即成功安装3.若pip安装不成功,则可以下载AutoItLibrary安装包,cmd-进入AutoItLibrary安装包目录下,即setup.py目录-python setup.py install4.打开ride导入

8、AutoItLibrary,显示黑色即为成功,显示红色即为失败5.若导入失败,则查看python是64bit还是32bit,下载对应的pywin32的版本 6.3.导入SudsLibrary库,和前面做法一致 制作RIDE桌面图标1. 在桌面点击鼠标,选择新建-快捷方式1. 填写对象的位置,并在后面添加-c from robotide import main;main()然后点击下一步1. 填写快捷方式的名称,点击完成即可1. 修改快捷方式图标,在该图标上点击鼠标,选择属性-快捷方式,选择图标路径D:Python27Libsite-packagesrobotidewidgetsrobot.ic

9、o,点击确认即可 浏览器驱动1. 默认浏览器:火狐浏览器,不需要安装驱动,版本要小于等于392. 若运行ride使用火狐浏览器打开不了,且提示expected browser binary location,but unable to find binary in default location,no moz:firefoxOptons.binary capability provided,and no binary flag set no the commend line如下,则1. 更新selenium更新到V2.53.6(cmd-进入到site-packages下-pip instal

10、l -U selenium=2.53.6)可从V3.0直接降到V2.53.61. selenium V2.53.6最高支持火狐浏览器V472. selenium V3.0最低支持火狐浏览器V481.2. 谷歌浏览器:需要安装谷歌浏览器驱动(chomedriver.exe放在python安装目录下),版本要小于等于523. IE浏览器:需要安装IE浏览器驱动(IEDriveServer.exe放在python安装目录的scripts下),且需设置ie浏览器的安全设置,internet、本地internet、受信任的站点和受限制的站点需全部勾选或全不选Robotframework关键字一、内置关键

11、字1、open browser 打开浏览器 open browser chrome #chrome表示使用chrome打开,不填写则默认为火狐浏览器2、maximize browser window窗口最大化3、input text 在文本框中录入内容 input text id=userName u4、$empty输入为空 input text id=userName $empty5、click element点击某个元素(如a标签) click element id=dw16、click button 点击按钮 click button id=loginsubmit7、page shoul

12、d contain 页面是否出现指定的内容 page should contain 登录8、close browser 关闭当前浏览器9、close all browser关闭所有浏览器10、wait until page contains element等待元素出现在当前页面 wait until page contains Xpath=/*id 42 error #Xpath=/*id:表示元素定位;42:表示最长等待时间;error:表示错误提示,自定义错误提示11、focus定位焦点(focus关键字要定位焦点,而且会把屏幕下拉,这样一来不在屏幕内的元素就可以进行操作了) focus

13、id=submitId click element id=submitId12、switch多个打开浏览器切换open browser http:/127.0.0.1:8000/ ie local switch browser local 13、select frame表单嵌套(如TAB页切换) select frame Xpath=/iframeformloginTab #定位窗体 click element Xpath=/divclass=tabBarcl/span2 #定位元素 unselect frame #退出表单14、select checkbox复选框 select checkb

14、ox id=CheckYes #勾选复选框 unselect checkbox id=CheckNo #取消勾选复选框15、select radio button单选框 select radio button name=radio1 A #radio1:表示单选框名称;A:表示value16、select from list by value下拉框选择 select from list by value css=.eva_select 待评价17、web对话框 a.只有确认按钮 如:confirm action b.有确认和取消按钮 例子1:choose cancel on next conf

15、irmation #选择取消按钮click button pay 例子2: choose ok on next confirmation #选择确认按钮 click button pay c.输入对话 d.在网页上弹出的要输入用户密码的登录框 类似于3)的处理方式18、sleep 休眠 sleep 5 #表示执行到当前行固定休眠5秒;填写1.5表示1.5秒;填写2 minutes 10 seconds表示2分10秒19、声明变量 $a set variable Hello #表示定义变量a为hello $a $b= set variable Hello world #表示定义变量a为hello

16、,b为world20、log日志输出 $a set variable helloworld log $a21、should contain验证 open browser $title get title should contain $title 百度一下,你就知道22、清空默认值如搜索输入框中有默认值,需清空默认内容后才输入搜索关键字,则使用关键字clear element text clear element text Xpath=/divclass=yp-search-form-input/input #清空默认搜索词 input text Xpath=/divclass=yp-sear

17、ch-form-input/input 得胜麦克风 #重新输入搜索词23、触发浏览器的返回按钮:点击浏览器的返回按钮,使用关键字go back即可24、Oracle数据库connect to database using custom params(关键字) cx_Oracle 用户名,密码,SID$row row count select * from表1;二、元素定位:1、id/name定位id定位:Click elementId=kw1name定位:Click elementName=wd2. Xpath定位1. Xpath的绝对路径Click elementXpath=/html/bo

18、dy/div1/div4/div2/div/from/span1/input2. Xpath的相对路径1. 元素本身写法Click elementXpath=/*id=kw1注:/表示某个层级下,*表示某个标签名,id=kw1表示这个元素有id等于kw1指定标签名,如下:Click elementXpath=/inputid=kw1注:元素本身,可以利用的属性不只局限于id和name,可以用其他,但这些元素必须是可以唯一识别的元素,如Xpath=/input=type=textXpath=/input=autocomplete=off2. 找上级写法:找爸爸:Click elementXpat

19、h=/spanclass=bg s_ipt_w/input若爸爸没有唯一的属性,则找爷爷Click elementXpath=/formid=form1/span/input3. 布尔值写法:若元素没有唯一的标识,则1. 元素本身写法:Click elementXpath=/inputid=kw1Click elementXpath=/inputid=kw1 and name=wd可以用and,也可以用or,但一般不使用or,实际意义不大2. 找上级写法Click elementXpath=/span class=bg s_ipt_w/input3. CSS定位id定位:Click eleme

20、ntCss=#kw1class定位:Click elementCss=.s_ipt其它属性:Click elementCss=name=wdClick elementcss=type=textClick elementcss=autocomplete=off父子定位:Click elementCss=name=wdClick elementcss=type=text根据标签名定位:css=input3.4. HTTP接口create session httpserver http:/localhost:8000$addr Get request httpserver users/sshould

21、 be equal as strings $addr.status_code 200log $addr.content $resp tojson $addr.contentWindows 下安装Selenium Webdriver1. 安装ruby1.下载地址http:/rubyinstaller.org/downloads/管理员运行:rubyinstaller-2.0.0-p247.exe,安装过程默认。勾选添加Ruby可执行到PATH2.安装完成之后,进入命令行(Win+R)。后输入ruby - v,再输入gem v 3.4.检测Rubygems是否是最新版本:gemupdate-sys

22、tem.5.Gem:类似于apple的appstore这样的东西。我们可以从里面安装所需的软件。例如Watir-Webdriver、selnium-webdriver等等。2. 安装Seleniumwebdriver1.控制台输入:geminstallselenium-webdriver2.查看是否安装成功:命令行输入:gemlistselenium-webdriver3. 4.卸载方法:gemuninstallselenium-webdriver键盘对应key值robotframework之浏览器一、 一些资料: Robotframework用户手册:http:/robotframework

23、.org/robotframework/#user-guide Robotframework帮助中心: 齐涛道长博客: Robotframework中文站:二、安装谷歌驱动chromedriver.exe下载chromedriver.exe解压后的文件放在python安装目录下,如路径为:C:Python27chromedriver.exe在环境变量path中添加chromedriver的路径,如:C:Python27chromedriver注:若驱动名称为chromedriver_x64.exe,则需把名字修改为chromedriver.exe,不然不能成功配置重启即可注:启用chromed

24、river/iedriverserver后,不会自动关闭,则需手动(在任务管理器中kill掉进程chromedriver.exe)或用程序(杀driver进程.bat)将进程kill掉;若不kill掉则robotframework在执行过一次后,不显示日志。三、 安装IE驱动IEDriverServer.exe下载IEDriverServer.exe解压后的文件放在python安装目录的scripts下,如路径为:C:Python27scriptsIEDriverServer.exe设置IE浏览器的安全设置,Internet、本地Internet、受信任的站点和受限制的站点全部勾选或全不选ro

25、botframework之断言可以用关键字should be equal/wait until page contains/wait until element is visible等等例子1:* Settings *Library Selenium2Library* Keywords *成功登录open browser https:/u-click element name=t-logininput text Xpath=/divcalss=shake-area/div2/input uinput text id=password 123456click button id=loginsub

26、mit$value get text Xpath=/spanid=login_info/a #获取登录后的用户名should be equal $value uqqcom #获取的用户名和uqqcom对比,相同则为通过,反之则为失败例子2:* Settings *Library Selenium2Library* Keywords *登录失败open browser https:/u-click element name=t-logininput text Xpath=/divcalss=shake-area/div2/input uinput text id=password 123456c

27、lick button id=loginsubmitwait until page contains 用户名或密码错误 #等待页面出现文本用户名或密码错误,出现则通过,反之则为失败robotframework之元素问题情况一:元素不在当前页面,需滚动页面才找到元素时,用关键字focusfocus id=submitA #查找元素click element id=submitA情况二:某元素前面有iframe,则需先选中frame,再定位元素时,使用关键字select frame、unselect frameeg:源代码如下:.#documenet.若需定位body中的class元素,则可如下编

28、写:select frame Xpath=/iframeclass=ke-edit-iframe #选择iframepress key Xpath=/bodyclass=ke-content 发布工程案例 #press key相当于input textunselect frame #退出iframe情况三:链接打开的是新页面/窗口时,使用关键字select windowA.页面标题titleselect window 【Apogee科声PC-T100电脑语音麦克风】价格,参数音平商城B.页面urlselect window https:/u-C.页面名称nameselect window _b

29、lane #_blane为name的属性值D.动态标题/url,例子1:* Settings *Library Selenium2Library* Test Cases *商品列表页 #click element id=logo #回到首页 click element Xpath=/divclass=m_mapbody/div3/div2/ul/li3/a #电容麦 #获取窗口标题并选列表页窗口 $pro_title get text Xpath=/divclass=m_mapbody/div3/div2/ul/li3/a select window $pro_title_$pro_title

30、品牌【价格|图片|推荐】-音平商城官网 #因产出一个新窗口,所以需选择窗口例子2:单品详情页 click element Xpath=/divid=ProductBox/ul/li1/div/div1/a/img #列表的第一个商品 #获取商品id并选详情页窗口 $getproid get value Xpath=/divid=ProductBox/ul/li1/div/input #获取商品id Execute JavaScript window.open(https:/u- #execute javascript:执行Javascript,window.open(url,页面标题),页面标

31、题可以随便写 #传入$getproid,点击打开商品详情页 select window testname #testname是execute javascript的页面标题情况四:JS异步加载的,使用click element不管用时,用execute javascriptA.在输入框中输入内容execute javascript document.getElementById(remark).value=RF自动化测试B.从下拉框中选择选项execute javascript document.getElementById(stockAreaId).value=1C.点击按钮execute

32、javascript document.getElementById(save).click()或另一种写法execute javascript setTimeout(funtion()document.getElementById(save).click(),100)注:getElementById则必须为id属性值, getElementByName则必须为name属性值D.若找不到id属性,则创建一个静态id,给标签分配一个id元素assign id to element Xpath=/divid=login/a1 id=login_buttonexecute javascript do

33、cument.getElementById( login_button).click()情况五:元素定位之动态IDclick element /divcontains(id,test) #若id中含有字符串test,则返回true,反之返回falseclick element /divstarts-with(id,test) #若id是以字符串test开头,则返回true,反之返回falseclick element /divends-with(id,test) #若id是以字符串test结尾,则返回true,反之返回falserobotframework之上传图片上传图片有2种方法,可使用关

34、键字choose file,对于js异步加载的需要用到execute javascript方法一:使用关键字choose filechoose file id=uploadFile c:UsersAdministratorDesktop1.jpg #选择需上传图片的位置(注:不需要再写click element,点击上传按钮直接使用choose file即可;)方法二:execute javascript document.getElementById(upload).click()win wait 文件上传 #等待标题名称为文件上传的窗口出现win active 文件上传 #执行标题名称为文

35、件上传的窗口control se text Edit1 c:图片1.jpg #选择需上传图片路径,路径的单反斜杠要修改成2个反斜杠,单反斜杠为转义符control click Button1 LEFT #点击鼠标左键,右键用RIGHTwait until element is visible Xpath=/ulid=uploadImgUL/li/div/em #验证是否有成功上传robotframework之excel数据写入excel表格需导入库ReadAndWriteExcel例子1:set excelpath E:orderdate.xls #指定excel全路径,orderdate.xls文档需在E盘下存在write excel Sheet1 0 0 #数据写入指

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号