一种无线信息获取的自动化测试装置及方法与流程

文档序号:11180447阅读:440来源:国知局
一种无线信息获取的自动化测试装置及方法与流程

本发明涉及一种自动化测试方法及系统,特别是涉及一种无线信息获取的自动化测试装置及方法。



背景技术:

随着越来越多的手机厂商、运营商、开发商加入android阵营,android市场的应用数量增长迅速。然而,这都离不开测试,因此android自动化测试的需求愈加迫切。

目前自动化测试手机的工具有很多,例如:monkey、monkeyrunner、instrumentation、uiautomator、appium等。这些工具都可以用来模拟按键按下、抬起、屏幕点击、滚动等事件,但对于手机无线流量、ping丢包率、ping时延、连接速率、信号强度等信息的测试不太适用。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种无线信息获取的自动化测试装置及方法,以达到在pc端就可实现手机无线流量、ping丢包率、ping时延、连接速率、信号强度等无线信息自动化测试的目的。

为达上述目的,本发明提出一种无线信息获取的自动化测试装置,设置于移动设备端,用于与客户端进行数据传输,包括:

连接建立单元,用于接收客户端的建立连接请求,发送相应的响应信息至客户端以与客户端建立连接;

无线信息获取单元,于接收到客户端的无线信息获取请求,对该无线信息获取请求进行处理,利用所述自动化测试装置提供的多个接口获取相应的无线信息;

无线信息反馈单元,用于将获取的无线信息反馈至该客户端;

所述无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等的部分或全部。

进一步地,所述无线信息获取单元通过多个接口获取的无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等的部分或全部。

进一步地,所述无线信息获取单元进一步包括:

无线连接信息获取单元,用于该无线信息获取请求为无线连接信息获取请求时,则进行处理以获取无线连接信息;

下行无线流量获取单元,用于该无线信息获取请求为下行无线流量获取请求时,则进行处理以获取下行无线流量;

上行无线流量获取单元,用于该无线信息获取请求为上行无线流量获取请求时,则进行处理以获取上行无线流量;

ping网络延迟/丢包率获取单元,用于该无线信息获取请求为ping网络延迟或丢包率获取请求时,则对其进行处理以获取ping网络延迟或丢包率。

进一步地,该下行无线流量获取单元首先获取从该自动化测试装置连接上无线后接收的总流量,并于下一秒之后再次获取接收到的总流量,然后将两次的值相减,获得该下行无线流量。

进一步地,该上行无线流量获取单元首先获取从该自动化测试装置连接上无线后发送的总流量,并于下一秒之后再次获取发送的总流量,然后将两次的值相减,获得该上行无线流量。

进一步地,所述客户端包括:

连接关闭单元,用于向自动化测试装置发送关闭连接请求,并于接收到自动化测试装置的响应信息后关闭与自动化测试装置的连接,结束测试;

广播发送单元,用于向自动化测试装置发送广播,所述自动化测试装置接收该客户端发送的广播,通过过滤器筛选广播,并根据广播执行相应的动作;所述相应的动作包括无线的使能和无线的连接。

为达到上述目的,本发明还提供一种无线信息获取的自动化测试方法,包括如下步骤:

步骤一,接收客户端发送的连接请求,对连接请求进行响应以与客户端建立连接;

步骤二,接收客户端发送的无线信息获取请求,利用所述自动化测试装置提供的多个接口获取相应的无线信息;

步骤三,将获取的无线信息反馈至客户端;

所述无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等的部分或全部。

进一步地,步骤二进一步包括:

若该无线信息获取请求为无线连接信息获取请求时,则对其进行处理以获取无线连接信息;

若该无线信息获取请求为下行无线流量获取请求时,则对其进行处理以获取下行无线流量;

若该无线信息获取请求为上行无线流量获取请求时,则对其进行处理以获取上行无线流量;

若该无线信息获取请求为ping网络延迟或丢包率获取请求时,则对其进行处理以获取ping网络延迟或丢包率。

进一步地,所述获取下行流量的步骤为首先获取从该自动化测试装置连接上无线后接收的总流量,并于下一秒之后再次获取接收到的总流量,然后将两次的值相减,获得该下行无线流量。

