CN110674040A - 应用的测试方法、装置、设备和存储介质 - Google Patents

应用的测试方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110674040A
CN110674040A CN201910894041.2A CN201910894041A CN110674040A CN 110674040 A CN110674040 A CN 110674040A CN 201910894041 A CN201910894041 A CN 201910894041A CN 110674040 A CN110674040 A CN 110674040A
Authority
CN
China
Prior art keywords
client
testing
test
attribute information
calling
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
Application number
CN201910894041.2A
Other languages
English (en)
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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN201910894041.2A priority Critical patent/CN110674040A/zh
Publication of CN110674040A publication Critical patent/CN110674040A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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

本申请实施例提供的应用的测试方法、装置、设备和存储介质,涉及网络技术领域,该应用的测试方法通过在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,该客户端为相互配合运行的客户端;根据属性信息分别构造出用于调用各客户端所对应的启动模块;在测试过程中,利用各启动模块调用其所对应的客户端,并执行测试程序中相对应的操作行为进行测试,解决了传统技术中通过Appium对应用仅能进行单端自动化测试的技术问题,实现了多个客户端相互配合的多端测试,提高了测试效率和交互测试的准确性。

Description

应用的测试方法、装置、设备和存储介质
技术领域
本申请实施例涉及计算机网络技术领域,具体而言,涉及一种应用的测试方法、装置、设备和存储介质。
背景技术
每个应用,如轻应用(Light App)、软件程序、客户端或应用程序(Application,App)在发布之前或使用过程中均需要对该应用进行大量测试,以保证该应用在各个终端设备上均能正常运行,或对优化的应用进行测试。
目前,大多的应用是通过Appium进行自动化测试,Appium是一个开源的基于C/S架构的移动终端自动化测试框架。在Appium测试框架中,一个服务端只支持单个应用或终端设备进行自动化测试。
然而,在某些项目中,部分应用的功能需要多个设备端之间配合完成自动化测试的相关操作,基于目前Appium测试框架无法满足多端测试的需求。
发明内容
本申请的目的旨在至少解决上述技术缺陷之一,特别是基于Appium测试框架无法满足多端测试需求的问题。
第一方面,本申请实施例提供了一种应用的测试方法,适用于多端测试,所述测试方法包括以下步骤:
在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,多个所述客户端为相互配合运行的客户端;
根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块;
在测试过程中,利用各所述启动模块调用其所对应的客户端,执行所述测试程序中相对应的操作行为对所述客户端进行测试。
在一实施例中,所述客户端包括第一客户端和第二客户端;
所述根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块的步骤包括:
获取第一客户端的第一属性信息,根据所述第一属性信息构造出用于调用所述第一客户端的第一启动模块;
获取第二客户端的第二属性信息,根据所述第二属性信息构造出用于调用所述第二客户端的第二启动模块。
在一实施例中,所述利用各所述启动模块调用其所对应的客户端,执行所述测试程序中相对应的操作行为对所述客户端进行测试的步骤包括:
利用所述第一启动模块调用所述第一客户端,并将所述测试程序中的第一操作行为发送至第一测试服务端,其中,所述第一测试服务端用于执行所述第一操作行为对所述第一客户端进行模拟测试;
利用所述第二启动模块调用所述第二客户端,并将所述测试程序中的第二操作行为发送至第二测试服务端,其中,所述第二测试服务端用于执行所述第二操作行为对所述第二客户端进行模拟测试。
在一实施例中,所述测试程序为用户界面自动化测试程序;
所述第一客户端包括主播客户端,所述第二客户端包括观众客户端。
在一实施例中,所述操作行为包括长按、点击、滑动、输入和输出中的一种或多种操作行为。
在一实施例中,所述属性信息包括:各所述客户端的系统版本及其名称、包名、活动名称、所对应连接的网络地址和端口中的一种或多种。
在一实施例中,所述第一属性信息包括:第一客户端的第一系统版本及其名称、第一包名、第一活动名称、所对应连接的第一网络地址和第一端口;
所述第二属性信息包括:第二客户端的第二系统版本及名称、第二包名、第二活动名称、所对应连接的第二网络地址和第二端口。
第二方面,本申请实施例还提供了一种应用的测试装置,适用于多端测试,包括:
属性信息获取模块,用于在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,多个所述客户端为相互配合运行的客户端;
启动模块构造模块,用于根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块;
操作行为测试模块,用于在测试过程中,利用各所述启动模块调用其所对应的客户端,执行所述测试程序中相对应的操作行为对所述客户端进行测试。
第三方面,本申请实施例还提供了一种应用的测试设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如第一方面任一项实施例所述的应用的测试方法的步骤。
第四方面,本申请实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面任一项实施例所述应用的测试方法的步骤。
上述实施例提供的应用的测试方法、装置、设备和存储介质,通过在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,该客户端为相互配合运行的客户端;根据属性信息分别构造出用于调用各客户端所对应的启动模块;在测试过程中,利用各启动模块调用其所对应的客户端,执行测试程序中相对应的操作行为对各客户端进行测试,解决了传统技术中通过Appium仅能对单个应用或终端设备进行自动化测试的技术问题,能够实现多个客户端相互配合的多端测试,提高了测试效率和交互测试的准确性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一实施例提供的应用的测试方法的应用场景示意图;
图2是一实施例提供的一种应用的测试方法的流程图;
图3是一实施例提供的启动模块的构造方法的流程图;
图4是一实施例提供的执行操作行为的测试方法的流程图;
图5是一实施例提供的应用的测试方法所对应的框架示意图;
图6是一实施例提供的一种应用的测试装置的结构示意图;
图7是一实施例提供的一种应用的测试设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本申请所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本领域技术人员应当理解,本申请所称的用户界面、显示界面、显示页面等泛指能够用于向智能终端发送所述控制指令的显示界面,例如,可以是Android/IOS/WindowsPhone系统的设置页面中的一个选项(或按键,由所述应用程序添加其中),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
为了更好地阐释本申请的技术方案,下面示出本方案的应用的测试方法所可以适用的应用环境。图1为一实施例提供的应用的测试方法的应用场景示意图,如图1所示,该应用场景包括终端设备10和服务端20,终端设备10和服务端20通过网络、串口等方式进行连接,以使得服务端20可以访问终端设备10,并对终端设备10进行操作。
其中,终端设备10可以为一个或多个,终端设备10上安装有待测试的应用30,如直播程序中的主播客户端或观众客户端等。终端设备10可以为手机、平板、笔记本电脑等设备,还可以是手机模拟器等。终端设备10可以适用于不同的操作系统,如iOS、Android等。服务端20可以为计算机等设备,服务端20可以基于不同的测试框架。本申请实施例以基于Appium测试框架的服务端为例进行说明,在Appium服务端设置有Appium服务器。
在本申请中,在终端设备10和服务端20连接之后,当需要进行多个应用30(客户端)相互配合的多端测试时,将测试程序发送至服务端20,运行测试程序中的多端调用装置,该多端调用装置用于封装调用多个客户端的属性信息,以供服务端20执行测试程序时调用需要进行测试的客户端。其中,用于调用多个客户端的属性信息可以包括:系统版本及名称、被调用客户端的包名、活动名称、连接Appium的网络地址(IP)和端口(Port)等。
下面,通过具体实施例,对本申请所示的技术方案进行详细说明书。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的概念,在不同的实施例中不再进行赘述。
图2是一实施例提供的一种应用的测试方法的流程图,该测试方法可以执行于Appium服务端,可以适用于在不同的终端设备上对应用进行多端测试的情况。基于测试程序构建一个测试应用,然后将这个测试应用加载到与目标应用相同的终端设备上。在实施例中,测试程序为用户界面自动化程序代码,以对应用进行自动化测试。通过用户界面(User Interface,UI)自动化程序代码,使用UI测试框架来模仿用户在终端设备中需要测试的应用上的操作,以执行涵盖特定使用场景的测试任务。
具体的,如图2所示,该测试方法包括以下步骤:
S110、在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,多个所述客户端为相互配合运行的客户端。
当用户需要进行应用进行多端测试时,用户可以通过网络或串口将终端设备与Appium服务端连接,并启动终端设备。
在本实施例中,需要进行测试的多个客户端需要相互配合运行,如第一客户端发送一个信号给第二客户端和第三客户端,第二客户端和第三客户端分别能够收到该信号并进行相应的操作。可选的,各个客户端安装于不同的测试终端设备中,如第一客户端安装于第一终端设备,第二客户端安装于第二终端设备,第三客户端安装于第三终端设备。可选的,各个客户端的系统版本可以不同,如第一客户端可以是Android系统V1版本,第二客户端可以是iOS版本,第三客户端可以是Android系统V2版本等。
可选的,在测试前,可以先输入命令:adb device,以查看存在设备名称。在终端设备与Appium服务端连接时,初始化一个Session与Appium服务端进行交互,发送Post请求到Appium服务端,其中,该Post请求中包括“Desired Capabilities”的JSON对象,其中,Desired Capabilities的内容包括该客户端的属性信息,如平台版本(PlatformVersion)、系统版本(System Version)、系统名称(System Name)、包名(Package Name)、活动名称(Activity Name)、设备名称(Device Name)等信息,并以JSON格式设置成一套键值对集合,以使得Appium服务端(Appium Server)启动对应的客户端。
用户可以将测试程序加载到Appium服务端。Appium服务端接收到测试程序后,获取需要进行多端测试的多个客户端相对应的属性信息,如系统版本、系统名称、包名、活动名称、设备名称等信息,以确定进行测试的客户端。
S120、根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块。
对于属性信息,可以是用于确定和查找出相对应客户端的一些信息,可以用属性值来表示。在本实施例中,属性信息可以包括客户端所属系统版本及其名称、包名、活动名称、指定连接的Appium服务端的IP和端口等信息。在Appium自动化测试中,所测试的客户端不同,包名和活动名称所对应的参数不同。可选的,在实施例中,通过运行abd命令获取客户端的包名和活动名称,如通过输入:adb pm list packages,以获取已安装客户端的包名。
进一步的,将这些属性信息封装成方法,构造出用于调用这些属性信息相对应的客户端所对应的启动模块。例如,将第一客户端的第一属性信息进行封装,构造出用于调用该第一客户端的第一启动模块,将第二客户端的第二属性信息进行封装,构造出用于调用该第二客户端的第二启动模块等。
S130、在测试过程中,利用各所述启动模块调用其所对应的客户端,并执行所述测试程序中相对应的操作行为进行测试。
在本实施例中,测试程序中的多端调用装置利用不同的启动模块同时调用相对应的多个客户端,以使得多个客户端相互配合运行进行测试。
在进行自动化测试过程中,将测试程序发送给对应的Appium服务端,Appium服务端执行测试程序中的多端调用装置,以利用各启动模块调用其所对应的客户端,并执行测试程序中相对应的操作行为以对客户端进行模拟操作测试。其中,测试程序包括用于对各个客户端进行测试的一个或多个操作行为所对应的程序代码。
由于用户对客户端的操作一般为点击、长按、滑动、输入或输出行为,可选的,操作行为可以包括:长按、点击、滑动、输入和输出中的一种或多种操作行为。在具体的应用中,长按、点击、滑动、输入和输出中的一种或多种操作行为可以分别对应一种或多种动作,如订阅、新建、登录、打开、取消等。
例如,模拟用户A向用户B赠送礼物的测试,在程序测试时,同时利用启动模块调用客户端P和客户端Q,模拟用户A在一客户端P向进行点击操作的测试,该点击操作可能对应礼物赠送的行为,那么在另一客户端Q在接收到礼物赠送的信息,是否进行礼物展示等。测试结果可以包括:接收到礼物的时间间隔和是否接收到礼物的结果等。
本实施例提供的应用的测试方法,通过在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,该客户端为相互配合运行的客户端;根据属性信息分别构造出用于调用各客户端所对应的启动模块;在测试过程中,利用各启动模块调用其所对应的客户端,并执行测试程序中相对应的操作行为进行测试,解决了传统技术中Appium仅能进行单端自动化测试的技术问题,实现了相互配合的多个客户端之间的多端测试,提高了测试效率和交互测试的准确性。
本申请的技术方案可以适用于两个客户端相互配合的多端测试,也可以适用于三个或以上客户端相互配合的多端测试,在三个或以上的客户端的多端测试中,通过构建各客户端所对应的启动模块,在测试过程中,通过各启动模块调用相对应的客户端进行测试。
为了更好地阐释本申请的技术方案,下面以两个客户端相互配合进行多端测试的情况进行示例性说明。
在本实施例中,进行多端测试的客户端可以包括第一客户端和第二客户端。
可选的,第一客户端和第二客户端可以是不同的客户端,例如,在直播领域中,第一客户端可以为主播客户端,第二客户端可以为观众客户端,主播客户端和观众客户端相互配合运行,可以适用于互动测试,如礼物赠送和展示,主播开播后,验证观众订阅该主播的数量等。
在另一实施例中,第一客户端和第二客户端可以是相同的客户端,例如,同为在直播领域,第一客户端可以为第一主播客户端,第二客户端可以为第二主播客户端,两个主播客户端相互配合运行,可以适用于连麦测试的情况等。
进一步的,基于两个客户端相互配合运行进行多端测试的方案中,如图3所示,图3是一实施例提供的启动模块的构造方法的流程图,在该实施例中,步骤S120根据所述属性信息分别构造出用于调用所对应的客户端的多个启动模块,可以包括以下步骤:
S1201、获取第一客户端的第一属性信息,根据所述第一属性信息构造出用于调用所述第一客户端的第一启动模块。
其中,第一属性信息可以包括:第一客户端所属第一系统版本及其名称、第一包名、第一活动名称、所对应连接的第一网络地址和第一端口。
本实施例以第一客户端为观众客户端为例进行说明。获取观众客户端的系统版本及名称为Android v1.0,该观众客户端的包名为A1,活动名称为A2,指定连接的AppiumServer的IP地址为1.0.0.0,端口为M等,将这些属性信息及其对应的参数值封装起来构造出用于调用该观众客户端的启动模块。当然,在其他实施例中,第一属性信息还可以包括其他信息,如需要测试的观众客户端的安装路径、观众客户端所在的第一终端设备的名称(Device Name)等。
当Appium服务端执行观众客户端测试程序时,从观众客户端测试程序中第一启动模块中获取观众客户端的系统版本及其名称、包名、活动名称、指定连接的Appium服务端的IP地址和端口等属性信息,从而确定需要调用进行测试的观众客户端。
S1202、获取第二客户端的第二属性信息,根据所述第二属性信息构造出用于调用所述第二客户端的第二启动模块。
其中,第二属性信息可以包括:第二客户端所属第二系统版本及名称、第二包名、第二活动名称、所对应连接的第二网络地址和第二端口。
本实施例以第二客户端为主播客户端为例进行说明。获取主播客户端的系统版本及名称为Android v2.0,该观众客户端的包名为B1,活动名称为B2,指定连接的Appium服务端的IP地址为2.0.0.0,端口为N等,将这些属性信息及其对应的参数值封装起来构造出用于调用该主播客户端的启动模块。当然,在其他实施例中,第二属性信息还可以包括其他信息,如需要测试的主播客户端的安装路径、主播客户端所在的第二终端设备的名称等。
当Appium服务端执行主播端测试程序时,从主播端测试程序中第二启动模块中获取主播客户端的系统版本及其名称、包名、活动名称、指定连接的Appium服务端的IP地址和端口等属性信息,从而确定需要调用的主播客户端,以对该主播客户端进行测试。
图4是一实施例提供的执行操作行为的测试方法的流程图,如图4所示,在一实施例中,步骤S130中的利用各所述启动模块调用其所对应的客户端,并执行所述测试程序中相对应的操作行为进行测试,可以包括以下步骤:
S1301、利用所述第一启动模块调用所述第一客户端,并将所述测试程序中的第一操作行为发送至第一测试服务端,其中,所述第一测试服务端用于执行所述第一操作行为对所述第一客户端进行模拟测试。
在本实施例以第一客户端为观众客户端继续做示例性说明,其中,第一测试服务端以Appium服务端。
在测试过程中,Appium服务端利用第一启动模块调用观众客户端,并执行用于测试该观众客户端的测试用例中所对应的第一操作行为对观众客户端进行模拟测试。其中,第一操作行为包括点击、长按、滑动、输入和输出操作中的一种或多种。可选的,结合直播场景,可以对应在观众客户端所展开的显示界面的设定位置处进行点击操作,从而对应“订阅主播”、“赠送礼物”、“文字输入”等具体观众客户端的操作行为。
S1302、利用所述第二启动模块调用所述第二客户端,并将所述测试程序中的第二操作行为发送至第二测试服务端,其中,所述第二测试服务端用于执行所述第二操作行为对所述第二客户端进行模拟测试。
在本实施例以第二客户端为主播客户端继续做示例性说明,其中,第二测试服务端以Appium服务端。
在测试过程中,Appium服务端利用第二启动模块调用主播客户端,并执行用于测试该主播客户端的测试用例中所对应的第二操作行为对主播客户端进行模拟测试。其中,第二操作行为包括点击、长按、滑动、输入和输出操作中的一种或多种。可选的,结合直播场景,可以对应在主播客户端所展开的显示界面的设定位置处进行点击、滑动、长按、输入或输出操作,从而对应“查看观众订阅人数”、“接收礼物”、“礼物展示”等具体主播客户端的操作行为。
可选的,在对第一客户端和第二客户端进行测试时,可以将测试结果返回,并以HTML5的形式呈现在用户的测试界面上,便于用户查看测试结果。
图5是一实施例提供的应用的测试方法所对应的框架示意图,如图5所示,第一终端设备连接第一测试服务器,第二终端设备连接第二测试服务器。第一客户端安装于第一终端设备中,第二客户端安装于第二终端设备中。
自动化测试程序中包括多端调用装置所对应的程序代码,多端调用装置负责封装调用第一客户端和第二客户端的属性信息,如封装调用进行测试的终端设备的系统版本及名称,客户端的包名和活动名称,连接的Appium服务器的IP和端口等。
该多端调用装置封装有第一启动模块和第二启动模块。其中,第一启动模块与第一测试服务器连接,用于调用第一客户端;第一启动模块包括第一客户端的属性信息,如第一系统版本及名称、第一客户端的包名、活动名称、连接Appium服务器的IP和端口等。第二启动模块与第二测试服务器连接,用于调用第二客户端;第二启动模块包括第二客户端的属性信息,如第二系统版本及名称、第二客户端的包名、活动名称、连接Appium服务器的IP和端口等。
示例性的,第一客户端为观众客户端,第二客户端为主播客户端。当自动化测试程序启动后,通过调用多端装置模块,填入观众客户端所在终端设备系统版本及名称,观众客户端的包名及活动名称,观众客户端对应Appium服务器的IP及端口,构造出用于调用观众客户端的第一启动模块;同时主播客户端也做相应的操作,填入相应主播客户端所在的终端设备系统版本及名称,主播客户端的包名及活动名称,主播客户端对应Appium服务器的IP及端口,构造出用于调用主播客户端的第二启动模块。
在进行自动化测试过程中,将自动化测试程序发送给对应的测试服务器,如第一测试服务器和第二测试服务器,通过第一测试服务器和第二测试服务器执行测试程序中的多端调用装置,运行第一启动模块和第二启动模块,以利用第一启动模块调用第一客户端,并执行测试程序中相对应的操作行为对第一客户端进行模拟操作测试,以及利用第二启动模块调用第二客户端,并执行测试程序中相对应的操作行为对第二客户端进行模拟操作测试。
为了更好地阐述本申请的技术方案,下面结合直播领域一些应用场景以主播客户端和观众客户端为例相互配合运行进行多端测试。
在一实施例中,在第一客户端为观众客户端,第二客户端为主播客户端时,在对“订阅”场景进行测试时,利用事前根据观众客户端的属性信息构造好的第一启动模块,调起观众客户端,利用事先根据主播客户端的属性信心构造好的第二启动模块,调起主播客户端,以对观众客户端和主播客户端共同进行测试,如,在其中一个流程中,模拟观众用户在观众客户端进入目标主播的频道,执行订阅该主播操作,另一流程中,模拟主播用户登录直播平台,检查公屏的消息确认是否有该观众用户订阅的消息等。
在另一实施例中,在第一客户端为第一主播客户端,第二客户端为第二主播客户端时,在对“连麦”场景进行测试时,利用事前根据第一主播客户端的属性信息构造好的第一启动模块,调起第一主播客户端,利用事先根据第二主播客户端的属性信息构造好的第二启动模块,调起第二主播客户端,以对第一主播客户端和第二主播客户端共同进行测试,如,在其中一个流程中,模拟主播A在第一主播客户端开启视频直播,向主播B发起视频连麦要轻,另一个流程中,模拟主播B开启视频直播后接受主播A的要求等。
本实施例提供的应用的测试方法,直播领域中的主播客户端和观众客户端为例,通过在测试程序启动后,分别获取主播客户端或观众客户端相对应的属性信息;其中,主播客户端和观众客户端为相互配合运行的客户端;根据属性信息分别构造出用于调用各客户端所对应的启动模块;在测试过程中,利用各启动模块调用其所对应的客户端,并执行测试程序中相对应的操作行为进行测试。相对于在传统的Appium自动化测试中仅能进行单端测试的技术问题,无法满足直播领域中多个客户端相互配合运行的测试需要,本方案实现了相互配合的多个客户端之间的多端测试,提高了测试效率和交互测试的准确性,满足测试需求。
下面对应用的测试装置的相关实施例进行详细阐述。
图6是一实施例提供的一种应用的测试装置的结构示意图,如图6所示,该应用的测试装置,适用于多端测试,包括:属性信息获取模块110、启动模块构造模块120和操作行为测试模块130。
其中,属性信息获取模块110,用于在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,多个所述客户端为相互配合运行的客户端;
启动模块构造模块120,用于根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块;
操作行为测试模块130,用于在测试过程中,利用各所述启动模块调用其所对应的客户端,执行所述测试程序中相对应的操作行为对所述客户端进行测试。
本实施例提供的应用的测试装置,属性信息获取模块通过在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,该客户端为相互配合运行的客户端;启动模块构造模块根据属性信息分别构造出用于调用各客户端所对应的启动模块;在测试过程中,操作行为测试模块利用各启动模块调用其所对应的客户端,并执行测试程序中相对应的操作行为进行测试,已解决传统技术中Appium自动化测试仅能进行单端测试的技术问题,以实现多个客户端相互配合的多端测试,提高了测试效率和交互测试的准确性。
在一实施例中,所述启动模块构造模块包括:第一启动模块构造单元和第二启动模块构造单元;
其中,第一启动模块构造单元,用于获取第一客户端的第一属性信息,根据所述第一属性信息构造出用于调用所述第一客户端的第一启动模块;第二启动模块构造单元,用于获取第二客户端的第二属性信息,根据所述第二属性信息构造出用于调用所述第二客户端的第二启动模块。
在一实施例中,操作行为测试模块包括:第一操作行为测试单元和第二操作行为测试单元;
其中,第一操作行为测试单元,用于利用所述第一启动模块调用所述第一客户端,并将所述测试程序中的第一操作行为发送至第一测试服务端,其中,所述第一测试服务端用于执行所述第一操作行为对所述第一客户端进行模拟测试;第二操作行为测试单元,用于利用所述第二启动模块调用所述第二客户端,并将所述测试程序中的第二操作行为发送至第二测试服务端,其中,所述第二测试服务端用于执行所述第二操作行为对所述第二客户端进行模拟测试。
在一实施例中,所述测试程序为用户界面自动化测试程序;所述第一客户端包括主播客户端,所述第二客户端包括观众客户端。
在一实施例中,所述操作行为包括长按、点击、滑动、输入和输出中的一种或多种操作行为。
在一实施例中,所述属性信息包括:各所述客户端的系统版本及其名称、包名、活动名称、所对应连接的网络地址和端口中的一种或多种。
在一实施例中,所述第一属性信息包括:第一客户端的第一系统版本及其名称、第一包名、第一活动名称、所对应连接的第一网络地址和第一端口;
所述第二属性信息包括:第二客户端的第二系统版本及名称、第二包名、第二活动名称、所对应连接的第二网络地址和第二端口。
上述提供的应用的测试装置可用于执行上述任意实施例提供的应用的测试方法,具备相应的功能和有益效果。
图7是一实施例提供的一种应用的测试设备的结构示意图,如图7所示,该应用的测试设备包括处理器60、存储器61、输入装置62以及输出装置63。存储器61上存储有可在处理器60上运行的计算机程序,处理器60执行所述程序时实现如上述任一实施例中的应用的测试方法。
该应用的测试设备中处理器60的数量可以是一个或多个,图7以一个处理器60为例。该应用的测试设备中存储器61的数量可以是一个或者多个,图7中以一个存储器61为例。该应用的测试设备的处理器60和存储器61可以通过总线或者其他方式连接,图7中以通过总线连接为例。实施例中,应用的测试设备可以是电脑或服务器等。实施例中,以应用的测试设备为Appium服务器为例,进行描述。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本方案任意实施例所述的应用的测试方法对应的程序指令/模块(例如,属性信息获取模块110、启动模块构造模块120和操作行为测试模块130)。存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或者字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置63可以包括扬声器等音频设备。需要说明的是,输入装置62和输出装置63的具体组成可以根据实际情况设定。
处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的应用的测试方法。
上述提供的计算机设备执行上述任意实施例提供的应用的测试方法时,具备相应的功能和有益效果。
本实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用的测试方法,包括:
在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,多个所述客户端为相互配合运行的客户端;
根据所述属性信息分别构造出用于调用所对应的客户端的多个启动模块;
在测试过程中,利用各所述启动模块调用其所对应的客户端,并执行所述测试程序中相对应的操作行为进行测试。
当然,本实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用的测试方法操作,还可以执行任意实施例所提供的应用的测试方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本方案可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行本方案任意实施例所述的应用的测试方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种应用的测试方法,其特征在于,适用于多端测试,所述测试方法包括以下步骤:
在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,多个所述客户端为相互配合运行的客户端;
根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块;
在测试过程中,利用各所述启动模块调用其所对应的客户端,执行所述测试程序中相对应的操作行为对所述客户端进行测试。
2.根据权利要求1所述的应用的测试方法,其特征在于,所述客户端包括第一客户端和第二客户端;
所述根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块的步骤包括:
获取第一客户端的第一属性信息,根据所述第一属性信息构造出用于调用所述第一客户端的第一启动模块;
获取第二客户端的第二属性信息,根据所述第二属性信息构造出用于调用所述第二客户端的第二启动模块。
3.根据权利要求2所述的应用的测试方法,其特征在于,所述利用各所述启动模块调用其所对应的客户端,执行所述测试程序中相对应的操作行为对所述客户端进行测试的步骤包括:
利用所述第一启动模块调用所述第一客户端,并将所述测试程序中的第一操作行为发送至第一测试服务端,其中,所述第一测试服务端用于执行所述第一操作行为对所述第一客户端进行模拟测试;
利用所述第二启动模块调用所述第二客户端,并将所述测试程序中的第二操作行为发送至第二测试服务端,其中,所述第二测试服务端用于执行所述第二操作行为对所述第二客户端进行模拟测试。
4.根据权利要求2或3所述的应用的测试方法,其特征在于,所述测试程序为用户界面自动化测试程序;
所述第一客户端包括主播客户端,所述第二客户端包括观众客户端。
5.根据权利要求1至3任一项所述的应用的测试方法,其特征在于,所述操作行为包括长按、点击、滑动、输入和输出中的一种或多种操作行为。
6.根据权利要求2所述的应用的测试方法,其特征在于,所述属性信息包括:各所述客户端的系统版本及其名称、包名、活动名称、所对应连接的网络地址和端口中的一种或多种。
7.根据权利要求6所述的应用的测试方法,其特征在于,所述第一属性信息包括:第一客户端的第一系统版本及其名称、第一包名、第一活动名称、所对应连接的第一网络地址和第一端口;
所述第二属性信息包括:第二客户端的第二系统版本及名称、第二包名、第二活动名称、所对应连接的第二网络地址和第二端口。
8.一种应用的测试装置,其特征在于,适用于多端测试,包括:
属性信息获取模块,用于在测试程序启动后,分别获取多个客户端相对应的属性信息;其中,多个所述客户端为相互配合运行的客户端;
启动模块构造模块,用于根据所述属性信息分别构造出用于调用各所述客户端所对应的启动模块;
操作行为测试模块,用于在测试过程中,利用各所述启动模块调用其所对应的客户端,执行所述测试程序中相对应的操作行为对所述客户端进行测试。
9.一种应用的测试设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的应用的测试方法的步骤。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一项所述应用的测试方法的步骤。
CN201910894041.2A 2019-09-20 2019-09-20 应用的测试方法、装置、设备和存储介质 Pending CN110674040A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910894041.2A CN110674040A (zh) 2019-09-20 2019-09-20 应用的测试方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910894041.2A CN110674040A (zh) 2019-09-20 2019-09-20 应用的测试方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN110674040A true CN110674040A (zh) 2020-01-10

