一般我们进行完功能测试,都需要进行下性能测试,那么这章我来介绍下,RobotFramework与loadrunner性能测试的融合,即运行完自动化功能测试,借助RobotFramework的Remote库来执行性能测试。
A:一台pc,系统win7,安装有python、RobotFramework及ride。
B:一台pc,安装有loadrunner,python,IP为192.168.8.231
C:一台服务器
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及端口
创建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,执行给出的场景脚本。
Exampleremotelibrary.py和Robotremoteserver.py都放置在安装loadrunner的PC上。
在安装loadrunner的PC上执行如下命令:
‘python exampleremotelibrary.py’
下面操作是在RobotFramework及ride安装的PC上。
①测试套(suite)中引入Remote
注意:Remote后面的参数192.168.8.231:8270是测试执行机(安装loadrunner的PC)的ip及端口
②在用例中调用远程测试库
我们调用run_performance_test这个函数,E:\\loadrunner\\Scenario1.lrs是性能测试的场景脚本:
③执行用例