性能测试是指针对产品的业务场景,通过设计场景和压力,对产品进行高并发量、大数据量的测试,主要目的是为了确定产品在高并发情况下的各项指标:平均处理时间,QPS,网络IO,磁盘读写等。永洪BI具有高耦合性、海量数据、大计算量、复杂逻辑等特点,因此性能测试尤为重要,对于用户实际使用场景,性能问题可能要比功能问题更多。

对于性能测试,常见的工具有很多,对于永洪BI这类产品,更适合使用的工具为LoadRunner和JMeter。LoadRunner是最经典的性能测试工具,支持功能较全面,但是最主要的问题是比较贵,需要购买Licence,因此市场占用率已经大不如前。另外一个可选工具是JMeter,此工具为开源工具,完全免费,虽然支持功能不像LoadRunner那么全,但是完全可以通过添加各种组件的方式进行功能扩充。

引入原因
当前性能测试主要是基于LoadRunner,最主要的问题是脚本编写比较复杂,返回数据很难进行判断,因此不能满足所有性能测试场景的覆盖。

实际使用过程中,现场部署人员和支持人员常常会被用户提出以下需求:

能不能用JMeter进行测试。
能不能把报表中的数据取出,进行判断,用于确定性能测试脚本确实没问题。
批量添加测试用户、赋权(对于8.6前的老版本无法通过Excel导入的方式进行添加)。
为了客户现场支援人员和客户更加容易进行性能测试,以另外一个思路使用JMeter作为压测工具编写基于API的性能测试。这种测试方式最大的好处是用户能够加判定条件,返回数据以报文的方式进行验证,使用工具比较简单。熟练使用基于API的性能测试对于现场支持人员和测试人员非常有帮助,可以大幅度提高工作效率。

这种测试方法主要是基于永洪BI的API接口,以当前的API接口完全满足性能测试需求。这种方法的优点是脚本编写比较简单、工具免费、除了常规性能测试还可以通过API接口进行一些其他工作,比如删除无用报表、批量添加数据源、并发创建大批报表等。

使用前提
WebAPI 是基于servlet实现,API所有的方法的调用需要构建xml格式的请求内容,post到这个servlet,并且返回xml格式的字符串作为响应。想要基于API做集成开发需要构建和解析xml格式字符串,并通过http协议进行通讯。

修改web.xml
使用WebAPI首先需要修改Yonghong/tomcat/webapps /bi/WEB-INF/web.xml,在其中添加如下报文:

YonghongWebApi

g5.sv.httpapi.YonghongWebApi

YonghongWebApi

/api

设置系统权限
需要交系统设置问文件权限系统,进入管理系统-系统设置-权限管理系统配置,选择文件权限管理系统并点击应用按钮,如下图所示:

脚本编写
脚本编写过程中,基本需要以下几个接口来进行:

权限验证
退出权限
批量获得仪表盘中表格、交叉表、图表、文本组件的数据
权限验证接口
http://ip:port/bi/api?action=login&adminv=xxxx&passv=xxxx

此接口调用比较简单,主要是需要在url里边拼接用户账户和密码,adminv后接用户账户,passv后接密码,需要注意的问题如下:

密码不可设置为特殊字符”"“和”<“,其他特殊字符需要转义登录
权限验证返回的token代表一个http session,不需要每次调用API时都调用这个接口。token的失效时间由属性:secure.session.timeout=1800000的值控制,单位为秒,默认失效时间为30分钟
最后一定要调用“退出权限”接口,否则可能会导致短期内出现用户数过多,无法权限验证的情况。并且此接口只是用来进行api验证用,不能用来进行单点登录
需要传一个xmlData,值为空,否则接口调用不能通过验证。

退出权限
http://ip:port/bi/api?action=logout&token=xxxx

请求参数只在url上添加token信息或者post传入token信息
批量获得仪表盘中表格、交叉表、图表、文本组件的数据:
http://ip:port/bi/api?action=getElemDatas&token=xxxx

xmlData中对应的报文如下:

<?xml version="1.0" encoding="utf-8"?>

test/Data_4G_100W_vooltdb

图表1

25

1

其中各项参数的意义如下:

DBPATH:仪表盘路径
NAME:要访问仪表中的元素
PAGESIZE:分页每页多少行数据
PAGENOW:获取第几分页的数据
需要注意的是脚本中需要将此xml报文进行要,去掉这些换行符,压缩后形式如下:

<?xml version="1.0" encoding="utf-8"?>test/Data_4G_100W_vooltdb图表1251

JMeter脚本报文如下:

学会针对永洪API接口的性能测试,工作效率提升百倍
基于API性能测试的方法大概就是这样,活用API接口,对于很多工作都有帮助,比如添加用户、赋予权限等等,对于用户希望能够获取报表中所有数据的需求(希望压测时可以通过返回数据来判断是否成功)可以通过基于API接口的性能测试,另外编写demo作为参考。

