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来找问题出现的原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值