一般我们进行完功能测试,都需要进行下性能测试,那么这章我来介绍下,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是性能测试的场景脚本:
③执行用例