Family

ID=69077133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910894041.2A Pending CN110674040A (zh) 2019-09-20 2019-09-20 应用的测试方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110674040A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831566A (zh) * 2020-07-17 2020-10-27 北京字节跳动网络技术有限公司 测试方法、装置、电子设备和计算机可读存储介质
CN112328492A (zh) * 2020-11-19 2021-02-05 腾讯科技(深圳)有限公司 一种主播间的互动控制方法、装置和电子设备
CN112835761A (zh) * 2021-01-27 2021-05-25 广州虎牙科技有限公司 直播软件性能数据采集方法、装置、电子设备及存储介质
CN113672505A (zh) * 2021-08-05 2021-11-19 浙江万朋教育科技股份有限公司 一种多终端交互自动化回归测试的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028828A1 (en) * 2001-07-30 2003-02-06 Atsushi Kakimoto Load test execution apparatus, load test execution system, method thereof and program thereof
CN107590062A (zh) * 2016-07-06 2018-01-16 阿里巴巴集团控股有限公司 一种多客户端交互的测试方法和装置
CN110048908A (zh) * 2019-04-15 2019-07-23 网易(杭州)网络有限公司 网络测试平台、网络测试方法以及装置
CN110188043A (zh) * 2019-05-27 2019-08-30 上海上湖信息技术有限公司 一种控制多台设备测试的方法及控制设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028828A1 (en) * 2001-07-30 2003-02-06 Atsushi Kakimoto Load test execution apparatus, load test execution system, method thereof and program thereof
CN107590062A (zh) * 2016-07-06 2018-01-16 阿里巴巴集团控股有限公司 一种多客户端交互的测试方法和装置
CN110048908A (zh) * 2019-04-15 2019-07-23 网易(杭州)网络有限公司 网络测试平台、网络测试方法以及装置
CN110188043A (zh) * 2019-05-27 2019-08-30 上海上湖信息技术有限公司 一种控制多台设备测试的方法及控制设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831566A (zh) * 2020-07-17 2020-10-27 北京字节跳动网络技术有限公司 测试方法、装置、电子设备和计算机可读存储介质
CN112328492A (zh) * 2020-11-19 2021-02-05 腾讯科技(深圳)有限公司 一种主播间的互动控制方法、装置和电子设备
CN112835761A (zh) * 2021-01-27 2021-05-25 广州虎牙科技有限公司 直播软件性能数据采集方法、装置、电子设备及存储介质
CN113672505A (zh) * 2021-08-05 2021-11-19 浙江万朋教育科技股份有限公司 一种多终端交互自动化回归测试的方法
CN113672505B (zh) * 2021-08-05 2024-04-19 浙江万朋教育科技股份有限公司 一种多终端交互自动化回归测试的方法

