一般我们进行完功能测试,都需要进行下性能测试,那么这章我来介绍下,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:

  1. def __init__(self, library, host='192.168.8.231', port=8270, allow_stop=True):
  2. SimpleXMLRPCServer.__init__(self, (host, int(port)), logRequests=False)
  3. self._library = library
  4. self._allow_stop = allow_stop
  5. self._register_functions()
  6. self._register_signal_handlers()
  7. self._log('Robot Framework remote server starting at %s:%s'
  8. % (host, port))
  9. self.serve_forever()

修改: 设置host和port为安装loadrunner的测试机ip及端口

13.3.2 创建远程测试库(Test Library)

创建exampleremotelibrary.py脚本,脚本内容如下:

  1. import os
  2. import sys
  3. class ExampleRemoteLibrary:
  4. """Example library to be used with Robot Framework's remote server.
  5. This documentation is visible in docs generated by _libdoc.py_
  6. starting from Robot Framework 2.6.2.
  7. """
  8. def __init__(self):
  9. """Also this doc should be in shown in library doc."""
  10. def run_performance_test(self,scriptname):
  11. run_pfm_str = ''
  12. run_pfm_list = ["wlrun.exe -TestPath ",scriptname," -port 8080 -Run -DontClose"]
  13. os.chdir("C:\\Program Files (x86)\\Hp\\LoadRunner\\bin")
  14. os.system(run_pfm_str.join(run_pfm_list))
  15. if __name__ == '__main__':
  16. from robotremoteserver import RobotRemoteServer
  17. 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库)的更多相关文章

  1. LoadRunner性能测试巧匠训练营

    <LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...

  2. LoadRunner性能测试结果分析

    LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html

  3. LoadRunner性能测试专项班隆重开班

    LoadRunner性能测试专项班隆重开班 POPTEST首届高级性能测试提升强化班开课. 也许你只是看到成功者的光鲜,却没看到他们的努力和汗水.不要否定现在,要看到未来.提高自己.怎么自己.成就自己 ...

  4. 如何学习LoadRunner性能测试?

    最近组内同事针对性能测试LR的脚本部分做了介绍,是个不错的分享.会后反思自己也有很长一段时间没做性能测试了,根据以往的经验,有必要做些整理和补充,本文主要介绍一些Loadrunner性能测试的学习方法 ...

  5. LoadRunner性能测试入门教程

    javaweb性能测试那些事 一:什么是javaweb性能测试: 二:javaweb性能测试基本流程 三:javaweb性能测试常用指标: 1:响应时间:2-5-8 原则 2:吞吐量 3:资源使用率 ...

  6. LoadRunner性能测试结果分析(转载)

    性能测试的需求指标:本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率.内存使用率分别不超过75 ...

  7. LoadRunner性能测试样例分析

    LR性能测试结果样例分析 测试结果分析 LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源 ...

  8. LoadRunner性能测试工具下载

    LoadRunner性能测试工具 LoadRunner是前美科利(Mercury Interactive)公司著名的性能测试产品.Mercury公司曾经是全球业务优化科技领域的领导者.2006年由惠普 ...

  9. WebGIS中基于控制点库进行SHP数据坐标转换的一种查询优化策略

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 目前项目中基于控制点库进行SHP数据的坐标转换,流程大致为:遍 ...

随机推荐

  1. js中的事件轮询(event loop)机制

    异步任务指的是,不进入主线程.而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行. ...

  2. 《HTTP - https》

    一:HTTP 缺点? - 明文通讯(也是最受诟病的一个缺点) - 不验证对方的身份(你说你是你?你怎么证明你是你呢?) - 无法验证报文的完整性,可能已经被篡改(在挨打的边缘,来回试探) 二:HTTP ...

  3. Python创建第一个django应用

    在helloworld工程的基础上,我们准备创建第一个基于web的django应用,把这个应用名字命名为Guest   1.首先,是如何创建这个应用包,当然第一选择我们可以进入到cmd中,执行如下命令 ...

  4. zabbix宏(macro)使用:自定义监控阈值

    一.简单应用场景 zabbix在监控cpu load时并没有考虑客户端cpu的个数和核心数量,当平均5分钟的负载达到5时zabbix执行报警动作,这样是非常不合理的,笔者的被监控机器有四核和单核,现在 ...

  5. 用canvas画三角形的方法

    <canvas id="favoriteRectangle" width="30" height="30"></canva ...

  6. block详解

    Objective-C 中 Block 有三种类型: NSStackBlock 存储于栈区 NSGlobalBlock 存储于程序数据区 NSMallocBlock 存储于堆区 block 内部没有引 ...

  7. python创建有序字典及字典按照值的大小进行排序

    有序字典 在Python中,字典类型里面的元素默认是无序的,但是我们也可以通过collections模块创建有序字典 # -*- coding:utf-8 -*- # python有序字典需导入模块c ...

  8. 001-快速搭建Spring web应用【springboot 2.0.4】-gradle、springboot的启动过程分析、gradle多模块构建

    一.概述 学习<精通Spring MVC4>书籍笔记 二.笔记 1.快速构建Spring starter web项目几种方式 1>使用Spring Tool Suite生成Start ...

  9. Node.js之npm使用

    1.使用国内镜像 本人window8系统安装node.js之后,使用npm的命令安装Express一直失败: npm install express -g (以上命令会将 Express 框架安装在当 ...

  10. MRPT编译

    今天尝试编译一下MRPT,主要是为了学习里面的路径规划算法. 自主探索,未知环境探索...... 编译的过程中遇到一个问题就是wxWidgets老是检测不到,让我添加它的root目录.明明wxWidg ...