进一步地,所述获取上行流量的步骤为首先获取从该自动化测试装置连接上无线后发送的总流量,并于下一秒之后再次获取发送的总流量,然后将两次的值相减,获得该上行无线流量。

进一步地,在步骤一前,客户端向自动化测试装置发送广播,所述自动化测试装置接收该客户端发送的广播,通过过滤器筛选广播,并根据广播执行相应的动作,所述相应的动作包括无线的使能和无线的连接;

步骤四、向自动化测试装置发送关闭连接请求,并于接收到自动化测试装置的响应信息后关闭与自动化测试装置的连接,结束测试。

与现有技术相比,本发明一种无线信息获取的自动化测试装置及方法通过利用设置于手机端的自动化测试装置设置多个接口,分别用来获取手机无线流量、ping丢包率、ping时延、连接速率、信号强度,并利用设置于pc端的无线客户端与手机端的自动化测试装置进行通信,调用接口实现获取相关无线信息,实现测试手机连接的无线路由器的性能和功能的目的,进而达到在pc端就可以监听手机无线流量、无线信号强度和连接速率、获取ping网络延迟和ping丢包率的目的,并且在pc端就可以控制手机无线的连接和开关。

附图说明

图1为本发明一种无线信息获取的自动化测试装置的系统架构图;

图2为本发明具体实施例中无线信息获取单元102的细部结构图

图3为本发明之自动化测试装置所应用之测试系统的系统架构图;

图4为本发明具体实施例中客户端20的细部结构图;

图5为本发明具体实施例中自动化测试装置与无线客户端的socket交互流程图;

图6为本发明具体实施例中安卓手机的自动化测试装置获取无线信息的流程图;

图7为本发明具体实施例中无线客户端发送广播、自动化测试装置端监听广播执行无线开关与连接的流程图;;

图8为本发明一种无线信息获取的自动化测试方法的步骤流程图;

图9为本发明具体实施例之自动化测试方法的步骤流程图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

图1为本发明一种无线信息获取的自动化测试装置的系统架构图。如图1所示,本发明一种无线信息获取的自动化测试装置,应用于移动设备端,包括:连接建立单元101、无线信息获取单元102以及无线信息反馈单元103。

其中,连接建立单元101,用于接收客户端的建立连接请求,发送相应的响应信息至客户端以与客户端建立连接;无线信息获取单元102,用于接收到客户端的无线信息获取请求,对该无线信息获取请求进行处理,获取相应的无线信息,这里的无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等的部分或全部;无线信息反馈单元103,用于将获取的无线信息反馈至客户端,在本发明具体实施例中,客户端设置于pc电脑端,这样在pc端就可以监听手机无线流量、无线信号强度和连接速率、获取ping网络延迟和ping丢包率

具体地,如图2所示,无线信息获取单元102进一步包括:

无线连接信息获取单元1020,用于该无线信息获取请求为无线连接信息获取请求时,则进行处理以获取无线连接信息;以该自动化测试装置设置于安卓手机为例,当客户端通过socket将字符串”conninfo”发送给安卓手机上的自动化测试装置后,无线连接信息获取单元1020则会调用android.net.wifi.wifimanager的方法getconnectioninfo()来获取无线连接信息,例如无线信号强度、无线名称、无线mac地址、无线连接速率等。

下行无线流量获取单元1021,用于该无线信息获取请求为下行无线流量获取请求时,则首先获取从自动化测试装置连接上无线后接收的总流量,并于下一秒之后再次获取此值,然后将两次的值相减,获得下行无线流量,具体地,当客户端通过socket将字符串”rxbytes”发送给安卓手机上的自动化测试装置后,下行无线流量获取单元1021则会调用android.net.trafficstats类的gettotalrxbytes()来获取从手机连接上无线后接收的总流量,并于下一秒之后再次获取此值,然后将两次值相减,即获得下行无线流量。

