找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
RF自动化


一、什么项目适合做自动化?
1、项目周期长
2、项目需求稳定
3、一般做冒烟测试的用例,一般自动化用于回归测试中(有些公司会把需要做自动化的用例提供给做自动化的人员,自动化用例占整个项目的20%到40%)

二、什么是自动化?--自动化只做正常的场景
(发现BUG的能力不强,因为这个一般在回归测试中运行,别人以及进行一轮sit1测试了,所有BUG不会很多)
自动化把人为执行的测试换成机器执行的测试的过程,让机器代替手工去执行的一个过程

三、自动化的流程
1、自动化需求的评审
2、自动化场景的选择
3、自动化工具的选择
4、自动化脚本的实现
5、自动化脚本的执行
6、自动化结果的分析
7、自动化的总结报告
(一般一个礼拜跑一道2次,半个月跑一次回归,首先跑冒烟)

四、自动化分类?
1、UI自动化:这个也是大家眼中的自动化--重点
2、service层自动化:其实就是我们的接口自动化,比UI层实现更难,价值更高---重点
3、代码层自动化:单元自动化,实现最难,价值最高,同时成本也最高

五、市面上常见的自动化测试工具
QTP(现在用的最少)、RF框架、python+Selenium(舍勒扭)、QA Run

Watir, Selenium ,MaxQ,Jmeter,WebInject,DBMonster,Web Application Load Simulator,QTP和LR

六、RF框架的原理?
RF框架是一款Python编写的自动化框架,它具备良好的扩展性,通过关键字驱动来实现自动化,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
robot framework  简称RF
1、RF框架是基于python开发的,所以一定要有python环境;robotframework-3.0 安装
2、wxpython :是python常用的一个GUI库,因为ride是基于这个库开发的,所以必须安装
3、robot framework-ride ,ride就是一个图形界面,用于创建、组织、运行测试的软件
   安装的第三方库资源的存储位置
    E:\xz\python\a\Lib\site-packages
4、setuptools-12.0.3  安装的一个辅助依赖库
5、Selenium2Library  主要是UI自动化常用的关键库之一;可以认为是一套基于web的规范(API);RF、Appium等都可以基于这个套件API进行页面的定位与操作,
一般我们是通过python的pip工具进行在线安装;  
pip install robotframework-selenium2library

七、web端最常见10个控件(对象)类型:
webbutton --按钮
webedit--文本框(输入)
webfile--文本框(上传)
weblist--下拉框
link--链接
webcheckbox--复选框
webradiogroup--单选按钮
image--图片
webtable--表单
webelement--网页元素

八、创建测试项目
导入selenium2library这个库

我们可以通过按快捷键F5来快速查询关键字
Ctrl+alt+空格    可以索引出对应的关键字
运行信息显示会生成3个文件:
output.xml 、log.html、report.html
我们重点查看log.html和 report.html
log.html 更多关注脚本执行过程记录
report.html更多关注脚本的执行结果的展示

在dos窗口下执行我们的测试用例
1、执行整个套件下的用例
pybot +套件路径
例如:pybot D:\Python27\123\Dcs10\RF自动化实战.txt
2、执行套件下具体的一个用例
pybot --test +用例名字 +条件的路径
例如:pybot --test test1 D:\Python27\123\Dcs10\RF自动化实战.txt


关闭我们谷歌浏览器以及驱动
OperatingSystem
驱动添加在库里


C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/690810c433834c728c9b3bcbe03c3b03/5d%295s%5Daob95_3v%5Bhp7%7Bycel.png
清除浏览器进程
OperatingSystem.Run taskkill /f /t /im chromedriver.exe
OperatingSystem.Run taskkill /f /t /im chrome.exe
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/78c6271f458e44d783b7d5144a5a47ed/%28%28nfmuh1q%5Dxs52bdq%5Dyj%2521.png

C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/244713d6b382427bbf687355d1295c0d/0dq9k%60%5B%7B51%5Dg%7Ddnluc0%28i%24u.png

C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/5d5cf075733046a1a914b20686f15218/clipboard.png





九、在RF中的变量类型
1、scalar类型:${scalar}
2、list类型:@{list}
3、dict类型:&{dict}

十、定位
主要的定位是分4种
id、name、xpath、css
1、id定位:例如id=kw
2、name定位:例如name=wd
3、css定位:
a.通过css中的id定位:例如 css=#kw
b.通过css中的class属性定位;例如 css=.s_ipt
c.css通过其它属性定位,如:name/type/title/style 等等;css=[name=wd]
b.css通过xpath定位,上下级定位:   css=span>input
4、xpath定位:绝对路径和相对路径,一般都用相对路径
绝对路径:xpath=定位的内容
例如:xpath=/html...[@id="kw"]
相对路径://*[@id="kw"]  直接这样写
                 //*[@id="kw"]   也可以去掉xpath
                 // :表示某个层级目录下
   * :表示某个标签
       @id=kw:表示这个元素有一个属性id,且id的值等于kw
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/3ad74ea69e2b420289822db6332e357b/u6wwm%7Ejvx6r_r23%7B1yf4dxg.png
#            注释
Ctrl+3    注释
Ctrl+4    取消注释





网站页面
F12  按出后台代码,右上的点击一下箭头符号,在点要用的网站地点可以查看那个地点的 id等
C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/d437e9d1a0de49e6a5af1742b1705d05/clipboard.png


点那一行右键点copy然后点最后一个复制相对路径,按ctrl+F  判断定位是否唯一 ,如果是那么键可以用了

C:/Users/Administrator/AppData/Local/YNote/data/qq788A1E66A631CF4E5CC90A0BEBD9F713/b70f83ac35844033820d4b38a81ff5dd/msmkv%29t7%5Bbx1zrkkj0d94%7Eg.png




11、常用的关键字
Open Browser     打开浏览器
Maximize Browser Window  浏览器最大化
sleep   休眠;等待时间  默认单位是秒
Close Browser    关闭当前的浏览器
Close all Browser 关闭所有的浏览器
log  打印单个值
log many  打印多个值
Set Variable  赋值
${yy} Set Variable duoceshilaowang
Input Text  文本输入
Input Password 文本输入,一般只针对密码输入框

Click Button   点击按钮
Click Element  点击元素
Click Image    点击图片
Click Link     点击链接

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册