RobotFrameWork(十三)RobotFramework与loadrunner性能测试结合(基于Remote库)
一般我们进行完功能测试,都需要进行下性能测试,那么这章我来介绍下,RobotFramework与loadrunner性能测试的融合,即运行完自动化功能测试,借助RobotFramework的Remote库来执行性能测试。
13.1 准备条件
A:一台pc,系统win7,安装有python、RobotFramework及ride。
B:一台pc,安装有loadrunner,python,IP为192.168.8.231
C:一台服务器
13.2 结构图
13.3步骤
13.3.1 下载robotremoteserver.py(Remote Server)并修改
Robotremoteserver.py为远程服务脚本,客户端通过它来调用服务器端的测试库来执行测试,下载地址如下:
http://robotframework.googlecode.com/hg/tools/remoteserver/robotremoteserver.py
Robotremoteserver.py中需要修改的地方,就是host和port:
- def __init__(self, library, host='192.168.8.231', port=8270, allow_stop=True):
- SimpleXMLRPCServer.__init__(self, (host, int(port)), logRequests=False)
- self._library = library
- self._allow_stop = allow_stop
- self._register_functions()
- self._register_signal_handlers()
- self._log('Robot Framework remote server starting at %s:%s'
- % (host, port))
- self.serve_forever()
修改: 设置host和port为安装loadrunner的测试机ip及端口
13.3.2 创建远程测试库(Test Library)
创建exampleremotelibrary.py脚本,脚本内容如下:
- import os
- import sys
- class ExampleRemoteLibrary:
- """Example library to be used with Robot Framework's remote server.
- This documentation is visible in docs generated by _libdoc.py_
- starting from Robot Framework 2.6.2.
- """
- def __init__(self):
- """Also this doc should be in shown in library doc."""
- def run_performance_test(self,scriptname):
- run_pfm_str = ''
- run_pfm_list = ["wlrun.exe -TestPath ",scriptname," -port 8080 -Run -DontClose"]
- os.chdir("C:\\Program Files (x86)\\Hp\\LoadRunner\\bin")
- os.system(run_pfm_str.join(run_pfm_list))
- if __name__ == '__main__':
- from robotremoteserver import RobotRemoteServer
- RobotRemoteServer(ExampleRemoteLibrary(), *sys.argv[1:])
run_performance_test函数为调用loadrunner的wlrun.exe,执行给出的场景脚本。
13.3.3运行服务端测试库
Exampleremotelibrary.py和Robotremoteserver.py都放置在安装loadrunner的PC上。
在安装loadrunner的PC上执行如下命令:
‘python exampleremotelibrary.py’
13.3.4 用例写作及执行
下面操作是在RobotFramework及ride安装的PC上。
①测试套(suite)中引入Remote
注意:Remote后面的参数192.168.8.231:8270是测试执行机(安装loadrunner的PC)的ip及端口
②在用例中调用远程测试库
我们调用run_performance_test这个函数,E:\\loadrunner\\Scenario1.lrs是性能测试的场景脚本:
转至:https://blog.csdn.net/mengfanbo123/article/details/9042661
RobotFrameWork(十三)RobotFramework与loadrunner性能测试结合(基于Remote库)的更多相关文章
- LoadRunner性能测试巧匠训练营
<LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...
- LoadRunner性能测试结果分析
LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html
- LoadRunner性能测试专项班隆重开班
LoadRunner性能测试专项班隆重开班 POPTEST首届高级性能测试提升强化班开课. 也许你只是看到成功者的光鲜,却没看到他们的努力和汗水.不要否定现在,要看到未来.提高自己.怎么自己.成就自己 ...
- 如何学习LoadRunner性能测试?
最近组内同事针对性能测试LR的脚本部分做了介绍,是个不错的分享.会后反思自己也有很长一段时间没做性能测试了,根据以往的经验,有必要做些整理和补充,本文主要介绍一些Loadrunner性能测试的学习方法 ...
- LoadRunner性能测试入门教程
javaweb性能测试那些事 一:什么是javaweb性能测试: 二:javaweb性能测试基本流程 三:javaweb性能测试常用指标: 1:响应时间:2-5-8 原则 2:吞吐量 3:资源使用率 ...
- LoadRunner性能测试结果分析(转载)
性能测试的需求指标:本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率.内存使用率分别不超过75 ...
- LoadRunner性能测试样例分析
LR性能测试结果样例分析 测试结果分析 LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源 ...
- LoadRunner性能测试工具下载
LoadRunner性能测试工具 LoadRunner是前美科利(Mercury Interactive)公司著名的性能测试产品.Mercury公司曾经是全球业务优化科技领域的领导者.2006年由惠普 ...
- WebGIS中基于控制点库进行SHP数据坐标转换的一种查询优化策略
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 目前项目中基于控制点库进行SHP数据的坐标转换,流程大致为:遍 ...
随机推荐
- js中的事件轮询(event loop)机制
异步任务指的是,不进入主线程.而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行. ...
- 《HTTP - https》
一:HTTP 缺点? - 明文通讯(也是最受诟病的一个缺点) - 不验证对方的身份(你说你是你?你怎么证明你是你呢?) - 无法验证报文的完整性,可能已经被篡改(在挨打的边缘,来回试探) 二:HTTP ...
- Python创建第一个django应用
在helloworld工程的基础上,我们准备创建第一个基于web的django应用,把这个应用名字命名为Guest 1.首先,是如何创建这个应用包,当然第一选择我们可以进入到cmd中,执行如下命令 ...
- zabbix宏(macro)使用:自定义监控阈值
一.简单应用场景 zabbix在监控cpu load时并没有考虑客户端cpu的个数和核心数量,当平均5分钟的负载达到5时zabbix执行报警动作,这样是非常不合理的,笔者的被监控机器有四核和单核,现在 ...
- 用canvas画三角形的方法
<canvas id="favoriteRectangle" width="30" height="30"></canva ...
- block详解
Objective-C 中 Block 有三种类型: NSStackBlock 存储于栈区 NSGlobalBlock 存储于程序数据区 NSMallocBlock 存储于堆区 block 内部没有引 ...
- python创建有序字典及字典按照值的大小进行排序
有序字典 在Python中,字典类型里面的元素默认是无序的,但是我们也可以通过collections模块创建有序字典 # -*- coding:utf-8 -*- # python有序字典需导入模块c ...
- 001-快速搭建Spring web应用【springboot 2.0.4】-gradle、springboot的启动过程分析、gradle多模块构建
一.概述 学习<精通Spring MVC4>书籍笔记 二.笔记 1.快速构建Spring starter web项目几种方式 1>使用Spring Tool Suite生成Start ...
- Node.js之npm使用
1.使用国内镜像 本人window8系统安装node.js之后,使用npm的命令安装Express一直失败: npm install express -g (以上命令会将 Express 框架安装在当 ...
- MRPT编译
今天尝试编译一下MRPT,主要是为了学习里面的路径规划算法. 自主探索,未知环境探索...... 编译的过程中遇到一个问题就是wxWidgets老是检测不到,让我添加它的root目录.明明wxWidg ...