上行无线流量获取单元1022,用于该无线信息获取请求为上行无线流量获取请求时,则首先获取从自动化测试装置连接上无线后发送的总流量,并于下一秒之后再次获取此值,然后将两次的值相减,获得上行无线流量,当客户端通过socket将字符串”txbytes”发送给安卓手机上的自动化测试装置后,上行无线流量获取单元1022则会调用android.net.trafficstats类的gettotaltxbytes()来获取从手机连接上无线后发送的总流量,并于一秒之后再次获取此值,然后将两值相减,即获得上行无线流量。

ping网络延迟/丢包率获取单元1023,用于该无线信息获取请求为ping网络延迟或丢包率获取请求时,则对其进行处理以获取ping网络延迟或丢包率。在本发明具体实施例中,ping网络延迟/丢包率获取单元1023可调用python的subprocesspopen库和手机的adb命令接口adbping*.*.*.*来获取ping网络延迟,或调用python的subprocesspopen库和手机的adb命令接口adbping*.*.*.*来获取ping丢包率。

图3为本发明之自动化测试装置所应用之测试系统的系统架构图。本发明所应用之测试系统,包括:客户端20以及自动化测试装置21。

其中,客户端20,设置于pc电脑端,用于向自动化测试装置21发送连接请求,并于接收到自动化测试装置21的响应信息时与自动化测试装置21建立连接,在与自动化测试装置21建立连接后,向自动化测试装置21发送无线信息获取请求以请求获取自动化测试装置21的无线信息,接收自动化测试装置21反馈的无线信息,这里的无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等中的部分或全部,在本发明具体实施例中,客户端20设置于pc电脑端,其可以为无线客户端,较佳地,客户端20还用于向自动化测试装置21发送关闭连接请求,并于接收到自动化测试装置21的响应信息后关闭与自动化测试装置21的连接,结束测试。客户端20还用于向自动化测试装置21发送广播,由自动化测试装置21即广播接收者通过过滤器来筛选广播,并根据监听到的广播执行相应的动作,在本发明具体实施例中,广播则定义为无线的使能和无线的连接,这样在pc电脑端就可以控制移动设备如手机无线的连接和开关。

自动化测试装置21,用于向客户端20发送响应信息以与客户端20建立连接,于接收到无线信息获取请求时,对该请求进行处理,获取包含无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等中的部分或全部的无线信息,并将其反馈至客户端20。

图4为本发明具体实施例中客户端20的细部结构图。如图4所示,客户端20进一步包括:无线连接请求单元201,用于向自动化测试装置发送连接请求,并于接收到自动化测试装置的响应信息时与自动化测试装置建立连接,在本发明具体实施例中,自动化测试装置设置于移动设备例如手机端;无线信息请求单元202,在与自动化测试装置建立连接后,向自动化测试装置发送无线信息获取请求,以请求获取自动化测试装置的无线信息,这里的无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等中的部分或全部;回应数据获取单元203,用于接收自动化测试装置反馈的无线信息,也就是说,自动化测试装置于接收到无线信息请求单元202发送的无线信息获取请求时,即处理该无线信息获取请求,获取包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等中的部分或全部的无线信息,并将其反馈至回应数据获取单元203,这样就可以根据获得的无线信息监听手机无线流量、无线信号强度和连接速率、获取ping网络延迟和ping丢包率。

较佳地,客户端20还包括连接关闭单元,用于向自动化测试装置发送关闭连接请求,并于接收到自动化测试装置的响应信息后关闭与自动化测试装置的连接,结束测试。

较佳地,该客户端20还包括广播发送单元,用于向自动化测试装置发送广播,自动化测试装置接收到广播后,先通过过滤器筛选广播,然后根据广播执行相应的动作,在本发明具体实施例中,广播则定义为无线的使能和无线的连接。

图5为本发明具体实施例中自动化测试装置与无线客户端的socket交互流程图。在本发明具体实施例中,自动化测试装置设置于安卓手机上,其提供的接口有无线网络流量获取、无线连接速率获取、无线信号强度获取、无线的开与关、无线的连接、ping网络的延迟和丢包率的获取,无线客户端设置于pc电脑端,客户端与安卓手机上的自动化测试装置之间建立socket通信。