学会针对永洪API接口的性能测试,工作效率提升百倍相关推荐

  1. 选中下拉列表显示全部数据_小白都能学会的多级下拉列表,让你的Excel效率提升百倍...

    私信回复关键词[工具],获取Excel高效小工具合集!让你的Excel效率开挂~ 你有没有遇到过这样的场景? 收集上来的各部门工作进度表,里面的答案五花八门. 即使在表头上进行提示规范,手动输入也十分 ...

  2. 78.Oozie API接口提交Shell工作

    78.1 演示环境介绍 CM和CDH版本:5.13.1 未启用Kerberos 78.2 操作演示 ooziejob.sh脚本 #!/bin/bashname=$1 echo "hello ...

  3. cad布局怎么用_8个CAD常用小技巧!学会的话,让你的工作速率提升好几倍

    在CAD作图过程中,肯定会遇到一些各种各样的问题,那么我们该怎样去解决那些问题呢?别急,今天小编就跟大家来分享一些经常出现的问题以及解决办法. 1.将CAD默认保存文件设置为最低 我们只需在绘图界面输 ...

  4. 编写接口时间效率提升一倍的方法

    什么?还在一个字段一个字段从数据库的表复制到Mapper文件中?最近,随着工作量的增加,感觉重复性的工作越来越多,这感觉让我的时间浪费很多.我举个例子,就是说,现在我要写查询用户详情的语句,在Mapp ...

  5. excel字符串和单元格拼接_Excel实例分享-学会输入数据小技巧,让你的工作效率远超同事...

    一.巧用定位功能 公众号早些时候发过如何快速选取区域的各类快捷键和快捷操作,以及CTRL+G的定位功能使用情况等,但实际的数据情况可能没有那么整齐,举个例子: 上图这组数据,共1110行数据.第一列i ...

  6. 效率值计算机公式,工作效率提升怎么计算(学会十个Excel公式)

    IF语法: 根据条件判断返回指定的值 COUNTIF语法: 统计满足给定条件的单元格的个数 1.查找重复内容 在C4输入公式: =IF(COUNTIF($B$4:$B$8,$B4)>1,&quo ...

  7. 芋道 Spring Boot API 接口文档 Swagger 入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  8. 永洪Desktop全能力永久免费 国产数据分析工具迈向新阶段

    2021年4月27日 数字探索 触手可及 永洪科技新品发布会在北京成功举办 发布会上,永洪科技面向个人用户带来了一款颠覆行业,人人都可轻松上手使用的桌面智能数据分析工具--Yonghong Deskt ...

  9. API接口管理平台-rap

    因为公司多个项目组并行,多次出现因为分支交叉使用导致影响其他项目组线上功能的情况,制定了几条规则来解决这一情况,其中一条规则就是对于各个项目组API接口的管理工作.    由于上游研发流程的不规范,各 ...

最新文章

  1. RDKit | 基于最大公共子结构(MCS)的分子比对
  2. 粗略的看下两款Linux下的性能分析工具
  3. Oracle原理: 行级锁和表级锁
  4. Java黑皮书课后题第10章:*10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数
  5. c++中stack容器
  6. 了解WWW服务与HTTP协议 【入门与应用】
  7. 【selenium】下载文件
  8. 《产品经理面试攻略》PART 6:产品群面题
  9. VM虚拟机安装CentOS 7详解
  10. 塔尔寺景点门票销售管理系统
  11. 微信小程序 上传头像截图功能
  12. 汇编常用寄存器以及寻址方式
  13. java坦克大战 实训报告_程序设计实训坦克大战实验报告
  14. 外贸网站推广和分析!
  15. CleanMyMac X 4.10.1许可证 Mac系统清洁加速
  16. 东信社保卡医保卡底层指令通讯协议(支持单片机、Linux、ARM等嵌入式系统使用)
  17. 为你的网页添加深色模式
  18. 计算机如何压缩文件?
  19. 诛仙-有声小说全集.zip
  20. 如何卸载阿里云ECS服务器的阿里云盾和安骑士

热门文章

  1. “Xavier”安卓木马分析:可静默收集数据并远程代码执行
  2. requests用法
  3. iOS viewDidUnload方法
  4. IBM等创建开放虚拟化联盟对抗VMware
  5. 广告贴——希望大家有空能够参加11月27日的《葵花宝典——WPF自学手册》签名售书活动...
  6. 从C#2.0的角度看.NET 2.0类型系统
  7. 铁路 12306 网站否认发生用户信息泄漏
  8. Algs4-1.4.8计算输入文件中相等的整数对的数量
  9. hdu 1556 Color the ball
  10. 邓侃:深度强化学习“深”在哪里?