性能测试工具操作数据库(二)-Loadrunner与oracle

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: Loadrunner支持oracle协议,可以选择协议录制方式,或手写脚本方式,本文讲的手写脚本方式,简洁方便。
版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 https://blog.csdn.net/smooth00/article/details/67631769

1、Loadrunner支持oracle协议,可以选择协议录制方式,或手写脚本方式,本文讲的手写脚本方式,简洁方便。

2、vuser_init文件代码(连接全放到init中,因为连接耗时耗资源,以保证性能测试时少连接):

vuser_init()
{
	lrd_init(&InitInfo, DBTypeVersion);
	lrd_initialize_db(LRD_DBTYPE_ORACLE, 2, 0);
	lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
	lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);
	lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);
	lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);
	lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes2, 0);
	//lrd_server_attach(OraSrv1, "qa70/orcl", 9, 0, 0);
	lrd_server_attach(OraSrv1, "qa70", -1, 0, 0);//lrd_server_attach(OraSrv1, "qa70", 4, 0, 0)
	lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0);
	lrd_ora8_attr_set(OraSes1, USERNAME, "xtjg_test", -1, 0);//lr_decrypt("58b3e02f8ba0e4201c2c")
	//lrd_ora8_attr_set(OraSes1, PASSWORD, lr_decrypt("5487fff63e812b81"), -1, 0);
	lrd_ora8_attr_set(OraSes1, PASSWORD, "123456", -1, 0);
	lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0);
	lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0);
	lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm1, 0);
	
	return 0;
}

2、action文件代码

Action()
{
    char *test;
	lr_load_dll("ole32.dll");      //引用windows生成GUID的API
	test=lr_guid_gen("GUID");      //调用上面lr_guid_gen()方法 
	lr_save_string(test,"GUID");

        lr_start_transaction("test-insert");

        lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm7, 0);
        lrd_ora8_stmt(OraStm7, "insert into ent_unionpunish " 
        " (id, limlow, lowdes, limdatefrom, limdateto, senddep, senddepname, recdep, recdepname, infotype,"
        "pripid, remark, organizationid, dataproway, errcode, subdate, feedbackdate, hanobjtype,"
        "persontype, name, certype, cerno, entname, uniscid, regno)"
        "values "
        "('{GUID}', 'v_limlow', 'v_lowdes', to_date('2016-12-11','yyyy/mm/dd'),"
        "to_date('2016-12-11','yyyy/mm/dd')," 
        "'v_senddep', 'v_senddepname', 'v_recdep', 'v_recdepname', 'v_infotype', 'v_pripid', 'v_remark'," 
        "'v_organizationid', 'v_dataproway', 'v_errcode',"
        "to_date('2016-12-11','yyyy/mm/dd'),to_date('2016-12-11','yyyy/mm/dd'), '1',"
        "'v_persontype', 'v_name', 'v_certype', 'v_cerno', 'v_entname', 'v_uniscid', 'v_regno')", 1, 0, 0);
        /*lrd_ora8_stmt(OraStm7, "update ent_unionpunish set hanobjtype=1 where name='smooth", 1, 0, 0);*/
        lrd_ora8_exec(OraSvc1, OraStm7, 1, 0, &uliRowsProcessed, 0, 0, 0, 0, 0);
        lrd_handle_free(&OraStm7, 0);

        lr_end_transaction("test-insert", LR_AUTO);

        lr_start_transaction("test-select");

        lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm7, 0);
        lrd_ora8_stmt(OraStm7, "select * from ry_jbxx,dz_zzxx where dz_zzxx.zzbh=ry_jbxx.RYZZBH and "
        " ry_jbxx.xm='{RYDZ_XM}' and ry_jbxx.csrq='{RYDZ_CSRQ}'", 1, 32, 0);
        lrd_ora8_exec(OraSvc1, OraStm7, 0, 0, &uliRowsProcessed, 0, 0, 0, 0, 0);//注意参数与insert的区别        
        lrd_handle_free(&OraStm7, 0);

        lr_end_transaction("test-select", LR_AUTO);
	return 0;
}

3、vuser_end文件代码

vuser_end()
{
	lrd_session_end(OraSvc1, OraSes1, 0, 0);
	lrd_server_detach(OraSrv1, 0, 0);
	lrd_handle_free(&OraEnv1, 0);

	return 0;
}


相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
24天前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
16天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
113 17
Selenium:强大的 Web 自动化测试工具
|
26天前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
38 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
143 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
1月前
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
49 2
|
1月前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
1月前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
183 2
|
1月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
1月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
70 1
|
2月前
|
Rust 关系型数据库 Linux
Rainfrog: 轻量级数据库管理工具
【10月更文挑战第3天】

推荐镜像

更多