注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

IOS设备上客户端性能测试小工具  

来自happylifecth   2015-03-20 20:04:56|  分类: 测试工具 |举报 |字号 订阅

  下载LOFTER 我的照片书  |
       在工作中,有时需要检查被测app的在特定页面或者特定操作下内存占用和cpu占用率等指标。于是,自己写了一个测试的小工具,用于检测客户端的性能。
       IOS系统的底层是UNIX,因此想到通过建立ssh连接,发送top指令来获取进程的状态。这种方式的前提是需要一台越狱的ios设备,再装上OpenSSH插件和top插件,然后就可以通过xshell等与手机连接上啦,输入一个top指令,截图如下:
IOS设备上客户端性能测试小工具 - happylifecth - happylifecth的博客
  
      一、测试工具的原理如下:
      1、输入:1)顺序执行的待测场景,比如发布流程:选图页-编辑页-发布中-发布完成页
                      2)两个对比app的进程名,比如:app1,app2
      2、输出:1)cpu占用率对比折线图
                       2)内存占用对比折线图
      3、过程:1)与ios设备建立ssh连接
                       2)启动app1,顺序停留在待测页面,通过回车触发,发送top指令获取app1的进程信息
                       3)解析top指令的结果,获得cpu占用率和内存占用数值,存储在list1中
                       4)启动app2,重复2)和3)的步骤,数值存储在list2中
                       5)把list1和list2中的cpu占用率和内存占用的对比数据分别提取出来,绘制两个折线图
    二、 使用的jar包:
     1、ganymed-ssh2-build251:通过ssh2协议执行远程命令
     2、jfreechart-1.0.19:绘制图表
     三、关键点和需要注意的地方:
     1、建立连接:
               connection = new Connection(hostname, port); 
              connection.connect(); 
              boolean isAuthenticated = connection.authenticateWithPassword(username, password); 
              if (isAuthenticated == false) 
              {
                   throw new IOException("Authentication failed."); 
              }
      2、建立会话,执行命令
               Session sess = connection.openSession();
               sess.execCommand("top -l 2");
               InputStream stdout = new StreamGobbler(sess.getStdout());
               BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
           这里,top -l 2表示刷新两次结果退出,至于为什么要更新两次呢,参见以下解释。
      3、从top结果中把被测app的进程提取出来。开始我只刷新一遍,逐行读取直到包含被测app的进程名时退出,却发现每次取得结果%CPU这一值都是0.0%,于是把整个top指令结果打印出来发现所有进程的%CPU也都是0.0%。第二次刷新的结果就可以正常取得数据了。
     四、实验结果:
     实验结果举例,如下图
 IOS设备上客户端性能测试小工具 - happylifecth - happylifecth的博客
IOS设备上客户端性能测试小工具 - happylifecth - happylifecth的博客

参考资源:
  评论这张
 
阅读(2938)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016