CN112148604A - iOS软件测试方法、装置、设备及计算机可读介质 - Google Patents
iOS软件测试方法、装置、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN112148604A CN112148604A CN202010997504.0A CN202010997504A CN112148604A CN 112148604 A CN112148604 A CN 112148604A CN 202010997504 A CN202010997504 A CN 202010997504A CN 112148604 A CN112148604 A CN 112148604A
- Authority
- CN
- China
- Prior art keywords
- client
- software
- server
- communication connection
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013522 software testing Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 237
- 230000004044 response Effects 0.000 claims abstract description 53
- 238000012360 testing method Methods 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 16
- 238000012790 confirmation Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000013075 data extraction Methods 0.000 claims description 5
- 238000007405 data analysis Methods 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 10
- 230000004888 barrier function Effects 0.000 abstract description 5
- 244000035744 Hura crepitans Species 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种iOS软件测试方法、装置、设备及计算机可读介质。该方法包括:在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端;在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。本申请通过改进WDA框架,为其加入通信组件,从而在测试软件和受测软件之间建立server/client连接,继而通过socket长链接获取受测软件在测试中的执行数据,打通了iOS系统的软件间的信息交互壁垒,为准确判断应用程序状态和信息提供了技术支持。
Description
技术领域
本申请涉及软件测试技术领域,尤其涉及一种iOS软件测试方法、装置、设备及计算机可读介质。
背景技术
iOS的文件系统是沙盒文件系统,每一个应用程序都有各自独立的沙盒(sandbox)容器,沙盒容器中容纳了应用程序bundle、数据储存容器以及icloud储存容器。每一个应用程序只能在各自的沙盒容器中进行操作,即只能访问自己的文件,而无法访问其他应用程序的文件。这样设计的优点是安全性较高:既可以隔绝其他应用程序非法读写自己的数据,也防止了自己的文件操作对系统及其他应用程序有干涉。但是这样的文件系统导致软件测试时缺乏信息交互。
目前,相关技术中,可以通过互联网公司推出的WebDriverAgent框架(WDA)对iOS系统中的软件进行测试,实现启动、关闭应用程序,点击、滚动视图等简单动作。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种iOS软件测试方法、装置、设备及计算机可读介质,以解决iOS软件测试缺乏信息交互的技术问题。
根据本申请实施例的一个方面,本申请提供了一种iOS软件测试方法,应用于服务端,服务端包括测试软件,该方法包括:在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端;在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。
可选地,通过与客户端之间的第一通信连接将数据获取请求发送至客户端之前,该方法还包括按照如下方式建立与客户端之间的第一通信连接:创建第一套接字;将第一通信端口和第一地址与第一套接字绑定,第一通信端口为测试软件的通信端口,第一地址为测试软件的进程在iOS系统中的本地地址;利用第一套接字监听第一通信端口;在监听到客户端发送的通信连接建立请求的情况下,通过第一通信端口建立与客户端之间的第一通信连接,并向客户端发送确认信息。
可选地,通过与客户端之间的第一通信连接将数据获取请求发送至客户端之后,该方法还包括按照如下方式获取目标数据:向客户端发送第一探测包,第一探测包为心跳包,用于服务端检测第一通信连接的连接状态;在第一时间阈值内接收到客户端响应第一探测包所发送的第一应答包的情况下,保持第一通信连接,并接收目标数据;在第一时间阈值内未接收到第一应答包的情况下,断开第一通信连接。
可选地,该方法还包括按照如下方式保持第一通信连接:在接收到客户端发送的第二探测包的情况下,向客户端发送响应第二探测包的第二应答包,以保持第一通信连接,第二探测包为心跳包,用于客户端检测第一通信连接的连接状态。
根据本申请实施例的另一方面,本申请提供了一种iOS软件测试方法,应用于客户端,客户端包括受测软件,该方法包括:在接收到服务端发送的数据获取请求的情况下,根据数据获取请求提取受测软件的执行数据,客户端和服务端通过第一通信连接进行通信,服务端为测试软件的服务端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接;通过第一通信连接将执行数据作为数据获取请求的响应返回至服务端。
可选地,接收服务端发送的数据获取请求之前,该方法还包括按照如下方式建立与服务端之间的第一通信连接:创建第二套接字,并获取服务端的第一通信端口和第一地址,第一通信端口为测试软件的通信端口,第一地址为测试软件的进程在iOS系统中的本地地址;利用第二套接字对第一地址和第一通信端口发送通信连接建立请求;在接收到服务端发送的确认信息的情况下,建立与服务端之间的第一通信连接。
可选地,通过第一通信连接将执行数据作为数据获取请求的响应返回至服务端包括:在接收到服务端发送的第一探测包的情况下,向服务端发送第一应答包,以保持第一通信连接,第一探测包为心跳包,用于服务端检测第一通信连接的连接状态;在保持第一通信连接的情况下向服务端发送执行数据。
可选地,该方法还包括按照如下方式保持第一通信连接的连接状态:向服务端发送第二探测包,第二探测包为心跳包,用于客户端检测第一通信连接的连接状态;在第二时间阈值内接收到服务端响应第二探测包所发送的第二应答包的情况下,保持第一通信连接的连接状态;在第二时间阈值内未接收到第二应答包的情况下,断开第一通信连接。
根据本申请实施例的另一方面,本申请提供了一种iOS软件测试装置,应用于服务端,服务端包括测试软件,该装置包括:第一发送模块,用于在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端;第二发送模块,用于在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。
根据本申请实施例的另一方面,本申请提供了一种iOS软件测试装置,应用于客户端,客户端包括受测软件,该装置包括:数据提取模块,用于在接收到服务端发送的数据获取请求的情况下,根据数据获取请求提取受测软件的执行数据,客户端和服务端通过第一通信连接进行通信,服务端为测试软件的服务端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接;第三发送模块,用于通过第一通信连接将执行数据作为数据获取请求的响应返回至服务端。
根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请技术方案为在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端;在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。本申请通过改进WDA框架,为其加入通信组件,从而在测试软件和受测软件之间建立server/client连接,继而通过socket长链接获取受测软件在测试中的执行数据,打通了iOS系统的软件间的信息交互壁垒,为准确判断应用程序状态和信息提供了技术支持。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的iOS软件测试方法硬件环境示意图;
图2为根据本申请实施例提供的一种可选的iOS软件测试方法流程图;
图3为根据本申请实施例提供的一种可选的iOS软件测试方法流程图;
图4为根据本申请实施例提供的一种可选的iOS软件测试方法时序图;
图5为根据本申请实施例提供的一种可选的iOS软件测试装置框图;
图6为根据本申请实施例提供的一种可选的iOS软件测试装置框图;
图7为本申请实施例提供的一种可选地电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
相关技术中,可以通过互联网公司推出的WebDriverAgent框架(WDA)对iOS系统中的软件进行测试,实现启动、关闭应用程序,点击、滚动视图等简单动作。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种iOS软件测试方法的实施例。
可选地,在本申请实施例中,上述iOS软件测试方法可以应用于如图1所示的由终端101和服务器102所构成的硬件环境中。如图1所示,服务器102通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库103,用于为服务器102提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于iOS系统设备等。
本申请实施例中的一种iOS软件测试方法可以是由终端101执行,如图2所示,该方法可以包括以下步骤:
步骤S201,在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端。
本申请实施例中,由于iOS的文件系统是沙盒文件系统,每一个应用程序都有各自独立的沙盒(sandbox)容器,每一个应用程序只能在各自的沙盒容器中进行操作,即只能访问自己的文件,而无法访问其他应用程序的文件。为了在软件测试过程中能够获取到软件的运行信息,从而更加准确地获得软件测试结果,可以在WebDriverAgent框架(WDA)中植入通信组件,从而可以通过socket技术,在受测软件和测试软件(改进的WDA)中建立server/client连接,受测软件是客户端,即client,植入通信组件的测试软件是服务端,即server。并且在受测软件启动的同时,调用启动测试软件,初始化socket连接,启动测试软件的生命周期,对受测软件进行测试。
本申请实施例中,在受测软件测试过程中,用户需要获取受测软件的执行情况时,可以向测试软件即服务端发送数据获取请求,再由服务端将用户需要获取的内容发送给客户端。
步骤S202,在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。
本申请实施例中,客户端即受测软件收集用户所需数据后发送至服务端,再由服务端将数据发送至用户。客户端可以将用户所需数据通过基于TCP/IP的socket长链接传输出来到服务端。
本申请实施例中,服务端与客户端可以时时通信。用户所需的内容可以包括但不限于受测软件中以下信息:受测软件当前页面名称,页面类型,用户登陆信息,登陆时长,H5页面URL,内存大小,网络状态等。
本申请实施例中,数据获取请求可以包括appstat请求、appinfo请求、devinfo请求等。通过appstat请求可获取受测软件当前页面类型,页面名称,用户登陆信息,H5页面URL,页面加载状态等,通过appinfo请求可获取受测软件的内存,CPU等信息,通过devinfo请求可获取受测软件所安装的设备的电量,网络类型等信息。
采用本申请技术方案,利用改进的WDA框架,从而在测试软件和受测软件之间建立server/client连接,不直接提取受测软件的数据,而是模拟服务端/客户端交互,打通了iOS系统的软件间的信息交互壁垒,为准确判断应用程序状态和信息提供了技术支持。
可选地,通过与客户端之间的第一通信连接将数据获取请求发送至客户端之前,该方法还包括按照如下方式建立与客户端之间的第一通信连接:
步骤1,创建第一套接字;
步骤2,将第一通信端口和第一地址与第一套接字绑定,第一通信端口为测试软件的通信端口,第一地址为测试软件的进程在iOS系统中的本地地址;
步骤3,利用第一套接字监听第一通信端口;
步骤4,在监听到客户端发送的通信连接建立请求的情况下,通过第一通信端口建立与客户端之间的第一通信连接,并向客户端发送确认信息。
本申请实施例中,服务端根据地址类型、套接字类型及协议创建套接字(socket)。为socket绑定服务端地址和端口号,服务端利用socket监听端口号请求,随时准备接收客户端发来的连接,这时候服务端的socket并没有被打开。
可选地,通过与客户端之间的第一通信连接将数据获取请求发送至客户端之后,该方法还包括按照如下方式获取目标数据:
步骤1,向客户端发送第一探测包,第一探测包为心跳包,用于服务端检测第一通信连接的连接状态;
步骤2,在第一时间阈值内接收到客户端响应第一探测包所发送的第一应答包的情况下,保持第一通信连接,并接收目标数据;在第一时间阈值内未接收到第一应答包的情况下,断开第一通信连接。
本申请实施例中,服务端可以通过socket长链接的方式与客户端进行通信。Socket长链接在没有数据交互的情况下也需要发送心跳包来保持连接。长链接多用于操作频繁,点对点通讯,而且连接数较少的情况。
本申请实施例中,服务端可以向客户端发送第一探测包(心跳包),在接收到客户端返回的第一应答包(心跳包)的情况下,保持socket通信连接。上述第一时间阈值为连接时限,超出了该时限没有收到客户端的回应则断开socket通信连接。
可选地,该方法还包括按照如下方式保持第一通信连接:在接收到客户端发送的第二探测包的情况下,向客户端发送响应第二探测包的第二应答包,以保持第一通信连接,第二探测包为心跳包,用于客户端检测第一通信连接的连接状态。
本申请实施例中,客户端也可以向服务端发送心跳包,服务端若需要保持socket通信连接,则返回第二响应包(心跳包),从而保持socket通信连接。
本申请技术方案为在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端;在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。本申请通过改进WDA框架,为其加入通信组件,从而在测试软件和受测软件之间建立server/client连接,继而通过socket长链接获取受测软件在测试中的执行数据,打通了iOS系统的软件间的信息交互壁垒,为准确判断应用程序状态和信息提供了技术支持。
从客户端的角度,根据本申请实施例的另一方面,如图3所示,提供了一种iOS软件测试方法,应用于客户端,客户端包括受测软件,该方法包括:
步骤S301,在接收到服务端发送的数据获取请求的情况下,根据数据获取请求提取受测软件的执行数据,客户端和服务端通过第一通信连接进行通信,服务端为测试软件的服务端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接。
本申请实施例中,服务端发来数据获取请求,客户端根据数据获取请求提取受测软件运行中的执行数据。
本申请实施例中,可以在WebDriverAgent框架(WDA)中植入通信组件,从而可以通过socket技术,在受测软件和测试软件(改进的WDA)中建立server/client连接,受测软件是客户端,即client,植入通信组件的测试软件是服务端,即server。
步骤S302,通过第一通信连接将执行数据作为数据获取请求的响应返回至服务端。
本申请实施例中,客户端可以将用户所需数据通过基于TCP/IP的socket长链接传输出来到服务端。
本申请实施例中,服务端与客户端可以时时通信。用户所需的内容可以包括但不限于受测软件中以下信息:受测软件当前页面名称,页面类型,用户登陆信息,登陆时长,H5页面URL,内存大小,网络状态等。
采用本申请技术方案,利用改进的WDA框架,从而在测试软件和受测软件之间建立server/client连接,不直接提取受测软件的数据,而是模拟服务端/客户端交互,打通了iOS系统的软件间的信息交互壁垒,为准确判断应用程序状态和信息提供了技术支持。
可选地,接收服务端发送的数据获取请求之前,该方法还包括按照如下方式建立与服务端之间的第一通信连接:
步骤1,创建第二套接字,并获取服务端的第一通信端口和第一地址,第一通信端口为测试软件的通信端口,第一地址为测试软件的进程在iOS系统中的本地地址;
步骤2,利用第二套接字对第一地址和第一通信端口发送通信连接建立请求;
步骤3,在接收到服务端发送的确认信息的情况下,建立与服务端之间的第一通信连接。
本申请实施例中,客户端可以初始化套接字,并获取要连接的服务端的地址和端口号,通过socket向服务端的端口发送连接请求,服务端响应连接请求返回连接确认时,建立socket通信连接。
可选地,步骤S302通过第一通信连接将执行数据作为数据获取请求的响应返回至服务端包括:
步骤1,在接收到服务端发送的第一探测包的情况下,向服务端发送第一应答包,以保持第一通信连接,第一探测包为心跳包,用于服务端检测第一通信连接的连接状态;
步骤2,在保持第一通信连接的情况下向服务端发送执行数据。
本申请实施例中,可以通过socket长链接来实现客户端和服务端之间的通信。客户端可以响应服务端发来的第一探测包(心跳),向服务端发送第一应答包(心跳包),从而可以在保持通信连接的情况下传输受测软件的执行数据。
可选地,该方法还包括按照如下方式保持第一通信连接的连接状态:
步骤1,向服务端发送第二探测包,第二探测包为心跳包,用于客户端检测第一通信连接的连接状态;
步骤2,在第二时间阈值内接收到服务端响应第二探测包所发送的第二应答包的情况下,保持第一通信连接的连接状态;在第二时间阈值内未接收到第二应答包的情况下,断开第一通信连接。
本申请实施例中,客户端可以主动检测通信连接是否还处于连接状态,可以向服务端发送第二探测包(心跳包),在接收到服务端返回的第二应答包(心跳包)的情况下,确认socket通信连接未断开,从而可以在保持通信连接的情况下传输受测软件的执行数据。上述第二时间阈值为客户端检查通信连接的时限,时限内未收到服务端的响应,则确认socket通信连接断开。
下面整体介绍本方案的时序流程,测试软件(服务端)和受测软件(客户端)之间建立socket通信连接,并在测试过程中用户想要获取受测软件的执行数据可以按照以下步骤,如图4所示:
步骤S401,用户通过python脚本向服务端发送数据获取请求;
步骤S402,服务端将数据获取请求转发给客户端;
步骤S403,客户端根据数据获取请求提取目标数据;
步骤S404,客户端将目标数据返回至服务端;
步骤S405,服务端将目标数据通过python脚本返回给用户。
根据本申请实施例的又一方面,如图5所示,提供了一种iOS软件测试装置,应用于服务端,服务端包括测试软件,该装置包括:第一发送模块501,用于在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端;第二发送模块502,用于在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。
需要说明的是,该实施例中的第一发送模块501可以用于执行本申请实施例中的步骤S201,该实施例中的第二发送模块502可以用于执行本申请实施例中的步骤S202。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该iOS软件测试装置,还包括第一通信建立模块,用于:创建第一套接字;将第一通信端口和第一地址与第一套接字绑定,第一通信端口为测试软件的通信端口,第一地址为测试软件的进程在iOS系统中的本地地址;利用第一套接字监听第一通信端口;在监听到客户端发送的通信连接建立请求的情况下,通过第一通信端口建立与客户端之间的第一通信连接,并向客户端发送确认信息。
可选地,该iOS软件测试装置,还包括第一长链接通信模块,用于:向客户端发送第一探测包,第一探测包为心跳包,用于服务端检测第一通信连接的连接状态;在第一时间阈值内接收到客户端响应第一探测包所发送的第一应答包的情况下,保持第一通信连接,并接收目标数据;在第一时间阈值内未接收到第一应答包的情况下,断开第一通信连接。
可选地,该iOS软件测试装置,还包括第二长链接通信模块,用于:在接收到客户端发送的第二探测包的情况下,向客户端发送响应第二探测包的第二应答包,以保持第一通信连接,第二探测包为心跳包,用于客户端检测第一通信连接的连接状态。
根据本申请实施例的又一方面,如图6所示,提供了一种iOS软件测试装置,应用于客户端,客户端包括受测软件,该装置包括:数据提取模块601,用于在接收到服务端发送的数据获取请求的情况下,根据数据获取请求提取受测软件的执行数据,客户端和服务端通过第一通信连接进行通信,服务端为测试软件的服务端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接;第三发送模块602,用于通过第一通信连接将执行数据作为数据获取请求的响应返回至服务端。
需要说明的是,该实施例中的数据提取模块601可以用于执行本申请实施例中的步骤S301,该实施例中的第三发送模块602可以用于执行本申请实施例中的步骤S302。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该iOS软件测试装置,还包括第二通信建立模块,用于:创建第二套接字,并获取服务端的第一通信端口和第一地址,第一通信端口为测试软件的通信端口,第一地址为测试软件的进程在iOS系统中的本地地址;利用第二套接字对第一地址和第一通信端口发送通信连接建立请求;在接收到服务端发送的确认信息的情况下,建立与服务端之间的第一通信连接。
可选地,该iOS软件测试装置,还包括第三长链接通信模块,用于:在接收到服务端发送的第一探测包的情况下,向服务端发送第一应答包,以保持第一通信连接,第一探测包为心跳包,用于服务端检测第一通信连接的连接状态;在保持第一通信连接的情况下向服务端发送执行数据。
可选地,该iOS软件测试装置,还包括第四长链接通信模块,用于:向服务端发送第二探测包,第二探测包为心跳包,用于客户端检测第一通信连接的连接状态;在第二时间阈值内接收到服务端响应第二探测包所发送的第二应答包的情况下,保持第一通信连接的连接状态;在第二时间阈值内未接收到第二应答包的情况下,断开第一通信连接。
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图7所示,包括存储器701、处理器702、通信接口703及通信总线704,存储器701中存储有可在处理器702上运行的计算机程序,存储器701、处理器702通过通信接口703和通信总线704进行通信,处理器702执行计算机程序时实现上述方法的步骤。
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将数据获取请求发送至客户端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接,客户端为受测软件的客户端;
在获取到客户端响应数据获取请求返回的目标数据的情况下,将目标数据发送至目标对象。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本申请实施例中,计算机可读介质还可被设置为存储用于所述处理器执行以下步骤的程序代码:
在接收到服务端发送的数据获取请求的情况下,根据数据获取请求提取受测软件的执行数据,客户端和服务端通过第一通信连接进行通信,服务端为测试软件的服务端,测试软件中包括通信组件,通信组件用于在iOS系统中建立测试软件和受测软件之间的通信连接;
通过第一通信连接将执行数据作为数据获取请求的响应返回至服务端。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种iOS软件测试方法,应用于服务端,所述服务端包括测试软件,其特征在于,所述方法包括:
在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将所述数据获取请求发送至所述客户端,其中,所述测试软件中包括通信组件,所述通信组件用于在iOS系统中建立所述测试软件和受测软件之间的通信连接,所述客户端为所述受测软件的客户端;
在获取到所述客户端响应所述数据获取请求返回的目标数据的情况下,将所述目标数据发送至所述目标对象。
2.根据权利要求1所述的方法,其特征在于,通过与客户端之间的第一通信连接将所述数据获取请求发送至所述客户端之前,所述方法还包括按照如下方式建立与所述客户端之间的所述第一通信连接:
创建第一套接字;
将第一通信端口和第一地址与所述第一套接字绑定,其中,所述第一通信端口为所述测试软件的通信端口,所述第一地址为所述测试软件的进程在所述iOS系统中的本地地址;
利用所述第一套接字监听所述第一通信端口;
在监听到所述客户端发送的通信连接建立请求的情况下,通过所述第一通信端口建立与所述客户端之间的所述第一通信连接,并向所述客户端发送确认信息。
3.根据权利要求1所述的方法,其特征在于,通过与客户端之间的第一通信连接将所述数据获取请求发送至所述客户端之后,所述方法还包括按照如下方式获取所述目标数据:
向所述客户端发送第一探测包,其中,所述第一探测包为心跳包,用于所述服务端检测所述第一通信连接的连接状态;
在第一时间阈值内接收到所述客户端响应所述第一探测包所发送的第一应答包的情况下,保持所述第一通信连接的连接状态,并接收所述目标数据;
在所述第一时间阈值内未接收到所述第一应答包的情况下,断开所述第一通信连接。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括按照如下方式保持所述第一通信连接的连接状态:
在接收到所述客户端发送的第二探测包的情况下,向所述客户端发送响应所述第二探测包的第二应答包,以保持所述第一通信连接的连接状态,其中,所述第二探测包为所述心跳包,用于所述客户端检测所述第一通信连接的连接状态。
5.一种iOS软件测试方法,应用于客户端,所述客户端包括受测软件,其特征在于,所述方法包括:
在接收到服务端发送的数据获取请求的情况下,根据所述数据获取请求提取所述受测软件的执行数据,其中,所述客户端和所述服务端通过第一通信连接进行通信,所述服务端为测试软件的服务端,所述测试软件中包括通信组件,所述通信组件用于在iOS系统中建立所述测试软件和所述受测软件之间的通信连接;
通过所述第一通信连接将所述执行数据作为所述数据获取请求的响应返回至所述服务端。
6.根据权利要求5所述的方法,其特征在于,接收服务端发送的数据获取请求之前,所述方法还包括按照如下方式建立与所述服务端之间的所述第一通信连接:
创建第二套接字,并获取所述服务端的第一通信端口和第一地址,其中,所述第一通信端口为所述测试软件的通信端口,所述第一地址为所述测试软件的进程在所述iOS系统中的本地地址;
利用所述第二套接字对所述第一地址和所述第一通信端口发送通信连接建立请求;
在接收到所述服务端发送的确认信息的情况下,建立与所述服务端之间的所述第一通信连接。
7.根据权利要求5所述的方法,其特征在于,通过所述第一通信连接将所述执行数据作为所述数据获取请求的响应返回至所述服务端包括:
在接收到所述服务端发送的第一探测包的情况下,向所述服务端发送第一应答包,以保持所述第一通信连接,其中,所述第一探测包为心跳包,用于所述服务端检测所述第一通信连接的连接状态;
在保持所述第一通信连接的情况下向所述服务端发送所述执行数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括按照如下方式保持所述第一通信连接的连接状态:
向所述服务端发送第二探测包,其中,所述第二探测包为所述心跳包,用于所述客户端检测所述第一通信连接的连接状态;
在第二时间阈值内接收到所述服务端响应所述第二探测包所发送的第二应答包的情况下,保持所述第一通信连接的连接状态;
在所述第二时间阈值内未接收到所述第二应答包的情况下,断开所述第一通信连接。
9.一种iOS软件测试装置,应用于服务端,所述服务端包括测试软件,其特征在于,所述装置包括:
第一发送模块,用于在接收到目标对象发送的数据获取请求的情况下,通过与客户端之间的第一通信连接将所述数据获取请求发送至所述客户端,其中,所述测试软件中包括通信组件,所述通信组件用于在iOS系统中建立所述测试软件和受测软件之间的通信连接,所述客户端为所述受测软件的客户端;
第二发送模块,用于在获取到所述客户端响应所述数据获取请求返回的目标数据的情况下,将所述目标数据发送至所述目标对象。
10.一种iOS软件测试装置,应用于客户端,所述客户端包括受测软件,其特征在于,所述装置包括:
数据提取模块,用于在接收到服务端发送的数据获取请求的情况下,根据所述数据获取请求提取所述受测软件的执行数据,其中,所述客户端和所述服务端通过第一通信连接进行通信,所述服务端为测试软件的服务端,所述测试软件中包括通信组件,所述通信组件用于在iOS系统中建立所述测试软件和所述受测软件之间的通信连接;
第三发送模块,用于通过所述第一通信连接将所述执行数据作为所述数据获取请求的响应返回至所述服务端。
11.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至4或5至8任一项所述的方法的步骤。
12.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至4或5至8任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997504.0A CN112148604A (zh) | 2020-09-21 | 2020-09-21 | iOS软件测试方法、装置、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997504.0A CN112148604A (zh) | 2020-09-21 | 2020-09-21 | iOS软件测试方法、装置、设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148604A true CN112148604A (zh) | 2020-12-29 |
Family
ID=73893563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010997504.0A Pending CN112148604A (zh) | 2020-09-21 | 2020-09-21 | iOS软件测试方法、装置、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148604A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127374A (zh) * | 2021-05-19 | 2021-07-16 | 支付宝(杭州)信息技术有限公司 | 应用于iOS设备的应用程序测试方法及装置 |
CN117240913A (zh) * | 2023-11-13 | 2023-12-15 | 深圳市鲸视科技有限公司 | 代理通信方法、测试系统、终端设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014416A (zh) * | 2010-12-03 | 2011-04-13 | 中兴通讯股份有限公司 | 一种对连接进行双向检测的方法及系统 |
CN103139303A (zh) * | 2013-02-07 | 2013-06-05 | 网易(杭州)网络有限公司 | 一种用于保持连接的心跳方法、装置及系统 |
CN108092853A (zh) * | 2017-12-27 | 2018-05-29 | 珠海市君天电子科技有限公司 | 监控服务器链路状态的方法、装置、系统、电子设备及存储介质 |
CN110795336A (zh) * | 2019-09-25 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 应用程序的控制方法、装置、设备及可读存储介质 |
CN111045940A (zh) * | 2019-12-09 | 2020-04-21 | 广东南方海岸科技服务有限公司 | 软件自动化测试方法、装置、架构、服务器及存储介质 |
US10725890B1 (en) * | 2017-07-12 | 2020-07-28 | Amazon Technologies, Inc. | Program testing service |
-
2020
- 2020-09-21 CN CN202010997504.0A patent/CN112148604A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014416A (zh) * | 2010-12-03 | 2011-04-13 | 中兴通讯股份有限公司 | 一种对连接进行双向检测的方法及系统 |
CN103139303A (zh) * | 2013-02-07 | 2013-06-05 | 网易(杭州)网络有限公司 | 一种用于保持连接的心跳方法、装置及系统 |
US10725890B1 (en) * | 2017-07-12 | 2020-07-28 | Amazon Technologies, Inc. | Program testing service |
CN108092853A (zh) * | 2017-12-27 | 2018-05-29 | 珠海市君天电子科技有限公司 | 监控服务器链路状态的方法、装置、系统、电子设备及存储介质 |
CN110795336A (zh) * | 2019-09-25 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 应用程序的控制方法、装置、设备及可读存储介质 |
CN111045940A (zh) * | 2019-12-09 | 2020-04-21 | 广东南方海岸科技服务有限公司 | 软件自动化测试方法、装置、架构、服务器及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127374A (zh) * | 2021-05-19 | 2021-07-16 | 支付宝(杭州)信息技术有限公司 | 应用于iOS设备的应用程序测试方法及装置 |
CN117240913A (zh) * | 2023-11-13 | 2023-12-15 | 深圳市鲸视科技有限公司 | 代理通信方法、测试系统、终端设备及存储介质 |
CN117240913B (zh) * | 2023-11-13 | 2024-02-13 | 深圳市鲸视科技有限公司 | 代理通信方法、测试系统、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110365793B (zh) | 违规外联监测方法、装置、系统及存储介质 | |
CN113613283B (zh) | 一种Wi-Fi热点的连接方法和终端 | |
CN101662387B (zh) | 一种检测网络中计算机接入状态的系统及方法 | |
CN110209583B (zh) | 安全测试方法、装置、系统、设备和存储介质 | |
CN102075508B (zh) | 针对网络协议的漏洞挖掘系统和方法 | |
CN105871947B (zh) | 跨域请求数据的方法及装置 | |
CN108363662A (zh) | 一种应用程序测试方法、存储介质及终端设备 | |
CN112148604A (zh) | iOS软件测试方法、装置、设备及计算机可读介质 | |
CN104573520B (zh) | 检测常驻式跨站脚本漏洞的方法和装置 | |
CN111106983B (zh) | 一种检测网络连通性的方法及装置 | |
CN108616389B (zh) | 基于云服务器的网络评估方法、设备、存储介质及装置 | |
CN104468265A (zh) | 局域网终端在线状态的检测方法和装置 | |
CN105323121B (zh) | 一种网络状况检测方法及装置 | |
CN111711533B (zh) | 故障诊断方法、装置、电子设备及存储介质 | |
CN104834588B (zh) | 检测常驻式跨站脚本漏洞的方法和装置 | |
CN109558148B (zh) | 路由器的插件安装方法、装置、设备及存储介质 | |
CN109041267B (zh) | 一种网络连接故障处理方法、装置及电子设备 | |
CN110851818A (zh) | 验证码展示方法、装置、计算机设备和可读存储介质 | |
CN111092904B (zh) | 网络连接方法和装置 | |
CN110399723B (zh) | 漏洞检测方法和装置、存储介质及电子装置 | |
CN111225038B (zh) | 服务器访问方法及装置 | |
WO2015195407A1 (en) | Method and apparatus for monitoring and determining page load times | |
JP2014523671A (ja) | 対話型アプリケーションサービスの全体的なパフォーマンスの評価 | |
CN108810163B (zh) | 自签名ssl证书处理系统及方法 | |
CN108076070B (zh) | 一种fasp协议阻断方法、装置及分析系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co., Ltd |
|
CB02 | Change of applicant information |