Similar Documents

Publication Publication Date Title
CN110674040A (zh) 应用的测试方法、装置、设备和存储介质
CN113497945B (zh) 基于云手机的直播和配置方法以及相关装置和系统
CN103595766B (zh) 实现扩展应用程序的推送通知的方法及装置
CN108965932B (zh) 一种连麦窗口展示方法及装置
CN113727130B (zh) 直播间的消息提示方法、系统、装置及计算机设备
US10972511B2 (en) Streaming relay for digital signage
KR20200037415A (ko) 정보 푸싱 방법, 저장 매체, 단말기 디바이스, 및 서버
CN113663325B (zh) 虚拟场景中团队的创建方法、加入方法、装置及存储介质
CN107748690A (zh) 应用跳转方法、装置和计算机存储介质
CN111901695B (zh) 视频内容截取方法、装置和设备及计算机存储介质
US20230043203A1 (en) Data processing method and apparatus for virtual scene, electronic device, and storage medium
CN113672405A (zh) 数据交互系统和基于数据交互系统的页面展示方法
CN110020389A (zh) 直播间显示页面的方法、装置、系统、设备和存储介质
CN107783807B (zh) 一种屏幕截图的方法及装置
CN112309187A (zh) 一种虚拟现实教学方法、装置及系统
CN109151541A (zh) 主播离开的提示弹框的实现方法、存储介质、设备及系统
CN114168460A (zh) 混合开发中前端代码的远程调试方法、设备及存储介质
CN112882849A (zh) 云应用中的信息推荐方法、装置、系统、设备及存储介质
CN113656091B (zh) 独立开播进程的实现方法以及相关装置、设备
CN108377243B (zh) 一种直播流的传输方法及装置
CN111314462A (zh) 资源处理方法、设备及存储介质
CN109663361B (zh) 游戏应用程序自登录方法、装置、终端及存储介质
CN107888990B (zh) 一种直播中隐藏入口打开方法及装置
CN115052186B (zh) 投屏方法及相关设备
CN115037978B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200110