安装在安卓手机端的自动化测试装置监听指定的端口,等待运行在pc的无线客户端连接,于建立连接之后,自动化测试装置会一直读取无线客户端发来的请求(请求无线数据),自动化测试装置会处理请求,通过多个接口获取无线信息,并将无线信息回复给无线客户端,无线客户端读取反馈的无线信息之后会继续发送请求给自动化测试装置,一直循环往复,直到无线客户端发送关闭连接请求,整个交互结束。

图6为本发明具体实施例中安卓手机的自动化测试装置获取无线信息的流程图,当pc上的无线客户端通过socket将字符串”conninfo”发送给安卓手机上的自动化测试装置后,自动化测试装置就会调用android.net.wifi.wifimanager的方法getconnectioninfo()来获取无线连接信息,这里的无线连接信息包括无线信号强度、无线名称、无线mac地址、无线连接速率等。

当pc上的无线客户端通过socket将字符串”rxbytes”发送给安卓手机上的自动化测试装置后,自动化测试装置就会调用android.net.trafficstats类的gettotalrxbytes()来获取从手机连接上无线后接收的总流量,下一秒之后再次获取此值,然后相减,即为下行无线流量。

当pc上的无线客户端通过socket将字符串”txbytes”发送给安卓手机上的自动化测试装置后,自动化测试装置就会调用android.net.trafficstats类的gettotaltxbytes()来获取从手机连接上无线后发送的总流量,一秒之后再次获取此值,然后相减,即为上行无线流量。

另外,pc端的无线客户端通过adbshellambroadcast发送广播,安卓手机上的自动化测试装置即广播接收者通过过滤器中action来筛选广播。这些广播定义为无线的使能和无线的连接。安卓手机监听到广播后就会去执行相应的动作。图7为本发明具体实施例中无线客户端发送广播、自动化测试装置端监听广播执行无线开关与连接的流程图。安卓手机上的自动化测试装置运行后会监听广播,这些广播定义为”wifi-enable”、“wifi-disable”、“wifi-connect”,具体地,

pc端的无线客户端通过adb命令”adbambroadcast-awifi-enable”来控制安卓手机上的自动化测试装置去通过android.net.wifi.wifimanager的方法setwifienabled(true)来开启无线。

pc端的无线客户端通过adb命令”adbambroadcast-awifi-disable”来控制安卓手机上的自动化测试装置去通过android.net.wifi.wifimanager的方法setwifienabled(false)来关闭无线。

pc端的无线客户端通过adb命令”adbambroadcast-awifi-connect”来控制安卓手机上的自动化测试装置去通过android.net.wifi.wifimanager的方法enablenetwork(netid,true)来连接无线。

图8为本发明一种无线信息获取的自动化测试方法的步骤流程图。如图8所示,本发明一种无线信息获取的自动化测试方法,应用于自动化测试装置,包括如下步骤:

步骤801,利用自动化测试装置接收客户端发送的连接请求,对连接请求进行响应以与客户端建立连接。在本发明具体实施例中,自动化测试装置设置于移动设备例如手机端,客户端设置于pc端;

步骤802,该自动化测试装置接收客户端发送的无线信息获取请求,根据请求通过多个接口获取自动化测试装置的无线信息,这里的无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等中的部分或全部;

步骤803,将获取的相应的无线信息反馈至客户端以获得该无线信息。这里的无线信息包括无线流量、ping网络的丢包率、ping网络时延、无线连接速率以及无线信号强度等的部分或全部。

具体地,步骤802进一步包括:

若该无线信息获取请求为无线连接信息获取请求时,则对其进行处理以获取无线连接信息,该无线连接信息包括无线信号强度、无线名称、无线mac地址、无线连接速率等的部分或全部;以自动化测试装置设置于安卓手机为例,当接收到客户端通过socket发送的无线信息获取请求为字符串”conninfo”时,则调用android.net.wifi.wifimanager的方法getconnectioninfo()来获取无线连接信息,例如无线信号强度、无线名称、无线mac地址、无线连接速率等。

