Robotframework自动化测试框架
一、安装相关软件
JDK、maven、pip、robotframework以及所需要的扩展库,Python,IntelliJ IDEA,Mysql,pyftpdlib(FTP server )
二、自动化框架搭建
准备工作:shell脚本的学习http://www.runoob.com/linux/linux-shell.html
自动化测试框架的搭建主要包括三个部分:环境的部署、测试数据的准备、自动化用例的编写
1、规范存放目录和ftp
定义变量,将文件夹名和变量关联,并建立相应的文件夹,方便统一后面有条理的读取存放。(env.sh)
建立以下几个目录:
/data/webapps
/data/appdatas
/data/applogs
2、部署环境
环境部署方面的代码主要在/run.sh和/deploy.sh里面,主要包括预处理、打包、解压、更改bizer、searcher、indexer的配置。
(1)预处理:
将前一次打的包放到/data/webapps/bak目录下进行备份;
停掉当前目录下的所有服务;
杀掉当前机器正在进行的相关进程,防止影响到本次自动化结果;
删除当前目录下上一次服务的包。
(2)打包:
通过mv clean package -Pdist完成本次打包;
(3)解压:
清楚该业务是否有自己的indexer、searcher、bizer,以及针对某些集群,在该集群下可能包含小业务的searcher。
(4)更改配置
更改bizer配置:
(a)更改JVM参数,如最大堆、最小堆、新生代的大小。
JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。最小堆的大小可以设置与最大堆相同,以避免每次垃圾回收完成后JVM重新分配内存。合理的调整JVM的参数,可以适当的调整JAVA程序的工作效率。
(b)更改bizer中的Arts数据库为自动化专用库。
(c)bizer通过pigeon找可用的searcher,修改当前bizer注入的pigeon节点名和其所需要调用到的searcher服务的pigeon节点名。这里通常要注意 一个服务可能需要调用多个searcher,记得调用到的searcher节点名要对应上,此外还可以修改超时时间。
更改searcher配置:
(a)更改JVM参数,如最大堆、最小堆、新生代的大小。
(b)更改searcher中的Arts数据库为自动化专用库。
(c)针对集群或者如suggest下面包含多个小业务,如果小业务有自己的searher,更改小业务当前所注入pigeon节点名
更改indexer配置:
(a)更改JVM参数,如最大堆、最小堆、新生代的大小。
(b)更改indexer中的Arts数据库为自动化专用库。
3、建索引
此处的代码主要在/index.sh 里面
(1)设置JVM相关参数生成GC日志
(2)获取schema文件和csv文件,利用java语句建立索引,将建好的索引放到对应searcher的文件目录下,起服务时会被加载。
三、安装好自动化测试的诸多软件后,接着即可拉取代码,尝试跑自动化。
1.首先是利用:
git@code.dianpingoa.com:arts-repo/search-it-automation.git
git学习:git相关操作
2.在跑代码之前:
(1)切换为jenkins用户,新建文件夹:/data/appdatas, /data/webapps, /data/applogs,并且确保这三个文件夹所属的用户为同一个用户。
在此过程中,学习ssh的用法。
(2)在mac上的data/目录下新建上述是几个文件夹。定义变量,将文件夹名和变量关联,并建立相应的文件夹,方便统一后面有条理的读取存放。
3.拉取具体项目代码:
网址为:http://code.dianpingoa.com/public/projects?utf8=%E2%9C%93&search=arts
此处需要注意的是,项目代码要与自动化测试的代码在同一路径下。
4.执行测试用例
有两种方式:
(1)进入~/Desktop/search-it-automation
执行./run.sh arts-red tuangourec beta search
(2)首先将要用到的服务search和bizer服务启动。
接着进入测试集所在的目录,利用pybot命令执行相应的测试用例。
四、自动化测试用例的编写
在此之前要熟悉Robot Framework语法
(1)首先要熟悉Robot Framework自动化测试框架,以及它所支持的文件格式。
(2)抓请求。通过APP或者PC端发请求到相应的beta机器,登录bata机器到/data/webapps/{BIZNAME}_bizer/logs/query.log
中抓请求。
tailf query.log | grep "3507"
(3)通过Url查看请求结果。
拼请求:curl "$ip:$port/search/$app?query=${queryStr}"
ip/port是提供服务的机器ip地址
$app即用户查询的业务名称,
${queryStr}是查询的字符串。
示例: curl "192.168.0.1:6123/search/shop?query=all()"
(4)编写测试用例。
(5)执行测试用例
有两种方式:a: ./run.sh arts-tuangou beta search 默认pigeon节点 跑testcase
./run.sh arts-tuangou tuangou beta index 跑indexcase
./run.sh arts-tuangou beta search -p it.arts 指定pigeon节点
b: 将要用到的服务启动之后,利用pybot命令执行测试用例
pybot --loglevel debug --pythonpath $DIR/Library -d $DIR/../report-$repo-$casetype-tests --exclude onlyForProduct --exclude ignore --exclude biz -v APP_ROOT_DIR:$APP_ROOT_DIR $casesuit/$repo
在执行测试用例的过程中可能会出现诸多问题,如果是测试用例的问题,可以通过查看report来找问题出现的原因,如果是配置的问题,可以通过查看log来找问题出现的原因。
Robotframework自动化测试框架相关推荐
- python安装robotframework报错_Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Python2.7已于2020年1月1日开始停用,之前RF做自动化都是基于Python2的版本. 没办法,跟随时代的脚步,我们也不得不升级以应用新的控件与功能. 升级麻烦,直接全新安装. 一.Pyth ...
- RobotFramework自动化测试框架-MongoDBLibrary库的使用
笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作) 继续分享robotframework 对数据库中的MongoDB的详细操作.这是笔者第二 ...
- RobotFramework自动化测试框架的基础关键字(五)
1.1.1 Run Keyword If判断的使用 Run Keyword If是一个常用的用来做逻辑判断的关键字,意思是如果满足了某一个判断条件,然后就会执行关键字,我们对list3中 ...
- RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser
Selenium出来已经有很多年了,从最初的Selenium1到后来的Selenium2,也变得越来越成熟,而且也已经被很多公司广泛使用.Selenium发展的过程中,分了很多模块,这里我们主要介绍W ...
- 字节十年工程师整理的RobotFramework自动化测试框架介绍及应用
目录 一.概念 二.特性 三.RF环境安装 四.RF的使用 五.RF的常用类库 六.RF的常用关键字的使用 七.准备UI自动化测试的环境 八.浏览器操作的关键字 九.元素定位 十.项目的三层架构 十一 ...
- Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib
如何使用Java编写自定义的RobotFramework Lib 本文包括2个章节 1. Robot Frdamwork中如何调用java Lib库 2.使用 java编写自定义的Lib 本文作者为: ...
- robotframework自动化测试修炼宝典_自动化测试之框架Cucumber和RobotFramework的实战对比...
读完需要 18分钟 速读仅需 6 分钟 本文首发表于 InfoQ:http://www.infoq.com/cn/articles/cucumber-robotframework-comparison ...
- 自动化测试框架(从robotframework到hyrobot(黑羽robot) python语言)
自动化测试框架- hyrobot 欢迎使用 黑羽robot 自动化框架 作用 Web自动化 性能测试 黑羽Robot(HyRobot) 安装 项目 用例和套件 用例标签.挑选用例执行.调试 根据名称挑 ...
- RobotFramework功能自动化测试框架基础篇
目录 概念 特性 RF环境安装 RF的使用 1.新建项目 2.创建测试套件 3.创建测试用例 4.创建资源文件 5.页面操作介绍 RF的常用类库 1.标准库: 2.扩展库: 准备UI自动化测试的环境 ...
最新文章
- PAT甲级1076 Forwards on Weibo (30 分) :[C++题解]图论、bfs
- 安装mysql5.7
- CodeForces - 985F Isomorphic Strings(字符串哈希)
- java jsp公共异常页面_实际应用中JSP页面的异常处理
- xvhfeng的工作回忆总结(第二年)阅读手记
- 小米无缝切换60hz/90hz/120hz/144hz刷新率!
- [新闻]MacBook Pro新版上市
- VC遍历窗口上的控件
- docker下安装mysql数据库
- java 容器类 面试_校招面试之Java容器
- 电子统计台账:中文标记月度流水账格式数据的转换,以及过滤模板的普遍适配性
- 3d打印实用小工具--GCode Viewer在线预览GCODE文件
- java commons math_Apache Commons Math
- 推荐16个前端必备的实用工具与网站
- 武汉科技大学计算机学院挂牌,计算机国家级实验教学示范中心(武汉科技大学)2018年度教学指导委员会年度会议成功举办...
- 使用WIFIPR跑握手包,破解wifi密码
- oracle procmpt,oracle ebs 接口程序
- 近几年CVPR图像压缩总结
- 安卓开发:使用手机拍照功能
- php漂浮,【飘】【漂】:【飘浮】【漂浮】、【漂泊】【飘泊】【飘薄】