CN110365627B - 应用程序同步方法、装置、计算设备以及存储介质 - Google Patents

应用程序同步方法、装置、计算设备以及存储介质 Download PDF

Info

Publication number
CN110365627B
CN110365627B CN201810318844.9A CN201810318844A CN110365627B CN 110365627 B CN110365627 B CN 110365627B CN 201810318844 A CN201810318844 A CN 201810318844A CN 110365627 B CN110365627 B CN 110365627B
Authority
CN
China
Prior art keywords
application program
synchronization
application
synchronized
server
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.)
Active
Application number
CN201810318844.9A
Other languages
English (en)
Other versions
CN110365627A (zh
Inventor
杨志鹏
李亚文
陈强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810318844.9A priority Critical patent/CN110365627B/zh
Publication of CN110365627A publication Critical patent/CN110365627A/zh
Application granted granted Critical
Publication of CN110365627B publication Critical patent/CN110365627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种应用程序同步方法,由第一终端设备在测试框架中运行针对第一应用程序的测试脚本来实现,包括:向服务器发送同步请求,其中,所述同步请求中携带所述第一应用程序的账号信息;接收所述服务器返回的所述账号信息对应的第二应用程序的信息,其中,所述第二应用程序的信息包括所述第二应用程序的下载链接;以及当确定所述第二应用程序的下载链接无法访问时,记录所述第二应用程序的同步异常数据,并将所述同步异常数据发送至第二终端设备。相应的,本申请还公开了一种实现上述方法的装置。

Description

应用程序同步方法、装置、计算设备以及存储介质
技术领域
本申请涉及信息技术(IT)领域,尤其涉及应用程序同步方法、装置、计算设备以及存储介质。
背景技术
同步助手产品可以通过将旧手机中的通讯录、已安装的应用程序等等用户数据到云服务器,还可以将云服务器中备份的用户数据还原到用户的新手机,方便了用户进行搜索、管理和分享这些信息。
发明内容
本申请提出了一种应用程序同步方法,包括:第一终端设备向服务器发送同步请求,其中,所述同步请求中携带第一应用程序的账号信息;接收所述服务器返回的所述账号信息对应的第二应用程序的信息,其中,所述第二应用程序的信息包括所述第二应用程序的下载链接;以及当确定所述第二应用程序的下载链接无法访问时,记录所述第二应用程序的同步异常数据,并将所述同步异常数据发送至第二终端设备。
本申请还提出了一种应用程序同步装置,包括:发送模块,向服务器发送同步请求,其中,所述同步请求中携带第一应用程序的账号信息;接收模块,接收所述服务器返回的所述账号信息对应的第二应用程序的信息,其中,所述第二应用程序的信息包括所述第二应用程序的下载链接;记录模块,当确定所述第二应用程序的下载链接无法访问时,记录所述第二应用程序的同步异常数据;所述发送模块,将所述同步异常数据发送至第二终端设备。
在一些实例中,所述发送模块根据所述第一应用程序的账号信息登录所述第一应用程序;将自身的安装的所述第二应用程序备份至所述服务器,以使所述服务器将所述第二应用程序的信息与所述第一应用程序的账号信息相关联。
在一些实例中,所述装置进一步包括:还原模块,还原初始的测试环境。
在一些实例中,所述还原模块,进一步运行命令以停止运行第一应用程序;以及删除所述第一终端设备中的与所述账号信息相关联的同步异常数据。
在一些实例中,所述发送模块,启动所述第一应用程序,使用所述账号信息登录所述第一应用程序;每隔一个时间间隔,调用测试用例,根据所述测试用例生成所述同步请求。
在一些实例中,所述记录模块,进一步响应于访问所述第二应用程序的下载链接的操作,如果对应所述第二应用程序的下载链接接收到的是表示访问成功的状态码,则确定所述第二应用程序的下载链接正常;如果对应所述第二应用程序的下载链接接收到的不是表示访问成功的状态码,则确定所述第二应用程序的下载链接异常。
在一些实例中,在接收所述服务器返回的所述账号信息对应的第二应用程序的信息之前,所述接收模块,进一步设置用于保存所述第二应用程序的信息的路径和文件名;将返回的所述第二应用程序的信息保存所述路径和文件名对应的第一文件中。
在一些实例中,所述记录模块,进一步将所述同步异常数据保存在第二文件中;所述记录模块,进一步从所述第二文件中确定符合下载异常条件的同步异常数据并将其作为目标同步异常数据,其中,所述下载异常条件为所述第二文件中所述第二应用程序的名称出现的次数超过设定阈值;所述发送模块,进一步将所述目标同步异常数据发送至第二终端设备。
在一些实例中,所述发送模块,进一步将所述目标同步异常数据作为邮件的内容;及设置所述邮件的收件人和发件人的信息,发送所述邮件至所述收件人的邮箱。
在一些实例中,所述发送模块,进一步将所述同步异常数据发送至第三设备终端,以在所述第三设备终端上从所述同步异常数据中根据所述符合所述下载异常条件确定出所述目标同步异常数据,并将所述目标同步异常数据发送至所述第二终端设备。
本申请实施例还提供了一种计算设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机可读指令,可以使所述处理器执行应用程序同步方法。
本申请实施例还提供了一种存储介质,存储有可读指令,可以使至少一个处理器执行上述应用程序同步方法。
采用上述本申请提供的方法和装置,一方面可以自动监控服务器下发的待同步应用程序的下载链接是否可用,无需相关人员定时打开应用,逐个进行点击进行验证。提高了处理效率;另一方面自动监控服务器下发的待同步应用程序的下载链接是否可用可以避免误测和漏测,确保了测试质量,同时减少测试人员投入的时间成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例所述的应用程序同步方法所适用的系统结构示意图;
图2为本申请一实例提供的应用程序同步方法的流程图;
图3为本申请一实例的向服务器发送同步请求的方法的流程图;
图4为本申请一实例的应用程序同步方法的信令交互流程图;
图5为本申请一实例提供的应用程序同步方法的流程图;
图6为本申请一实例的应用程序同步装置的结构示意图;以及
图7为本申请一实施例的计算设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
在使用同步助手将第一终端设备上面安装的应用软件、通讯录等用户数据备份到服务器之后,在使用上述同步助手将备份到服务器上的上述用户数据恢复到第二终端设备的过程中,有时会出现用户数据无法恢复的情况,也即用户根据服务器返回的待同步应用程序的下载链接无法进行下载,这种情况一般是服务器下发的上述待同步应用程序的下载链接错误造成的。如果使用人工实时进行待同步应用程序的下载链接的校验,需要投入非常多的时间和人力,一方面校验质量难以实时得到保障,另外一方面校验的效率不高。
本申请提出了一种应用程序同步方法,图1显示了本申请一些实施例所述的应用程序同步方法所适用的系统结构示意图。如图1所示,本申请的应用程序同步系统至少包括:第一终端设备11、网络12、第二终端设备13以及服务器14。
在本申请的一些实例中,上述第一终端设备11可以是个人计算机(PC)、笔记本电脑等智能终端设备,也可以是智能手机、平板电脑等智能移动终端设备。在本申请的一些实例中,在第一终端设备11上可以安装有各种应用程序,在后文的描述中,为了方便描述,将为接收服务器下发的待同步应用程序(即第二应用程序)的下载链接的应用程序称为待测试应用程序(即第一应用程序)15,因此,可以在第一终端设备11上来完成应用程序的同步。
网络12可以是无线网络。如图1所示,在接入网一侧,第一终端设备11和第二终端设备13是可以有线的方式或无线的方式接入到网络12;而在核心网一侧,服务器14一般是通过有线的方式接入网络12。当然,服务器14也可以通过无线方式连接到网络12。
上述第二终端设备13可以是个人计算机(PC)、笔记本电脑等智能终端设备,也可以是智能手机、平板电脑等智能移动终端设备。在本申请的一些实例中,第二终端设备13可以是测试人员使用的用户终端,用于接收同步异常数据(也可称为测试数据)。
服务器14为上述待测试应用程序15的应用服务器。服务器14与第一终端设备11一起为用户提供同步应用程序的服务。上述服务器14可以是单独的服务器也可以是多个服务器组成的集群服务器。
更进一步的,本申请的应用程序同步系统还可以包括第三终端设备16和第四终端设备17。其中,第三终端设备16用于将进一步排查同步异常数据等处理,第三终端设备13可以是个人计算机(PC)、笔记本电脑等智能终端设备;第四终端设备17可以用来将自身的应用程序上传至服务器14以使服务器14备份,第四终端设备17可以是个人计算机(PC)、笔记本电脑等智能终端设备,也可以是智能手机、平板电脑等智能移动终端设备,在第四终端设备17上安装有各种应用软件,当然也安装有用于向服务器14上传应用程序的待测试应用程序15。
下面结合附图,通过几个实施例对本申请实例提供的应用程序同步方法进行说明。需要说明的是,第一终端设备11是将第四终端设备通过第一应用程序的账号备份到服务器14上的应用程序的信息恢复到第一终端设备11上,当然也可以将第一终端设备11上安装的应用程序备份到服务器14上。
图2示出了本申请实例提供的应用程序同步方法的流程图,如图2所示,该应用程序同步方法包括以下步骤:
步骤201:向服务器发送同步请求,其中,所述同步请求中携带第一应用程序的账号信息。
在一些实例中,在向服务器发送同步请求之前,第一终端设备还可以根据所述第一应用程序的账号信息登录所述第一应用程序;将自身的安装的所述第二应用程序备份至所述服务器,以使所述服务器将所述第二应用程序的信息与所述第一应用程序的账号信息相关联。当然,也可以由第四终端设备通过上述账号将自身安装的应用程序备份到服务器上。这里,第一应用程序可以是待测试应用程序,具体的可以是实现应用程序同步的应用程序,例如同步助手应用程序;第二应用程序也可以称为待同步应用程序,是服务器备份的与上述账号信息对应的待同步应用程序。
在一些实例中,第一终端设备在测试框架中运行针对所述第一应用程序的测试脚本来实现所述方法。具体的,应用程序同步的方法,可以由第一终端设备在测试框架中执行测试脚本包中的脚本来实现。一些例子中,所述测试框架是进行测试的工具,具体可以选择uiautomator作为所述测试框架,其中,uiautomator是google在发布Android 4.1的时候,同时发布一种新的测试工具uiautomator,可以用来做应用程序的用户界面的自动化测试。
在一些实例中,在向服务器发送同步请求之前,还原初始的测试环境,其中,所述还原初始的测试环境,包括:运行命令以停止运行第一应用程序;以及删除所述第一终端设备中的与所述账号信息相关联的同步异常数据,其中,上述同步请求用于请求服务器返回可以同步的应用程序的信息(即待同步应用程序的信息),可以包括:上述账号信息比如第一应用程序的账号的用户名和密码、第一终端设备的设备标识比如国际移动设备识别码IMEI(International Mobile Equipment Identity)、以及第一终端设备上已安装的应用程序的列表等等,其中,发送给所述服务器上述第一终端设备上已安装的应用程序的列表可以避免服务器下发上述第一终端设备上已安装的应用程序。例如,在对上述第一终端设备上进行还原初始的测试环境之后,上述第一终端设备上已安装的应用程序的列表可以包括手机QQ以及同步助手。
具体的,在测试框架中运行针对所述第一应用程序也即待测试应用程序的测试脚本之前,第一终端设备上可能遗留有之前的同步异常数据,因此需要还原第一终端设备的初始条件。为了保证测试不被多余的应用程序和同步异常数据干扰,也即确保第一终端设备上没有与上述待测试应用程序的账号信息相关联的同步异常数据和已经被同步的应用程序,首先运行命令以停止目前正在第一终端设备上运行的第一应用程序,比如使用kill命令杀掉待测试的同步助手;其次,删除所述第一终端设备中的与所述第一应用程序相关联的同步异常数据,比如删除第一终端设备中通过上述账号信息同步的应用程序和与上述账号信息相关联的同步异常数据。更进一步的,还可以删除用来进一步分析同步异常数据的第三终端设备上的同步异常数据,来避免对后续的分析过程进行干扰。
在一些实例中,启动第一应用程序,使用所述账号信息登录所述第一应用程序,具体的可以使用第三方应用程序的账号信息登录所述第一应用程序;自动打开测试开关以启动测试,每隔一个时间间隔比如每隔10分钟,调用测试用例,根据所述测试用例生成所述同步请求。通过执行调用测试用例,根据所述测试用例生成同步请求的步骤可以构造接口请求数据,其中,上述请求数据为同步请求中携带的数据,上述接口为第一应用程序与服务器之间的接口。在向服务器发送同步请求时,需要通过上述接口发送上述同步请求,也即进行接口模拟请求。需要说明的是,每调用一次上述测试框架中的测试用例,步骤201~步骤203执行一次,也即实现了定时监控所述第二应用程序及待同步应用程序的下载链接的可用性。关于通过测试框架向服务器发送同步请求的方法下文中会详细描述,这里不再赘述。
步骤202:接收所述服务器返回的所述账号信息对应的第二应用程序的信息,其中,所述第二应用程序的信息包括所述第二应用程序的下载链接。
在一些实例中,上述服务器在接收到上述第一终端设备发送的同步请求后,根据上述同步请求中携带的第一应用程序的账号信息,确定该账号下备份的第二应用程序的列表;同时根据上述同步请求中携带的第一终端设备上已安装的应用程序的列表下发上述账号信息对应的第二应用程序的信息。这里,上述账号对应的第二应用程序的信息可以包括所述第二应用程序的名称、所述第二应用程序的下载链接以及所述第二应用程序的版本号等等。
更进一步的,为了节约测试资源,还可以根据第二应用程序的同步热度,下发排名靠前的前N个第二应用程序的信息来进行后续的测试处理,其中,上述同步热度可以用来表征一个第二应用程序被同步的次数,被同步的次数越高,代表该第二应用程序的同步热度越高,也代表用户对该第二应用程序的依赖度越高。例如,上述第一应用程序的账号信息下备份的第二应用程序的列表中共有500个第二应用程序,根据各个第二应用程序的同步热度,下发同步热度前200名的第二应用程序的信息以使第一终端设备确定这200个第二应用程序的信息中的下载链接是否可以访问,进而实现监控下载链接的可用性。
在一些实例中,在接收所述服务器返回的所述账号信息对应的第二应用程序的信息之前,设置用于保存所述第二应用程序的信息的路径和文件名;将返回的所述第二应用程序的信息保存所述路径和文件名对应的第一文件中。
步骤203:当确定所述第二应用程序的下载链接无法访问时,记录所述第二应用程序的同步异常数据,并将所述同步异常数据发送至第二终端设备。
在一些实例中,响应于访问所述第二应用程序的下载链接的操作,如果对应所述第二应用程序的下载链接接收到的是表示访问成功的状态码,则确定所述第二应用程序的下载链接正常;如果对应所述第二应用程序的下载链接接收到的不是表示访问成功的状态码,则确定所述第二应用程序的下载链接异常。具体的,所述第二应用程序即待同步应用程序的下载链接可以是http(HyperText Transfer Protocol)链接,在http协议中,http链接正常则返回状态码200,如果返回的状态码不是200,表示该http链接异常。因此,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接异常。
更进一步的,当服务器返回的可以为多个待同步应用程序的下载链接时,还可以循环判断服务器返回的上述多个待同步应用程序的下载链接是否可以访问。
在一些实例中,还可以将所述第二应用程序的同步异常数据保存在第二文件中,其中,所述同步异常数据包括所述第二应用程序的账号信息、所述第二应用程序的名称、所述第二应用程序的下载链接以及所述下载链接的可用性;从所述第二文件中确定符合下载异常条件的同步异常数据并将其作为目标同步异常数据,并将所述目标同步异常数据发送至第二终端设备,其中,所述下载异常条件为所述第二文件中所述第二应用程序的名称出现的次数超过设定阈值。
具体的,如果所述第二文件中记录的第二应用程序即所述待同步应用程序的名称的次数超过设定阈值,则将所述待同步应用程序的同步异常数据确定为所述目标同步异常数据。如果所述待同步应用程序的名称在所述第二文件中出现的次数超过了设定阈值比如5次,也即在多于5次的定时监控中,所述待同步应用程序的下载链接都不可访问,则确定所述待同步应用程序的同步异常数据为所述目标同步异常数据,发送至第二终端设备以通知相关测试人员。如果所述待同步应用程序的名称在所述第二文件中出现的次数小于上述设定阈值,则表示所述待同步应用程序的下载链接出现异常的情况属于偶然现象,可以不进行处理。
在一些实例中,根据上述下载异常条件从所述第二文件中确定出目标同步异常数据之后,还可以将上述目标同步异常数据作为邮件的内容;并设置所述邮件的收件人和发件人的信息,发送邮件至所述收件人的邮箱。上述预设邮箱可以为测试人员的邮箱,收件人的信息为测试人员的邮箱地址。当收件人收到邮件以后,可以及时处理上述异常的下载链接。通过将包括异常的下载链接的同步异常数据发送至相关测试人员的邮箱,可以及时通知到相关测试人员以使其及时处理,并且减少测试人员投入的时间成本,提高了测试的效率。
更进一步的,还可以将所述同步异常数据从第一终端设备发送到第三设备终端比如个人计算机上面,在第三终端设备上对上述文件中的同步异常数据进一步分析,以根据上述下载异常条件从所述同步异常数据中根据所述符合所述下载异常条件确定出所述目标同步异常数据,并将所述目标同步异常数据发送至所述第二终端设备。更进一步的,还可以在所述第三设备终端设置所述目标同步异常数据为邮件内容,设置所述邮件的收件人和发件人的信息,发送邮件至所述收件人的邮箱。
具体的,将上述同步异常数据从第一终端设备拉取到个人计算机上,使用预置脚本比如python脚本读取上述同步异常数据,如果上述同步异常数据中记录一个待同步应用程序的名称的次数超过设定阈值,则将该待同步应用程序的同步异常数据确定为所述目标同步异常数据,比如,如果所述待同步应用程序的名称在所述同步异常数据中出现的次数超过了设定阈值比如5次,也即在多于5次的定时监控中,所述待同步应用程序的下载链接都不可访问,则确定所述待同步应用程序的同步异常数据为所述目标同步异常数据,发送至第二终端设备以通知相关测试人员。如果所述待同步应用程序的名称在所述同步异常数据中出现的次数小于上述设定阈值,则表示所述待同步应用程序的下载链接出现异常的情况属于偶然现象,可以不进行处理。
下面以待测试应用程序为第一应用程序,待同步应用程序为第二应用程序为例详细介绍向服务器发送同步请求的方法,图3为向服务器发送同步请求的方法的流程图,如图3所示,该方法包括以下步骤:
步骤301:通过测试框架自动点击测试脚本包至第一终端设备。
本步骤中,通过上述测试框架比如uiautomator将上述测试脚本包从第三终端设备自动化点击至第一终端设备上,其中,上述脚本测试包可以是实现自动化测试的脚本包,具体的可以是Java档案文件,简称Jar包。通过在上述第一终端设备上运行上述测试脚本包可以模拟点击等操作。
需要说明的是,以下步骤是通过执行上述测试脚本包来模拟点击来实现的。
步骤302:启动待测试应用程序。
步骤303:使用所述待测试应用程序的账号登录所述待测试应用程序。
本步骤中,可以通过调用第三方应用程序并通过该第三方应用程序获取登录态信息来登录所述待测试应用程序,其中,上述登录态请求信息包括第三方应用程序的账号名称、密码以及第一终端设备的设备标识。一些例子中,上述第三方应用程序可以是QQ、微信等即时通讯软件。
例如,可以通过脚本实现模拟点击手机QQ来获取登录态请求信息以进行登录,其中,上述登录态请求信息可以包括手机QQ的账号名称、密码以及第一终端设备的设备标识。
步骤304:确定是否登录成功,如果登录成功,则执行步骤305;如果登录失败,则结束本流程。
步骤305:自动打开测试开关以启动测试。
本步骤中,如果登录成功以后,向服务器发送同步请求还需要通过第三方应用程序获取登录态的密钥比如loginkey信息,例如通过手机QQ登录进行获取loginkey信息。
步骤306:调用测试用例,根据所述测试用例生成同步请求。
本步骤中,通过执行调用测试用例,根据所述测试用例生成同步请求的步骤可以构造接口请求数据,其中,上述请求数据为同步请求中携带的数据,上述接口为待测试应用程序与服务器之间的接口。在向服务器发送同步请求时,需要通过上述接口发送上述同步请求,也即进行接口模拟请求。
在一些实例中,为了实现定时监控下载链接的可用性,可以每隔一个时间间隔比如每隔10分钟,调用测试用例,根据所述测试用例生成所述同步请求。每调用一次上述测试框架中的测试用例,向服务器发送一次同步请求以使服务器下发待同步应用程序的下载链接,因此这也就实现了定时监控所述待同步应用程序的下载链接的可用性。更进一步的,上述同步请求用于请求服务器返回可以同步的待同步应用程序,可以包括:上述账号信息比如账号的用户名和密码、第一终端设备的设备标识比如国际移动设备识别码IMEI(International Mobile Equipment Identity)、以及第一终端设备上已安装的应用程序的列表等等,其中,发送给所述服务器上述第一终端设备上已安装的应用程序的列表可以避免服务器下发上述第一终端设备上已安装的应用程序。例如,在对上述第一终端设备上进行还原初始的测试环境之后,上述第一终端设备上已安装的应用程序的列表可以包括手机QQ以及同步助手。
下面结合附图以待测试应用程序为第一应用程序,待同步应用程序为第二应用程序为例详细介绍本申请实例提供的应用程序同步方法。图4为本申请实例提供的应用程序同步方法的信令交互流程图,如图4所示,该方法包括以下步骤:
步骤401:第一终端设备通过测试框架自动点击测试脚本包至所述第一终端设备。
本步骤中,上述脚本测试包可以是实现自动化测试的脚本包,具体的可以是Java档案文件,简称Jar包。通过在上述第一终端设备上运行上述测试脚本包可以模拟点击等操作。
需要说明的是,以下步骤是通过执行上述测试脚本包来模拟点击来实现的。
步骤402:上述第一终端设备启动待测试应用程序。
步骤403:上述第一终端设备使用所述待测试应用程序的账号登录所述待测试应用程序。
本步骤中,可以通过调用第三方应用程序并通过该第三方应用程序获取登录态信息来登录所述待测试应用程序,其中,上述登录态请求信息包括第三方应用程序的账号名称、密码以及第一终端设备的设备标识。一些例子中,上述第三方应用程序可以是QQ、微信等即时通讯软件。
例如,可以通过脚本实现模拟点击手机QQ来获取登录态请求信息以进行登录,其中,上述登录态请求信息可以包括手机QQ的账号名称、密码以及第一终端设备的设备标识。
步骤404:上述第一终端设备确定是否登录成功,如果登录成功,则执行步骤405;如果登录失败,则结束本流程。
步骤405:上述第一终端设备自动打开测试开关以启动测试。
本步骤中,如果登录成功以后,向服务器发送同步请求还需要通过第三方应用程序获取登录态的密钥比如loginkey信息,例如通过手机QQ登录进行获取loginkey信息。
步骤406:上述第一终端设备调用测试用例,根据所述测试用例生成同步请求,并向服务器发送同步请求,其中,所述同步请求中携带待测试应用程序的账号信息。
本步骤中,通过执行调用测试用例,根据所述测试用例生成同步请求的步骤可以构造接口请求数据,其中,上述请求数据为同步请求中携带的数据,上述接口为待测试应用程序与服务器之间的接口。在向服务器发送同步请求时,需要通过上述接口发送上述同步请求,也即进行接口模拟请求。上述同步请求用于请求服务器返回可以同步的待同步应用程序,可以包括:上述账号信息比如上述账号的用户名和密码、第一终端设备的设备标识比如国际移动设备识别码IMEI(International Mobile Equipment Identity)、以及第一终端设备上已安装的应用程序的列表等等。
在一些实例中,为了实现定时监控下载链接的可用性,可以每隔一个时间间隔比如每隔10分钟,调用测试用例,根据所述测试用例生成所述同步请求。每调用一次上述测试框架中的测试用例,向服务器发送一次同步请求以使服务器下发待同步应用程序的下载链接,因此这也就实现了定时监控所述待同步应用程序的下载链接的可用性。
步骤407:上述第一终端设备设置用于保存服务器返回的待同步应用程序的信息的路径和文件名。
步骤408:上述服务器响应于上述同步请求,向上述第一终端设备下发所述账号信息对应的待同步应用程序的信息,其中,所述待同步应用程序的信息包括所述待同步应用程序的下载链接。
在一些实例中,上述服务器在接收到上述第一终端设备发送的同步请求后,根据上述同步请求中携带的待测试应用程序的账号信息,确定该账号下备份的待同步应用程序的列表;同时根据上述同步请求中携带的第一终端设备上已安装的应用程序的列表下发上述账号对应的待同步应用程序的信息。这里,上述账号对应的待同步应用程序的信息可以包括所述待同步应用程序的名称、所述待同步应用程序的下载链接以及所述待同步应用程序的版本号等等。
更进一步的,为了节约测试资源,还可以根据待同步应用程序的同步热度,下发排名靠前的前N个待同步应用程序的信息来进行后续的测试处理,其中,上述同步热度可以用来表征一个待同步应用程序被同步的次数,被同步的次数越高,代表该待同步应用程序的同步热度越高,也代表用户对该待同步应用程序的依赖度越高。例如,上述待测试应用程序的账号下备份的待同步应用程序的列表中共有500个待同步应用程序,根据各个待同步应用程序的同步热度,下发同步热度前200名的待同步应用程序的信息。
步骤409:上述第一终端设备将返回的所述待同步应用程序的信息保存上述路径和文件名对应的第一文件中。
步骤410:确定待同步应用程序的信息中的下载链接是否可以访问,如果可以,则结束本流程;如果不可以,则执行步骤411。
在一些实例中,响应于访问所述待同步应用程序的下载链接的操作,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码,则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码,则确定所述待同步应用程序的下载链接异常。具体的,所述待同步应用程序的下载链接可以是http(HyperText Transfer Protocol)链接,在http协议中,http链接正常则返回状态码200,如果返回的状态码不是200,表示该http链接异常。因此,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接异常。
更进一步的,当服务器返回的可以为多个待同步应用程序的下载链接时,还可以循环判断服务器返回的上述多个待同步应用程序的下载链接是否可以访问。
步骤411:记录所述待同步应用程序的同步异常数据在第二文件中。
步骤412:从所述第二文件中确定符合下载异常条件的同步异常数据并将其作为目标同步异常数据,并将所述目标同步异常数据发送至第二终端设备。
本步骤中,所述同步异常数据包括所述待同步应用程序的账号信息、所述待同步应用程序的名称、所述待同步应用程序的下载链接以及所述下载链接的可用性。
在一些例子中,如果所述第二文件中记录的所述待同步应用程序的名称的次数超过设定阈值,则将所述待同步应用程序的同步异常数据确定为所述目标同步异常数据。如果所述待同步应用程序的名称在所述第二文件中出现的次数超过了设定阈值比如5次,也即在多于5次的定时监控中,所述待同步应用程序的下载链接都不可访问,则确定所述待同步应用程序的同步异常数据为所述目标同步异常数据,发送至第二终端设备以通知相关测试人员。如果所述待同步应用程序的名称在所述第二文件中出现的次数小于上述设定阈值,则表示所述待同步应用程序的下载链接出现异常的情况属于偶然现象,可以不进行处理。
在一些实例中,根据上述下载异常条件从所述第二文件中确定出目标同步异常数据之后,还可以将上述目标同步异常数据作为邮件的内容;并设置所述邮件的收件人和发件人的信息,发送邮件至所述收件人的邮箱。上述预设邮箱可以为测试人员的邮箱,收件人的信息为测试人员的邮箱地址。当收件人收到邮件以后,可以及时处理上述异常的下载链接。通过将包括异常的下载链接的同步异常数据发送至相关测试人员的邮箱,可以及时通知到相关测试人员以使其及时处理,并且减少测试人员投入的时间成本,提高了测试的效率。
更进一步的,还可以将所述同步异常数据从第一终端设备发送到第三设备终端比如个人计算机上面,在第三终端设备上对上述文件中的同步异常数据进一步分析,以根据上述下载异常条件从所述同步异常数据中根据所述符合所述下载异常条件确定出所述目标同步异常数据,并将所述目标同步异常数据发送至所述第二终端设备。更进一步的,还可以在所述第三设备终端设置所述目标同步异常数据为邮件内容,设置所述邮件的收件人和发件人的信息,发送邮件至所述收件人的邮箱。
具体的,将上述同步异常数据从第一终端设备拉取到个人计算机上,使用预置脚本比如python脚本读取上述同步异常数据,如果上述同步异常数据中记录一个待同步应用程序的名称的次数超过设定阈值,则将该待同步应用程序的同步异常数据确定为所述目标同步异常数据,比如,如果所述待同步应用程序的名称在所述同步异常数据中出现的次数超过了设定阈值比如5次,也即在多于5次的定时监控中,所述待同步应用程序的下载链接都不可访问,则确定所述待同步应用程序的同步异常数据为所述目标同步异常数据,发送至第二终端设备以通知相关测试人员。如果所述待同步应用程序的名称在所述同步异常数据中出现的次数小于上述设定阈值,则表示所述待同步应用程序的下载链接出现异常的情况属于偶然现象,可以不进行处理。
在本申请的其他一些实例中,在第一终端设备11向服务器14发送同步请求之前,还可以根据所述第一应用程序的账号信息登录所述第一应用程序;将自身的安装的所述第二应用程序备份至所述服务器,以使所述服务器将所述第二应用程序的信息与所述第一应用程序的账号信息相关联,这样当第一终端设备11通过登录上述账号发送同步请求时,服务器14可以下发与上述账号对应的待同步应用程序。当然,向服务器备份自身安装的应用程序的步骤也可以由第四终端设备17来执行,第四终端设备17需要登录待测试应用程序的账号将自身的应用程序备份至服务器14上,如前所述,第四终端设备17上也安装有待测试应用程序15。
下面详细介绍,以第四终端设备17为备份终端即由第四终端设备向服务器14备份待同步应用程序、第一终端设备11为同步终端即由第一终端设备从服务器同步其备份的待同步应用程序为例,详细介绍应用程序同步的方法,其中,待测试应用程序为第一应用程序、待同步应用程序为第二应用程序,图5为应用程序同步的方法的流程图,如图5所示,该方法包括以下步骤:
步骤501:第四终端设备通过测试框架自动点击备份脚本包至第四终端设备。
本步骤中,通过上述测试框架比如uiautomator将上述备份脚本包从第三终端设备自动化点击至第四终端设备上,其中,通过执行上述备份脚本包中的脚本可以通过模拟点击等操作实现将自身的应用程序备份到服务器上,上述备份脚本包具体的可以是Java档案文件,简称Jar包。
需要说明的是,步骤502~步骤505是第四终端设备通过执行上述备份脚本包来模拟点击来实现的。
步骤502:第四终端设备启动待测试应用程序。
步骤503:第四终端设备使用所述待测试应用程序的账号登录所述待测试应用程序。
本步骤中,还可以通过调用第三方应用程序并通过该第三方应用程序获取登录态信息来登录所述待测试应用程序,其中,上述登录态请求信息包括第三方应用程序的账号名称、密码以及第四终端设备的设备标识。一些例子中,上述第三方应用程序可以是QQ、微信等即时通讯软件。
例如,可以通过脚本实现模拟点击手机QQ来获取登录态请求信息以进行登录,其中,上述登录态请求信息可以包括手机QQ的账号名称、密码以及第四终端设备的设备标识。
步骤504:第四终端设备确定是否登录成功,如果登录成功,则执行步骤505;如果登录失败,则结束本流程。
本步骤中,如果登录成功以后,向服务器发送同步请求还需要通过第三方应用程序获取登录态的密钥比如loginkey信息,例如通过手机QQ登录进行获取loginkey信息。
步骤505:第四终端设备展示自身安装的待同步应用程序的列表,响应于点击备份按钮将自身安装的待同步应用程序的信息备份至服务器。
本步骤中,可以将自身安装的一个或多个待同步应用程序的名称、应用程序的版本号备份至服务器上。更进一步的,还可以根据实际测试需要,选择需要测试的待同步应用程序来备份至服务器。服务器在接收到第四终端设备备份的待同步应用程序后,将备份的待同步应用程序的信息与上述待测试应用程序的账号相关联,以方便后续第一终端设备进行同步。
步骤506:第一终端设备通过测试框架自动点击测试脚本包至所述第一终端设备。
本步骤中,上述脚本测试包可以是实现自动化测试的脚本包,具体的可以是Java档案文件,简称Jar包。通过在上述第一终端设备上运行上述测试脚本包可以模拟点击等操作。
需要说明的是,以下步骤是通过执行上述测试脚本包来模拟点击来实现的。
步骤507:上述第一终端设备启动待测试应用程序。
步骤508:上述第一终端设备使用所述待测试应用程序的账号登录所述待测试应用程序。
本步骤中,可以通过调用第三方应用程序并通过该第三方应用程序获取登录态信息来登录所述待测试应用程序,其中,上述登录态请求信息包括第三方应用程序的账号名称、密码以及第一终端设备的设备标识。一些例子中,上述第三方应用程序可以是QQ、微信等即时通讯软件。
例如,可以通过脚本实现模拟点击手机QQ来获取登录态请求信息以进行登录,其中,上述登录态请求信息可以包括手机QQ的账号名称、密码以及第一终端设备的设备标识。
步骤509:上述第一终端设备确定是否登录成功,如果登录成功,则执行步骤510;如果登录失败,则结束本流程。
步骤510:上述第一终端设备自动打开测试开关以启动测试。
本步骤中,如果登录成功以后,向服务器发送同步请求还需要通过第三方应用程序获取登录态的密钥比如loginkey信息,例如通过手机QQ登录进行获取loginkey信息。
步骤511:上述第一终端设备调用测试用例,根据所述测试用例生成同步请求,并向服务器发送同步请求,其中,所述同步请求中携带待测试应用程序的账号信息。
本步骤中,通过执行调用测试用例,根据所述测试用例生成同步请求的步骤可以构造接口请求数据,其中,上述请求数据为同步请求中携带的数据,上述接口为待测试应用程序与服务器之间的接口。在向服务器发送同步请求时,需要通过上述接口发送上述同步请求,也即进行接口模拟请求。上述同步请求用于请求服务器返回可以同步的待同步应用程序,可以包括:上述账号信息比如上述账号的用户名和密码、第一终端设备的设备标识比如国际移动设备识别码IMEI(International Mobile Equipment Identity)、以及第一终端设备上已安装的应用程序的列表等等。
在一些实例中,为了实现定时监控下载链接的可用性,可以每隔一个时间间隔比如每隔10分钟,调用测试用例,根据所述测试用例生成所述同步请求。每调用一次上述测试框架中的测试用例,向服务器发送一次同步请求以使服务器下发待同步应用程序的下载链接,因此这也就实现了定时监控所述待同步应用程序的下载链接的可用性。
步骤512:上述第一终端设备设置用于保存服务器返回的待同步应用程序的信息的路径和文件名。
步骤513:上述服务器响应于上述同步请求,向上述第一终端设备下发所述账号信息对应的待同步应用程序的信息,其中,所述待同步应用程序的信息包括所述待同步应用程序的下载链接。
在一些实例中,上述服务器在接收到上述第一终端设备发送的同步请求后,根据上述同步请求中携带的待测试应用程序的账号信息,确定该账号下备份的待同步应用程序的列表;同时根据上述同步请求中携带的第一终端设备上已安装的应用程序的列表下发上述账号对应的待同步应用程序的信息。这里,上述账号对应的待同步应用程序的信息可以包括所述待同步应用程序的名称、所述待同步应用程序的下载链接以及所述待同步应用程序的版本号等等。
更进一步的,为了节约测试资源,还可以根据待同步应用程序的同步热度,下发排名靠前的前N个待同步应用程序的信息来进行后续的测试处理,其中,上述同步热度可以用来表征一个待同步应用程序被同步的次数,被同步的次数越高,代表该待同步应用程序的同步热度越高,也代表用户对该待同步应用程序的依赖度越高。例如,上述待测试应用程序的账号下备份的待同步应用程序的列表中共有500个待同步应用程序,根据各个待同步应用程序的同步热度,下发同步热度前200名的待同步应用程序的信息。
步骤514:上述第一终端设备将返回的所述待同步应用程序的信息保存上述路径和文件名对应的第一文件中。
步骤515:确定待同步应用程序的信息中的下载链接是否可以访问,如果可以,则结束本流程;如果不可以,则执行步骤516。
在一些实例中,响应于访问所述待同步应用程序的下载链接的操作,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码,则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码,则确定所述待同步应用程序的下载链接异常。具体的,所述待同步应用程序的下载链接可以是http(HyperText Transfer Protocol)链接,在http协议中,http链接正常则返回状态码200,如果返回的状态码不是200,表示该http链接异常。因此,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接异常。
更进一步的,当服务器返回的可以为多个待同步应用程序的下载链接时,还可以循环判断服务器返回的上述多个待同步应用程序的下载链接是否可以访问。
步骤516:记录所述待同步应用程序的同步异常数据在第二文件中。
步骤517:从所述第二文件中确定符合下载异常条件的同步异常数据并将其作为目标同步异常数据,并将所述目标同步异常数据发送至第二终端设备。
本步骤中,所述同步异常数据包括所述待同步应用程序的账号信息、所述待同步应用程序的名称、所述待同步应用程序的下载链接以及所述下载链接的可用性。
在一些例子中,如果所述第二文件中记录的所述待同步应用程序的名称的次数超过设定阈值,则将所述待同步应用程序的同步异常数据确定为所述目标同步异常数据。如果所述待同步应用程序的名称在所述第二文件中出现的次数超过了设定阈值比如5次,也即在多于5次的定时监控中,所述待同步应用程序的下载链接都不可访问,则确定所述待同步应用程序的同步异常数据为所述目标同步异常数据,发送至第二终端设备以通知相关测试人员。如果所述待同步应用程序的名称在所述第二文件中出现的次数小于上述设定阈值,则表示所述待同步应用程序的下载链接出现异常的情况属于偶然现象,可以不进行处理。
在一些实例中,根据上述下载异常条件从所述第二文件中确定出目标同步异常数据之后,还可以将上述目标同步异常数据作为邮件的内容;并设置所述邮件的收件人和发件人的信息,发送邮件至所述收件人的邮箱。上述预设邮箱可以为测试人员的邮箱,收件人的信息为测试人员的邮箱地址。当收件人收到邮件以后,可以及时处理上述异常的下载链接。通过将包括异常的下载链接的同步异常数据发送至相关测试人员的邮箱,可以及时通知到相关测试人员以使其及时处理,并且减少测试人员投入的时间成本,提高了测试的效率。
更进一步的,还可以将所述同步异常数据从第一终端设备发送到第三设备终端比如个人计算机上面,在第三终端设备上对上述文件中的同步异常数据进一步分析,以根据上述下载异常条件从所述同步异常数据中根据所述符合所述下载异常条件确定出所述目标同步异常数据,并将所述目标同步异常数据发送至所述第二终端设备。更进一步的,还可以在所述第三设备终端设置所述目标同步异常数据为邮件内容,设置所述邮件的收件人和发件人的信息,发送邮件至所述收件人的邮箱。
具体的,将上述同步异常数据从第一终端设备拉取到个人计算机上,使用预置脚本比如python脚本读取上述同步异常数据,如果上述同步异常数据中记录一个待同步应用程序的名称的次数超过设定阈值,则将该待同步应用程序的同步异常数据确定为所述目标同步异常数据,比如,如果所述待同步应用程序的名称在所述同步异常数据中出现的次数超过了设定阈值比如5次,也即在多于5次的定时监控中,所述待同步应用程序的下载链接都不可访问,则确定所述待同步应用程序的同步异常数据为所述目标同步异常数据,发送至第二终端设备以通知相关测试人员。如果所述待同步应用程序的名称在所述同步异常数据中出现的次数小于上述设定阈值,则表示所述待同步应用程序的下载链接出现异常的情况属于偶然现象,可以不进行处理。
通过本申请的技术方案,一方面可以自动监控服务器下发的待同步应用程序的下载链接是否可用,无需相关人员定时打开应用,逐个进行点击进行验证,提高了处理效率;另一方面自动监控服务器下发的待同步应用程序的下载链接是否可用可以避免误测和漏测,确保了测试质量,同时减少测试人员投入的时间成本。
基于本申请的方法实例,本申请还提出了一种应用程序同步装置,如图6所示,该装置包括发送模块601、接收模块602、记录模块603,其中,各模块的功能如下:
发送模块601,向服务器发送同步请求,其中,所述同步请求中携带第一应用程序的账号信息;
接收模块602,接收所述服务器返回的所述账号信息对应的第二应用程序的信息,其中,所述第二应用程序的信息包括所述第二应用程序的下载链接;
记录模块603,当确定所述第二应用程序的下载链接无法访问时,记录所述第二应用程序的同步异常数据;以及
所述发送模块601,将所述同步异常数据发送至第二终端设备。
在一些实例中,所述发送模块601根据所述第一应用程序的账号信息登录所述第一应用程序;将自身的安装的所述第二应用程序备份至所述服务器,以使所述服务器将所述第二应用程序的信息与所述第一应用程序的账号信息相关联。
在一些实例中,所述装置进一步包括:还原模块604,还原初始的测试环境。
在一些实例中,所述还原模块604,进一步运行命令以停止运行第一应用程序;以及删除所述第一终端设备中的与所述账号信息相关联的同步异常数据。
在一些实例中,所述发送模块601,启动第一应用程序,使用所述账号信息登录所述第一应用程序;每隔一个时间间隔,调用测试用例,根据所述测试用例生成所述同步请求。
具体的,所述发送模块601可以使用第三方应用程序的账号信息登录所述第一应用程序;自动打开测试开关以启动测试,每隔一个时间间隔比如每隔10分钟,调用测试用例,根据所述测试用例生成所述同步请求。通过执行调用测试用例,根据所述测试用例生成同步请求的步骤可以构造接口请求数据,其中,上述请求数据为同步请求中携带的数据,上述接口为第一应用程序与服务器之间的接口。在向服务器发送同步请求时,需要通过上述接口发送上述同步请求,也即进行接口模拟请求。需要说明的是,每调用一次上述测试框架中的测试用例,向服务器发送一次同步请求以使服务器下发待同步应用程序的下载链接,因此这也就实现了定时监控所述待同步应用程序的下载链接的可用性。
在一些实例中,所述记录模块603,进一步响应于访问所述待同步应用程序的下载链接的操作,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码,则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码,则确定所述待同步应用程序的下载链接异常。
在一些实例中,响应于访问所述待同步应用程序的下载链接的操作,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码,所述记录模块603则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码,所述记录模块603则确定所述待同步应用程序的下载链接异常。具体的,所述待同步应用程序的下载链接可以是http(HyperText TransferProtocol)链接,在http协议中,http链接正常则返回状态码200,如果返回的状态码不是200,表示该http链接异常。因此,如果对应所述待同步应用程序的下载链接接收到的是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接正常;如果对应所述待同步应用程序的下载链接接收到的不是表示访问成功的状态码200,则确定所述待同步应用程序的下载链接异常。
在一些实例中,在接收所述服务器返回的所述账号信息对应的待同步应用程序的信息之前,所述接收模块602,进一步设置用于保存所述待同步应用程序的信息的路径和文件名;将返回的所述待同步应用程序的信息保存所述路径和文件名对应的第一文件中。
在一些实例中,所述记录模块603,进一步将所述同步异常数据保存在第二文件中;所述记录模块603,进一步从所述第二文件中确定符合下载异常条件的同步异常数据并将其作为目标同步异常数据,其中,所述下载异常条件为所述第二文件中所述待同步应用程序的名称出现的次数超过设定阈值;所述发送模块601,进一步将所述目标同步异常数据发送至第二终端设备。
在一些实例中,所述发送模块601,进一步将所述目标同步异常数据作为邮件的内容;及设置所述邮件的收件人和发件人的信息,发送所述邮件至所述收件人的邮箱。
在一些实例中,所述发送模块601,进一步将所述同步异常数据将所述同步异常数据发送至第三设备终端,以在所述第三设备终端上从所述同步异常数据中根据所述符合所述下载异常条件确定出所述目标同步异常数据,并将所述目标同步异常数据发送至所述第二终端设备。
上述各个模块实现各种功能的具体方法及原理在前文均有描述,这里不再赘述。上述各个模块可能位于一台计算设备,也可能分布在多个计算设备中。
另外,在本申请各个实例中的装置及各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在一实施例中,上述的装置可运行在任一用于应用程序同步计算设备中,并加载在该计算设备的存储器中。如图7所示,该计算设备除了包括上述控制装置中的各个模块,还可包括:存储器711、处理器713、总线712、端口714。处理器713和存储器711通过总线712互联。处理器713可通过端口714接收和发送数据以实现网络通信和/或本地通信。上述各模块601~604可以是存储器711中存储的机器可执行指令模块。处理器703通过执行存储器711中各模块601~604中包含的机器可执行指令,进而能够实现上述各模块601~604的功能。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和/或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,该数据处理程序用于执行本申请上述方法的任何一种实例。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种应用程序同步方法,其特征在于,由第一终端设备执行,所述第一终端设备在测试框架中运行针对第一应用程序的测试脚本来实现所述应用程序同步方法,所述方法包括:
第一终端设备启动所述第一应用程序,使用账号信息登录所述第一应用程序;每隔一个时间间隔,调用测试用例,根据所述测试用例生成同步请求,并向服务器发送所述同步请求,其中,所述同步请求中携带第一应用程序的账号信息,第一应用程序是实现应用程序同步的待测试应用程序;
接收所述服务器返回的所述账号信息对应的第二应用程序的信息,其中,所述第二应用程序的信息包括所述第二应用程序的下载链接,第二应用程序为待同步应用程序;以及
当确定所述第二应用程序的下载链接无法访问时,记录所述第二应用程序的同步异常数据,并将所述同步异常数据发送至第二终端设备,所述第二终端设备为测试人员使用的、用于接收同步异常数据的终端。
2.根据权利要求1所述的方法,其中,在第一终端向服务器发送测试同步请求之前,进一步包括:
根据所述第一应用程序的账号信息登录所述第一应用程序;
将自身的安装的所述第二应用程序备份至所述服务器,以使所述服务器将所述第二应用程序的信息与所述第一应用程序的账号信息相关联。
3.根据权利要求1所述的方法,其中,在向服务器发送同步请求之前,进一步包括:还原初始的测试环境。
4.根据权利要求3所述的方法,其中,所述还原初始的测试环境,包括:
运行命令以停止运行第一应用程序;以及
删除所述第一终端设备中的与所述账号信息相关联的同步异常数据。
5.根据权利要求1所述的方法,其中,所述确定所述第二应用程序的下载链接的能否访问,包括:
响应于访问所述第二应用程序的下载链接的操作,如果对应所述第二应用程序的下载链接接收到的是表示访问成功的状态码,则确定所述第二应用程序的下载链接正常;如果对应所述第二应用程序的下载链接接收到的不是表示访问成功的状态码,则确定所述第二应用程序的下载链接异常。
6.根据权利要求1所述的方法,在接收所述服务器返回的所述账号信息对应的第二应用程序的信息之前,进一步包括:设置用于保存所述第二应用程序的信息的路径和文件名;
其中,所述方法进一步包括:将返回的所述第二应用程序的信息保存在所述路径和文件名对应的第一文件中。
7.根据权利要求1所述的方法,其中,所述记录所述第二应用程序的同步异常数据,包括:将所述第二应用程序的同步异常数据保存在第二文件中,其中,所述同步异常数据包括所述第二应用程序的账号信息、所述第二应用程序的名称、所述第二应用程序的下载链接以及所述下载链接的可用性;
其中,所述将所述同步异常数据发送至第二终端设备,包括:
从所述第二文件中确定符合下载异常条件的同步异常数据并将其作为目标同步异常数据,并将所述目标同步异常数据发送至第二终端设备,其中,所述下载异常条件为所述第二文件中所述第二应用程序的名称出现的次数超过设定阈值。
8.根据权利要求7所述的方法,其中,所述将所述目标同步异常数据发送至第二终端设备,包括:
将所述目标同步异常数据作为邮件的内容;及
设置所述邮件的收件人和发件人的信息,发送所述邮件至所述收件人的邮箱。
9.根据权利要求7所述的方法,其中,所述方法进一步包括:
将所述同步异常数据发送至第三设备终端,以在所述第三设备终端上从所述同步异常数据中根据所述符合所述下载异常条件确定出所述目标同步异常数据,并将所述目标同步异常数据发送至所述第二终端设备。
10.一种应用程序同步装置,其特征在于,位于第一终端设备中,所述第一终端设备在测试框架中运行针对第一应用程序的测试脚本来实现应用程序同步方法,包括:
发送模块,启动所述第一应用程序,使用账号信息登录所述第一应用程序;每隔一个时间间隔,调用测试用例,根据所述测试用例生成同步请求,并向服务器发送所述同步请求,其中,所述同步请求中携带第一应用程序的账号信息,第一应用程序是实现应用程序同步的待测试应用程序;
接收模块,接收所述服务器返回的所述账号信息对应的第二应用程序的信息,其中,所述第二应用程序的信息包括所述第二应用程序的下载链接,第二应用程序为待同步应用程序;
记录模块,当确定所述第二应用程序的下载链接无法访问时,记录所述第二应用程序的同步异常数据;
所述发送模块,将所述同步异常数据发送至第二终端设备,所述第二终端设备为测试人员使用的、用于接收同步异常数据的终端。
11.一种计算设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机可读指令,可以使所述处理器执行如权利要求1-9任一项所述的方法。
12.一种存储介质,其特征在于,存储有机器可读指令,可以使至少一个处理器执行如权利要求1-9任一项所述的方法。
CN201810318844.9A 2018-04-11 2018-04-11 应用程序同步方法、装置、计算设备以及存储介质 Active CN110365627B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810318844.9A CN110365627B (zh) 2018-04-11 2018-04-11 应用程序同步方法、装置、计算设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810318844.9A CN110365627B (zh) 2018-04-11 2018-04-11 应用程序同步方法、装置、计算设备以及存储介质

Publications (2)

Publication Number Publication Date
CN110365627A CN110365627A (zh) 2019-10-22
CN110365627B true CN110365627B (zh) 2021-10-29

Family

ID=68214271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810318844.9A Active CN110365627B (zh) 2018-04-11 2018-04-11 应用程序同步方法、装置、计算设备以及存储介质

Country Status (1)

Country Link
CN (1) CN110365627B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710509B (zh) * 2022-04-14 2023-03-24 北京思必拓科技有限责任公司 应用数据同步方法、设备、终端及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489052A (zh) * 2002-10-11 2004-04-14 鸿富锦精密工业(深圳)有限公司 多节点文件同步系统及方法
CN102664874A (zh) * 2012-03-29 2012-09-12 奇智软件(北京)有限公司 一种安全登陆的方法和系统
CN103051764A (zh) * 2012-09-26 2013-04-17 宜兴市中碳科技有限公司 一种共享手机联系人信息的方法
CN103186387A (zh) * 2011-12-27 2013-07-03 宏碁股份有限公司 电子装置与其操作系统更新方法
CN103812848A (zh) * 2012-11-15 2014-05-21 腾讯科技(深圳)有限公司 一种应用程序的内部测试方法、客户端及服务器
CN103856537A (zh) * 2012-12-05 2014-06-11 中国移动通信集团公司 获取应用程序在终端上运行状态的方法、平台和系统
CN104281504A (zh) * 2014-10-30 2015-01-14 广东欧珀移动通信有限公司 一种基于md5码的应用程序数据备份还原的方法及系统
CN105389175A (zh) * 2015-09-25 2016-03-09 深圳市金立通信设备有限公司 一种应用程序共享方法及移动终端
CN105430681A (zh) * 2015-11-04 2016-03-23 努比亚技术有限公司 异常自动上传及恢复方法、装置及移动终端
CN105554137A (zh) * 2015-12-23 2016-05-04 北京奇虎科技有限公司 一种备份系统及方法
CN106126278A (zh) * 2016-06-16 2016-11-16 珠海市魅族科技有限公司 一种应用程序安装方法及装置
CN106209417A (zh) * 2016-06-23 2016-12-07 努比亚技术有限公司 一种资源下载链接可用性的监控处理系统及方法
CN107861738A (zh) * 2017-11-06 2018-03-30 广东欧珀移动通信有限公司 应用异常处理方法、装置、存储介质及终端设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489052A (zh) * 2002-10-11 2004-04-14 鸿富锦精密工业(深圳)有限公司 多节点文件同步系统及方法
CN103186387A (zh) * 2011-12-27 2013-07-03 宏碁股份有限公司 电子装置与其操作系统更新方法
CN102664874A (zh) * 2012-03-29 2012-09-12 奇智软件(北京)有限公司 一种安全登陆的方法和系统
CN103051764A (zh) * 2012-09-26 2013-04-17 宜兴市中碳科技有限公司 一种共享手机联系人信息的方法
CN103812848A (zh) * 2012-11-15 2014-05-21 腾讯科技(深圳)有限公司 一种应用程序的内部测试方法、客户端及服务器
CN103856537A (zh) * 2012-12-05 2014-06-11 中国移动通信集团公司 获取应用程序在终端上运行状态的方法、平台和系统
CN104281504A (zh) * 2014-10-30 2015-01-14 广东欧珀移动通信有限公司 一种基于md5码的应用程序数据备份还原的方法及系统
CN105389175A (zh) * 2015-09-25 2016-03-09 深圳市金立通信设备有限公司 一种应用程序共享方法及移动终端
CN105430681A (zh) * 2015-11-04 2016-03-23 努比亚技术有限公司 异常自动上传及恢复方法、装置及移动终端
CN105554137A (zh) * 2015-12-23 2016-05-04 北京奇虎科技有限公司 一种备份系统及方法
CN106126278A (zh) * 2016-06-16 2016-11-16 珠海市魅族科技有限公司 一种应用程序安装方法及装置
CN106209417A (zh) * 2016-06-23 2016-12-07 努比亚技术有限公司 一种资源下载链接可用性的监控处理系统及方法
CN107861738A (zh) * 2017-11-06 2018-03-30 广东欧珀移动通信有限公司 应用异常处理方法、装置、存储介质及终端设备

Also Published As

Publication number Publication date
CN110365627A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
US11144439B2 (en) Emulation-based testing of a microservices architecture
US10657032B2 (en) Systems and methods for monitoring performance of applications
CN106294176B (zh) Mac OS系统中应用程序故障定位的方法及系统
CN114077525A (zh) 异常日志处理方法、装置、终端设备、云服务器及系统
CN105550113A (zh) Web测试方法与测试机
CN108491322A (zh) 自动化测试方法、装置及存储介质
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
CN110647460B (zh) 一种测试资源管理方法、装置和测试客户端
CN111045942A (zh) 应用测试方法、系统、存储介质及电子设备
US10635407B2 (en) Identification of differences between scripts for testing applications
CN110365627B (zh) 应用程序同步方法、装置、计算设备以及存储介质
CN110134558B (zh) 一种服务器的检测方法和装置
CN104618474B (zh) 设备信息保存方法以及装置
CN108880994B (zh) 一种重发邮件的方法和装置
CN116302738A (zh) 一种测试芯片的方法、系统、设备和存储介质
US20230066698A1 (en) Compute instance warmup operations
CN112596750B (zh) 应用测试方法、装置、电子设备及计算机可读存储介质
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN116010244A (zh) 自动化测试方法、装置、电子设备及存储介质
CN109766235A (zh) 基于软件监控的配置文件检测方法、系统、设备及介质
US11288175B1 (en) Software production load and software test load synchronization feedback system
CN111752782B (zh) 稳定性测试方法、系统、装置及存储介质
CN112506729B (zh) 一种故障模拟方法及装置
CN112711518A (zh) 一种日志上传方法和装置
CN116361369A (zh) 数据抽取加载方法及系统

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
GR01 Patent grant
GR01 Patent grant