loadrunner参数替换 如何在windows上编译linux可用的动态链接库?
如何在windows上编译linux可用的动态链接库?
1.背景
在最近的性能测试中,压力测试的一些接口返回的数据是复杂的json格式字符串,后续接口需要修改这个字符串作为输入参数,自行处理比较麻烦。于是想到把cjson编译成动态链接库,在loadrunner 的剧本。另外,由于实际压力测量使用的是部署在linux上的负载机,所以需要在linux上编译一个动态链接库。这样调试用的是windows平台的dll,压力测试用的是linu台的so。先附上我编译的动态链接库,可以直接在loadrunner中使用。
2、cjson
Cjson是一个开源的json库。它的优点是完全用C实现,所以适用性相当广,用在loadrunner上也没有压力。它的git主页是。
平台
打开vsual studio(我用的是vs2015,其他版本都可以,codeblock也可以,随你喜欢),新建一个win32程序。选择dll作为程序类型,并选择一个空项目作为附加选项。将cJSON.c和cJSON.h拖到项目中。将编译选项设置为release,x86(重要!),编译。将编译好的cjson.dll放在loadrunner脚本的根目录下,然后在菜单File-Add file to script中添加cjson.dll。将cjson.dll加载到代码中,然后就可以使用cjson 的功能。先试试吧,
注意这里的cjson_Version返回的是一个指针,但是loadrunner认为是int,所以要显式转换成指针,否则编译不会通过。
看看cjson 解析字符串的函数。其用法如下:
12这里需要使用cJSON.h中声明的结构cJSON,但是您可以 不要在loadrunner中通过直接引用cjson.h来编译它。只需将cJSON.h中结构cJSON的定义代码复制到动作的顶部即可,如图cJSON.h,其他变量或宏也可以。如果编译过程中有错误,直接复制就好了。
台
接下来,在linu台上编译一个动态链接库,在linux加载机上使用。Cjson s代码包含MakeFile和cmake,可以直接编译。但是,如果linux系统是64位的,默认编译是64位so,loadrunner无法加载,它会提示 "错误的精灵class:精灵类64 "。我们需要要手动修改MakeFile,让它编译一个32位的so。1.在cJSON的源目录下修改Mak: sys/cd:没有这样的文件或目录 "出现时,您需要安装另一个依赖库。
123.编译成功后,您将获得一个名为。将其复制到loadrunner脚本的根目录,并使用同一个菜单File-Add file to script将其添加到脚本中。4.在脚本中加载so,这与在windows上是一样的。所以脚本可以在linux下运行。你可以参考我的另一篇关于在linux上安装加载器的文章。
125.遗留问题
最后,还有一个遗留问题。loadrunn
如何测试androidapp?
首先,测试资源的确认和准备。
(1)产品需求文件、产品原型图纸、接口描述文件和设计描述文件应完整;
(2)测试设备和工具的准备:IOS和andriod不同版本的真机,相关测试工具的准备。
2.测试用例的设计和评审
(1)根据产品需求文档、产品原型图等文档,设计客户的通用功能测试用例;
(2)审查、修改和完善测试用例,审查通过后进入正式测试阶段。
3.用户界面测试
(1)确保手头的样机图纸和效果图是最新版本,满足产品经理和用户的要求;
(2)测试过程中一切以效果图为准。如果你对用户体验有什么建议,可以先通过邮件和产品经理确认。确认通过后,就可以正式向开发者询问用户体验了。
(3)由于测试环境中的数据是模拟数据,所以测试时必须提前考虑正式环境中可能出现的数据类型。
4.功能测试
(1)在功能测试中,主要根据编写的功能测试用例来遍历软件功能;
(2)涉及的测试主要包括基本功能测试、安装、卸载、运行测试、异常处理(包括突然断网或网速慢、机器内存不足等异常情况的处理)。
5、中断测试
(1)软件运行过程中接听、接收短信、锁屏、报警、充电,收到通知提醒后再使用软件,软件应该还能正常运行;
(2)软件运行时,从前台切换到后台再切换回前台,应该还能正常运行。使用。
6、兼容性和适应性测试
(1)硬件适配:不同手机厂商、硬件性能、不同屏幕尺寸的适配;
(2) OS版本兼容性:IOS 6-9;Andriod3以上,如果使用了一些新的API,而老系统上不支持,就会导致死机;;
(3)不同分辨率屏幕的适配:移动设备的分辨率五花八门,如果app处理不当,可能无法很好的显示,甚至影响功能的操作。
(4)兼容性测试必须在一定数量的真机上进行。因为真机种类太多,尤其是安卓在做兼容性测试的时候,可以选择几款使用较多的典型真机进行兼容性测试。
(5)此外,在开源testin cloud的帮助下,可以测试更多模型的兼容性。testin cloud提供了基本的运行条件,部分截图和简单的测试报告,有助于扩大测试的范围。
7.特性试验
(1)客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要功能占用的CPU、内存、流量、功耗,与同类产品相比是否有优势;
(2)使用安卓调试工具DDMS可以获得页面加载时间,在DDMS搜索显示的关键词可以看到页面加载时间;
(3)主要功能在运行过程中占用的CPU、内存、流量可以通过使用开源工具emmagee(安卓版)获得;
(4)至于服务器的性能,接口主要用来给服务器施压,重点是响应时间,吞吐量,并发,东西通过率,可以作为工具loadrunner,jmeter来测试。
8.稳定性试验
(Android APP的稳定性经常被猴子命令测试,猴子命令通过随机事件流模拟人的操作,对检查程序的内存溢出和空指针有很大的作用。
(2) Monkey主要用于检测系统中的ANR和崩溃等问题。
9.测试分析和测试报告输出
在上述测试之后,一个完整的分析和报告文档(包括buglist、性能和稳定性结果分析、发布在线风险分析等。)并输出给所有相关人员。
分享
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。