[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0035] 为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
[0036] 图1是本发明一种测试应用程序运行帧率的方法的流程示意图。如图1所示,根据本发明的一个实施例,一种测试应用程序运行帧率的方法,包括:优选的,还包括步骤S01显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);步骤S10解析用户的操作,获取在移动终端上选取的多个(一个、两个、三个、六个等)待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;步骤S20设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;步骤S50根据已设置的每个待测应用程序所对应的测试方案,测试每个待测应用程序的运行帧率。
[0037] 图2是本发明另一种测试应用程序运行帧率的方法的流程示意图。如图2所示,根据本发明的另一个实施例,一种测试应用程序运行帧率的方法,包括:优选的,还包括步骤S01显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);
[0038] 步骤S10解析用户的操作,获取在移动终端上选取的多个待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;
[0039] 步骤S20设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;
[0040] 步骤S30根据已获取的多个待测应用程序、每个待测应用程序所对应的测试方案,生成测试配置协议;所述测试配置协议可以为一个测试配置总协议,该测试配置总协议包括多个待测应用程序、每个待测应用程序所对应的测试方案相关内容;所述测试配置协议也可以包括一个待测应用程序、该待测应用程序所对应的测试方案相关内容;例如:通话应用程序的测试配置协议为com.feixun.phone 10:1S,10:0.5S,10:0.1S;
[0041] 步骤S40解析已生成的测试配置协议,生成与每个待测应用程序相对应的测试命令,每批测试命令测试一个待测应用程序的运行帧率;其测试命令的格式为:fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中pacages、Intervals是接收变量参数;
[0042] 优选的,还包括步骤S41每个待测应用程序所对应的测试命令生成多段测试子命令,每段测试子命令在一个待测应用程序所对应的一种测试频率下,测试该待测应用程序的运行帧率;例如通话应用程序的测试频率为每秒/1次的测试子命令如下:通过包com.feixun.phone生成的批处理命令是adb shell monkey com.feixun.phone-s 100Seeds--throttle 1000-v50000,其中com.feixun.phone是运行包名,throttle 1000代表1000毫秒,其余的-s 100Seeds和-v 50000是默认参数,无需变动。通话应用程序的测试频率为每500毫秒/1次、每100毫秒/1次的测试子命令可以参照上述测试频率为每秒/1次的测试子命令;
[0043] 步骤S50根据已设置的每个待测应用程序所对应的测试方案,运行待测应用程序,执行测试子命令,测试每个待测应用程序的运行帧率。
[0044] 图3是本发明再一种测试应用程序运行帧率的方法的流程示意图。如图3所示,根据本发明的再一个实施例,一种测试应用程序运行帧率的方法,包括:优选的,还包括步骤S01显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);
[0045] 步骤S10解析用户的操作,获取在移动终端上选取的多个待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;
[0046] 步骤S20设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;
[0047] 步骤S30根据已获取的多个待测应用程序、每个待测应用程序所对应的测试方案,生成测试配置协议;所述测试配置协议可以为一个测试配置总协议,该测试配置总协议包括多个待测应用程序、每个待测应用程序所对应的测试方案相关内容;所述测试配置协议也可以包括一个待测应用程序、该待测应用程序所对应的测试方案相关内容;例如:通话应用程序的测试配置协议为com.feixun.phone 10:1S,10:0.5S,10:0.1S;
[0048] 步骤S40解析已生成的测试配置协议,生成与每个待测应用程序相对应的测试命令,每批测试命令测试一个待测应用程序的运行帧率;其测试命令的格式为:fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中pacages、Intervals是接收变量参数;
[0049] 优选的,还包括步骤S41每个待测应用程序所对应的测试命令生成多段测试子命令,每段测试子命令在一个待测应用程序所对应的一种测试频率下,测试该待测应用程序的运行帧率;例如通话应用程序的测试频率为每秒/1次的测试子命令如下:通过包com.feixun.phone生成的批处理命令是adb shell monkey com.feixun.phone-s 100Seeds--throttle 1000-v50000,其中com.feixun.phone是运行包名,throttle 1000代表1000毫秒,其余的-s 100Seeds和-v 50000是默认参数,无需变动。通话应用程序的测试频率为每500毫秒/1次、每100毫秒/1次的测试子命令可以参照上述测试频率为每秒/1次的测试子命令;
[0050] 步骤S50根据已设置的每个待测应用程序所对应的测试方案,运行待测应用程序,执行测试子命令,测试每个待测应用程序的运行帧率;步骤S60生成实时记录测试多个待测应用程序得到的运行帧率的记录文件。
[0051] 图4是本发明一种测试应用程序运行帧率的方法的流程示意图。如图4所示,根据本发明的又一个实施例,一种测试应用程序运行帧率的方法,包括:优选的,还包括步骤S01显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);
[0052] 步骤S10解析用户的操作,获取在移动终端上选取的多个待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;
[0053] 步骤S20设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;
[0054] 步骤S30根据已获取的多个待测应用程序、每个待测应用程序所对应的测试方案,生成测试配置协议;所述测试配置协议可以为一个测试配置总协议,该测试配置总协议包括多个待测应用程序、每个待测应用程序所对应的测试方案相关内容;所述测试配置协议也可以包括一个待测应用程序、该待测应用程序所对应的测试方案相关内容;例如:通话应用程序的测试配置协议为com.feixun.phone 10:1S,10:0.5S,10:0.1S;
[0055] 步骤S40解析已生成的测试配置协议,生成与每个待测应用程序相对应的测试命令,每批测试命令测试一个待测应用程序的运行帧率;其测试命令的格式为:fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中pacages、Intervals是接收变量参数;
[0056] 优选的,还包括步骤S41每个待测应用程序所对应的测试命令生成多段测试子命令,每段测试子命令在一个待测应用程序所对应的一种测试频率下,测试该待测应用程序的运行帧率;例如通话应用程序的测试频率为每秒/1次的测试子命令如下:通过包com.feixun.phone生成的批处理命令是adb shell monkey com.feixun.phone-s 100Seeds--throttle 1000-v50000,其中com.feixun.phone是运行包名,throttle 1000代表1000毫秒,其余的-s 100Seeds和-v 50000是默认参数,无需变动。通话应用程序的测试频率为每500毫秒/1次、每100毫秒/1次的测试子命令可以参照上述测试频率为每秒/1次的测试子命令;
[0057] 步骤S50根据已设置的每个待测应用程序所对应的测试方案,运行待测应用程序,执行测试子命令,测试每个待测应用程序的运行帧率;步骤S60生成实时记录测试多个待测应用程序得到的运行帧率的记录文件;
[0058] 步骤S61根据已获取的多个待测应用程序,生成与每个待测应用程序相对应的记录文件,每个记录文件实时记录测试一个待测应用程序得到的运行帧率;记录文件可根据每个应用程序的解析包名称进行命名;通过android的dumpsys gfxinfo接口调用,并重定向到指定记录文件中,在Profile data in ms中就能获取实时数据;步骤S62每个待测应用程序所对应的记录文件生成多个记录子文件,每个记录子文件实时记录一个待测应用程序在一种测试频率下得到的运行帧率。
[0059] 图5是本发明一种测试应用程序运行帧率的方法的流程示意图。如图5所示,根据本发明的又又一个实施例,一种测试应用程序运行帧率的方法,包括:优选的,还包括步骤S01显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);
[0060] 步骤S10解析用户的操作,获取在移动终端上选取的多个待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;
[0061] 步骤S20设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;
[0062] 步骤S30根据已获取的多个待测应用程序、每个待测应用程序所对应的测试方案,生成测试配置协议;所述测试配置协议可以为一个测试配置总协议,该测试配置总协议包括多个待测应用程序、每个待测应用程序所对应的测试方案相关内容;所述测试配置协议也可以包括一个待测应用程序、该待测应用程序所对应的测试方案相关内容;例如:通话应用程序的测试配置协议为com.feixun.phone 10:1S,10:0.5S,10:0.1S;
[0063] 步骤S40解析已生成的测试配置协议,生成与每个待测应用程序相对应的测试命令,每批测试命令测试一个待测应用程序的运行帧率;其测试命令的格式为:fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中pacages、Intervals是接收变量参数;
[0064] 优选的,还包括步骤S41每个待测应用程序所对应的测试命令生成多段测试子命令,每段测试子命令在一个待测应用程序所对应的一种测试频率下,测试该待测应用程序的运行帧率;例如通话应用程序的测试频率为每秒/1次的测试子命令如下:通过包com.feixun.phone生成的批处理命令是adb shell monkey com.feixun.phone-s 100Seeds--throttle 1000-v50000,其中com.feixun.phone是运行包名,throttle 1000代表1000毫秒,其余的-s 100Seeds和-v 50000是默认参数,无需变动。通话应用程序的测试频率为每500毫秒/1次、每100毫秒/1次的测试子命令可以参照上述测试频率为每秒/1次的测试子命令;
[0065] 步骤S50根据已设置的每个待测应用程序所对应的测试方案,运行待测应用程序,测试每个待测应用程序的运行帧率;
[0066] 步骤S70根据测试每个待测应用进程得到的运行帧率,判断该应用进程的运行帧率是否超过预设阀值;预设阀值为帧率在16ms左右,低于1秒60帧的话是需要进行优化;步骤S71若该应用进程的运行帧率超过预设阀值,则得到该应用程序运行良好的分析结果;步骤S72若该应用进程的运行帧率低于预设阀值,则得到该应用程序需要优化的建议。
[0067] 根据本发明的一个实施例,一种测试应用程序运行帧率的移动终端,包括:优选的,还包括显示模块,显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);获取模块10,该获取模块10解析用户的操作,获取在移动终端上选取的多个待测应用程序;
获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为
com.feixun.phone,该解析包名称可通过它调用通话模块的运行;设置模块20,该设置模块
20接收所述获取模块10输出的多个待测应用程序,在所述设置模块20中设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后
10分钟测试时间的测试频率为每100毫秒/1次;智能测试模块50,该智能测试模块50接收所述设置模块20输出的每个待测应用程序所对应的测试方案,测试每个待测应用程序的运行帧率。
[0068] 图6是本发明一种移动终端的组成结构示意图。如图6所示,根据本发明的另一个实施例,一种测试应用程序运行帧率的移动终端,包括:优选的,还包括显示模块,显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);
[0069] 获取模块10,该获取模块10解析用户的操作,获取在移动终端上选取的多个待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;
[0070] 设置模块20,该设置模块20接收所述获取模块10输出的多个待测应用程序,在所述设置模块20中设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;
[0071] 协议生成模块30,该协议生成模块30接收所述获取模块10输出的多个待测应用程序,所述协议生成模块30还接收所述设置模块20输出的每个待测应用程序所对应的测试方案,生成测试配置协议;例如:通话应用程序的测试配置协议为com.feixun.phone 10:1S,10:0.5S,10:0.1S;
[0072] 命令生成模块40,该命令生成模块40接收所述协议生成模块30输出的测试配置协议,解析该测试配置协议,生成与每个待测应用程序相对应的测试命令,每批测试命令测试一个待测应用程序的运行帧率;其测试命令的格式为:fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中pacages、Intervals是接收变量参数;
[0073] 智能测试模块50,该智能测试模块50接收所述设置模块20输出的每个待测应用程序所对应的测试方案,测试每个待测应用程序的运行帧率;文件生成模块60,该文件生成模块60接收所述智能测试模块50输出的多个待测应用程序得到的运行帧率,生成实时记录测试多个待测应用程序得到的运行帧率的记录文件。
[0074] 图7是本发明另一种移动终端的组成结构示意图。如图7所示,根据本发明的又一个实施例,一种测试应用程序运行帧率的移动终端,包括:优选的,还包括显示模块,显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);
[0075] 获取模块10,该获取模块10解析用户的操作,获取在移动终端上选取的多个待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;
[0076] 设置模块20,该设置模块20接收所述获取模块10输出的多个待测应用程序,在所述设置模块20中设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;
[0077] 协议生成模块30,该协议生成模块30接收所述获取模块10输出的多个待测应用程序,所述协议生成模块30还接收所述设置模块20输出的每个待测应用程序所对应的测试方案,生成测试配置协议;例如:通话应用程序的测试配置协议为com.feixun.phone 10:1S,10:0.5S,10:0.1S;
[0078] 命令生成模块40,该命令生成模块40接收所述协议生成模块30输出的测试配置协议,解析该测试配置协议,生成与每个待测应用程序相对应的测试命令,每批测试命令测试一个待测应用程序的运行帧率;其测试命令的格式为:fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中pacages、Intervals是接收变量参数;
[0079] 智能测试模块50,该智能测试模块50接收所述设置模块20输出的每个待测应用程序所对应的测试方案,测试每个待测应用程序的运行帧率;
[0080] 判断模块70,该判断模块70接收所述智能测试模块50输出的测试每个待测应用进程得到的运行帧率,判断该应用进程的运行帧率在预设阀值以内;预设阀值为帧率在16ms左右,低于1秒60帧的话是需要进行优化;分析模块80,该分析模块80接收所述判断模块70输出的该应用进程的运行帧率在预设阀值以内,得出该应用程序运行良好的分析结果;建议模块90,该建议模块90接收所述判断模块70输出的该应用进程的运行帧率超过预设阀值,得出该应用程序需要优化的建议。
[0081] 根据本发明的再一个实施例,一种测试应用程序运行帧率的方法,包括:优选的,还包括在显示模块中显示安装在移动终端上的应用程序(应用程序所对应的解析包名称);
[0082] 获取模块10,解析用户的操作,获取在移动终端上选取的多个待测应用程序;获取在移动终端上选取的多个待测应用程序是指:获取在移动终端上选取的多个待测应用程序所对应的解析包名称;例如:移动终端中通话应用程序的解析包名称为com.feixun.phone,该解析包名称可通过它调用通话模块的运行;
[0083] 在设置模块20中设置每个待测应用程序所对应的测试方案,该测试方案是指:每个待测应用程序所对应的多种测试频率、以及每种测试频率所对应的测试时间;例如:设置通话应用程序的测试总时间为30分钟,前10分钟测试时间的测试频率为每秒/1次,中间10分钟测试时间的测试频率为每500毫秒/1次,后10分钟测试时间的测试频率为每100毫秒/1次;
[0084] 协议生成模块30,根据已获取的多个待测应用程序、每个待测应用程序所对应的测试方案,生成测试配置协议;所述测试配置协议可以为一个测试配置总协议,该测试配置总协议包括多个待测应用程序、每个待测应用程序所对应的测试方案相关内容;所述测试配置协议也可以包括一个待测应用程序、该待测应用程序所对应的测试方案相关内容;例如:通话应用程序的测试配置协议为com.feixun.phone 10:1S,10:0.5S,10:0.1S;
[0085] 命令生成模块40,解析已生成的测试配置协议,生成与每个待测应用程序相对应的测试命令,每批测试命令测试一个待测应用程序的运行帧率;其测试命令的格式为:fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中pacages、Intervals是接收变量参数;
[0086] 优选的,还包括命令生成模块40,将每个待测应用程序所对应的测试命令生成多段测试子命令,每段测试子命令在一个待测应用程序所对应的一种测试频率下,测试该待测应用程序的运行帧率;例如通话应用程序的测试频率为每秒/1次的测试子命令如下:通过包com.feixun.phone生成的批处理命令是adb shell monkey com.feixun.phone-s 100Seeds--throttle 1000-v 50000,其中com.feixun.phone是运行包名,throttle 1000代表1000毫秒,其余的-s 100Seeds和-v 50000是默认参数,无需变动。通话应用程序的测试频率为每500毫秒/1次、每100毫秒/1次的测试子命令可以参照上述测试频率为每秒/1次的测试子命令;
[0087] 智能测试模块50,根据已设置的每个待测应用程序所对应的测试方案,运行待测应用程序,执行测试子命令,测试每个待测应用程序的运行帧率;
[0088] 文件生成模块60,生成实时记录测试多个待测应用程序得到的运行帧率的记录文件;文件生成模块60,还根据已获取的多个待测应用程序,生成与每个待测应用程序相对应的记录文件,每个记录文件实时记录测试一个待测应用程序得到的运行帧率;记录文件可根据每个应用程序的解析包名称进行命名;通过android的dumpsys gfxinfo接口调用,并重定向到指定记录文件中,在Profile data in ms中就能获取实时数据;文件生成模块60,将每个待测应用程序所对应的记录文件生成多个记录子文件,每个记录子文件实时记录一个待测应用程序在一种测试频率下得到的运行帧率;
[0089] 判断模块70,根据测试每个待测应用进程得到的运行帧率,判断该应用进程的运行帧率是否超过预设阀值;预设阀值为帧率在16ms左右,低于1秒60帧的话是需要进行优化;分析模块80,若该应用进程的运行帧率超过预设阀值,则得到该应用程序运行良好的分析结果;建议模块90,若该应用进程的运行帧率低于预设阀值,则得到该应用程序需要优化的建议。
[0090] 图8是本发明又一种移动终端的组成结构示意图;图9是本发明中前端配置器的组成结构示意图;图10是本发明中运行控制器的组成结构示意图;图11是本发明中帧率采集模块的组成结构示意图。如图8、图9、图10、图11所示,根据本发明的一个实施例,一种测试应用程序运行帧率的方法,包括:前端配置器100(如图9所示)、运行控制器200(如图10所示)和帧率采集模块300(如图11所示);
[0091] 通过前端配置器100中APP解析器101选择APP,通过图形界面方法选择移动终端中的APP应用;获取APP解析包名的方法:通过代码adb shell pm list packages>.\\config\\packages.txt获取手机中相关的包名,并在图形界面上显示,给用户选择;例如:用户选择com.feixun.phone,该数据是移动终端中通话模块的代码包名,可通过它调用通话模块的运行;
[0092] 运行方案配置102,可输入用户测试该APP所用的时间;例如:该APP测试总时间为30分钟,其中,前10分钟为每秒/1次操作,中间10分钟为每500毫秒/1次,最后10分钟为每
100毫秒/1次操作的配置;
[0093] 生成配置协议(com.feixun.phone 10:1S,10:0.5S,10:0.1S),以此类推,当用户选择了N个包名后(com.feixun.camera 15:1S,12:0.5S,15:0.1S)....用户选择的测试包和输入的运行方案都将被写入到配置中;
[0094] 运行控制器200,接收运行方案配置102协议内容,通过协议解析器201进行分解写入运行代码中,fileWriter("adb shell monkey"+pacages+"-s"+Seeds+"--throttle"+Intervals+"-v"+clicks);其中,fileWrite是将一个接收文件处理方案,接收文件的内容在后面括号内,是一串adb批处理的命令,其中灰色的可以是接收变量参数;
[0095] 例如:通过包com.feixun.phone生成的批处理命令是adb shell monkey com.feixun.phone-s 100Seeds--throttle 1000-v 50000,其中,com.feixun.phone是运行包名,throttle 1000代表1000毫秒,其余的-s 100Seeds和-v 50000是默认参数,不变动即可;
[0096] 根据上述前端配置协议(com.feixun.phone 10:1S,10:0.5S,10:0.1S)该行配置协议将解析成3段批处理命令通过Monkey运行器202逐一运行,即启16条中的批处理命令;
[0097] 帧率采集模块300,帧率监测器301能实时监测移动终端运行时的帧数,并能记录实时数据的功能;通过android的dumpsys gfxinfo接口调用,并重定向到指定记录文件中,在Profile data in ms中就能获取实时数据;正常情况下帧率应该在16ms左右,如果1秒60帧的话是需要进行优化的,可根据需求进行预设判断处理;指定的记录文件可根据包名进行命名;
[0098] 分包处理模块302,在相同APP包中可进行不同频率的操作,在同一包名记录文件中,会进行不同操作频率操作的区分;
[0099] 在不同APP包中会生成另一个APP包名记录文件,以此进行区分数据;最后产出测试结果。
[0100] 本实施例提供的一种测试应用程序运行帧率的方法,主要测试移动终端中各APP运行流畅度,并能通过前端配置器100预先配置不同运行速度,通过运行控制器200进行执行操作,采集帧率这一实时操作数据。本方法能了解不同APP在不同的操作频率下,帧数据是否存在异常值。同时,本方法是全自动测试帧数的方案,具有操作高效的特点,还能够满足不同操作频率的组合,具有较高的灵活性。
[0101] 应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。