若该无线信息获取请求为下行无线流量获取请求时,则首先获取从自动化测试装置连接上无线后接收的总流量,并于下一秒之后再次获取此值,然后将两次的值相减,获得下行无线流量。也就是说,当接收到客户端通过socket发送的无线信息获取请求为字符串”rxbytes”时,则调用android.net.trafficstats类的gettotalrxbytes()来获取从手机连接上无线后接收的总流量,并于下一秒之后再次获取此值,然后将两次值相减,即获得下行无线流量。

若该无线信息获取请求为上行无线流量获取请求时,则首先获取从自动化测试装置连接上无线后发送的总流量,并于下一秒之后再次获取此值,然后将两次的值相减,获得上行无线流量。也就是说,当接收到客户端通过socket发送的无线信息获取请求为字符串”txbytes”时,则调用android.net.trafficstats类的gettotaltxbytes()来获取从手机连接上无线后发送的总流量,并于一秒之后再次获取此值,然后将两值相减,即获得上行无线流量。

若该无线信息获取请求为ping网络延迟获取请求时,则调用python的subprocesspopen库和手机的adb命令接口adbping*.*.*.*来获取ping网络延迟,并保存本地。

若该无线信息获取请求为ping丢包率获取请求时,则调用python的subprocesspopen库和手机的adb命令接口adbping*.*.*.*来获取ping丢包率,并保存于本地。

较佳地,于步骤803之后,还包括:

所述客户端接收自动化测试装置反馈的无线信息,并返回至步骤802,直至测试结束。

较佳地,本发明之无线信息获取的自动化测试方法还包括如下步骤:

接收客户端发送的连接关闭请求,并对该连接关闭请求进行响应以关闭与客户端的连接,结束测试。

较佳地,于步骤802之前,本发明之无线信息获取的自动化测试方法,还包括如下步骤:

接收向客户端发送的广播;

根据广播执行相应的动作。在本发明具体实施例中,与接收到客户端的广播后,首先会通过过滤器中action来筛选广播,筛选后再根据广播执行相应的动作。这里广播则定义为无线的使能和无线的连接。

图9为本发明具体实施例之自动化测试方法的步骤流程图。在本发明具体实施例中,该自动化测试装置设置于安卓手机端,无线客户端设置于pc端,如图9所示,该自动化测试方法如下:

1、无线客户端与手机端的自动化测试装置建立连接,建立socket通信;

2、判断手机电量是否低于5%,若低于5%,则结束测试,否则进入3;

3、确定当前时间time1;

4、无线客户端通过adbshellambroadcast发送广播控制设置自动化测试装置的手机无线使能;

5、无线客户端通过adbshellambroadcast发送广播控制设置自动化测试装置的手机连接无线;

6、手机端的自动化测试装置调用python的subprocesspopen库和手机的adb命令接口adbping*.*.*.*来获取ping网络延迟,并保存本地;

7、手机端的自动化测试装置调用python的subprocesspopen库和手机的adb命令接口adbping*.*.*.*来获取ping丢包率,并保存本地;

8、pc端的无线客户端通过socket发送字符串”rxbytes”给手机的自动化测试装置,自动化测试装置获取下行流量,并保存本地;

9、pc端的无线客户端通过socket发送字符串”txbytes”给手机的自动化测试装置,自动化测试装置获取上行流量,并保存本地;

10、pc端的无线客户端通过socket发送字符串”conninfo”给手机的自动化测试装置,获取无线信号强度和连接速率

11、记下当前时间time2,等待60s-time2-time1,并返回至2,在本发明具体实施例中,计算循环开始到循环结束用了多少秒,为了保证整个循环保持在1分钟内,所以用60s减去用时,然后等待这么长时间。

综上所述,本发明一种无线信息获取的自动化测试装置及方法通过利用设置于手机端的自动化测试装置设置多个接口,分别用来获取手机无线流量、ping丢包率、ping时延、连接速率、信号强度,并利用设置于pc端的无线客户端与手机端的自动化测试装置进行通信,调用接口实现获取相关无线信息,实现测试手机连接的无线路由器的性能和功能的目的,进而达到在pc端就可以监听手机无线流量、无线信号强度和连接速率、获取ping网络延迟和ping丢包率的目的,并且在pc端就可以控制手机无线的连接和开关。

任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1