CN114092169A - 下单测试方法和系统以及执行下单测试方法的设备 - Google Patents
下单测试方法和系统以及执行下单测试方法的设备 Download PDFInfo
- Publication number
- CN114092169A CN114092169A CN202011127997.9A CN202011127997A CN114092169A CN 114092169 A CN114092169 A CN 114092169A CN 202011127997 A CN202011127997 A CN 202011127997A CN 114092169 A CN114092169 A CN 114092169A
- Authority
- CN
- China
- Prior art keywords
- ordering
- test
- order
- placing
- test task
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 46
- 238000012360 testing method Methods 0.000 claims abstract description 347
- 238000013515 script Methods 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004883 computer application Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 10
- 229910052711 selenium Inorganic materials 0.000 description 10
- 239000011669 selenium Substances 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 125000003748 selenium group Chemical group *[Se]* 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提出一种下单测试方法和系统以及执行下单测试方法的设备,涉及计算机应用领域。其中的方法包括:接收下单测试任务;根据所述下单测试任务的下单场景参数和下单策略参数,获取所述下单测试任务相应的下单脚本工程,根据所述下单测试任务的下单策略参数,选择所述下单测试任务相应的下单测试工具,根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度相应的测试机执行所述下单测试任务,获取所述下单测试任务的执行结果,从而实现了支持多种下单策略的自动下单测试方案。
Description
技术领域
本公开涉及计算机应用领域,特别涉及一种下单测试方法和系统以及执行下单测试方法的设备。
背景技术
电商平台为用户提供了各种各样的下单服务,使得用户可以通过不同的渠道不同的方式对电商平台中的商品进行下单。电商平台为用户提供的下单策略例如包括:移动终端的应用程序、移动终端的网页、个人电脑的网页等。
为了保障下单服务质量,需要对电商平台的下单服务进行测试。发明人发现,相关技术仅支持针对一种下单策略单独地进行自动下单测试。
发明内容
本公开实施例提供了一种支持多种下单策略的自动下单测试方案。
本公开一些实施例提出一种下单测试方法,包括:
接收下单测试任务;
根据所述下单测试任务的下单场景参数和下单策略参数,获取所述下单测试任务相应的下单脚本工程;
根据所述下单测试任务的下单策略参数,选择所述下单测试任务相应的下单测试工具;
根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度相应的测试机执行所述下单测试任务;以及
获取所述下单测试任务的执行结果。
在一些实施例中,获取所述下单测试任务相应的下单脚本工程包括:根据所述下单测试任务的下单场景参数和下单策略参数,从测试基础数据中选择下单场景参数相应的下单场景数据和下单策略参数相应的下单策略脚本;以及将下单场景数据和下单策略脚本组装成所述下单测试任务相应的下单脚本工程。
在一些实施例中,获取所述下单测试任务相应的下单脚本工程包括:根据所述下单测试任务的下单场景参数和下单策略参数,从分布式版本控制系统获取所述下单测试任务的最新版本的下单脚本工程。
在一些实施例中,选择所述下单测试任务相应的下单测试工具包括:如果所述下单测试任务的下单策略参数属于移动端相关的应用程序、小程序或网页的下单策略,选择移动端测试工具;或者,如果所述下单测试任务的下单策略参数属于Web应用程序相关的下单策略,选择基于浏览器的Web应用程序测试工具。
在一些实施例中,下单脚本工程包括:运行类和记录文件,记录文件被配置为在运行类执行时记录下单脚本工程中的脚本的运行信息,并在执行完毕后被上传到公共服务;其中,获取所述下单测试任务的执行结果包括:从所述公共服务获取所述下单测试任务的记录文件,从所述下单测试任务的记录文件中获取所述下单测试任务的执行结果。
在一些实施例中,还包括:如果执行下单测试方法的设备与执行所述下单测试任务的测试机位于不同的网络,在执行下单测试方法的设备与执行所述下单测试任务的测试机的浏览器之间建立用于传输信息的websocket通道;其中,调度相应的测试机执行所述下单测试任务包括:执行下单测试方法的设备将所述下单测试任务的信息通过websocket通道发送给相应的测试机的浏览器,测试机的浏览器将所述下单测试任务的信息转发给测试机的本地服务,以便测试机执行所述下单测试任务。
在一些实施例中,还包括:执行下单测试方法的设备与移动终端类型的每个测试机分别建立独立的websocket通道,用于传输下单测试任务的信息、执行过程的视频截图和执行结果,并在屏幕上为移动终端类型的每个测试机创建独立的显示位置,用于显示相应的移动终端类型的测试机的监控信息,其中,监控信息包括单测试任务的执行过程的视频截图。
在一些实施例中,下单策略参数对应的下单策略包括:移动终端的应用程序、移动终端的小程序、移动终端的网页、个人电脑的网页、接口。
本公开一些实施例提出一种执行下单测试方法的设备,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行任一个实施例的下单测试方法。
本公开一些实施例提出一种下单测试系统,包括:执行下单测试方法的设备,以及测试机,被配置为根据执行下单测试方法的设备指示的下单测试任务的信息执行所述下单测试任务,并返回所述下单测试任务的执行结果。
本公开一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一个实施例的下单测试方法的步骤。
附图说明
下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开。
显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开一些实施例的下单测试方法的流程示意图。
图2示出本公开一些实施例的下单测试系统的示意图。
图3示出本公开一些实施例的下单测试系统的软件架构示意图。
图4为本公开一些实施例的执行下单测试方法的设备的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
图1示出本公开一些实施例的下单测试方法的流程示意图。下单测试方法例如可以由执行下单测试方法的设备(如服务器)执行,但不限于所举示例。
如图1所示,该实施例的下单测试方法包括:步骤110-150。
在步骤110,接收下单测试任务。
下单测试任务例如可以是定时触发的下单测试任务或者临时制定的下单测试任务。
下单测试任务例如可以根据需要测试的下单系统的各种服务功能确定。下单测试任务例如可以测试人员制定。
下单测试任务例如可以指定相应的下单场景参数和下单策略参数等任务信息。
其中,下单场景参数对应的下单场景例如包括:选择的商品方式(如业务方式和链接方式)、业务场景(如场景集合页、推荐集合页、商品收购、红人小店等)、推广链接方式(如自动获取线上推广链接或是从参数化数据中传入链接)、是否同店或跨店、下单终端类型(如Android、iOS或PC等)、下单终端操作系统位数(如32位和64位)、下单终端厂商类型、商品类型等,但不限于所举示例。
其中,下单策略参数对应的下单策略例如包括:移动终端的应用程序(简称APP端)、移动终端的小程序、移动终端的网页(简称M端)、个人电脑的网页(简称Web端)、接口等,但不限于所举示例。
在步骤120,根据所述下单测试任务的下单场景参数和下单策略参数,获取所述下单测试任务相应的下单脚本工程。
在一些实施例中,获取所述下单测试任务相应的下单脚本工程包括:根据所述下单测试任务的下单场景参数和下单策略参数,从测试基础数据中选择下单场景参数相应的下单场景数据和下单策略参数相应的下单策略脚本,以及,将下单场景数据和下单策略脚本组装成所述下单测试任务相应的下单脚本工程。其中,测试基础数据例如包括可能的各种下单测试任务的所有下单场景数据和下单策略脚本。
通过参数化组装方式,从测试基础数据选择某个下单测试任务相关的下单场景数据和下单策略脚本,并组装形成下单测试任务相应的下单脚本工程,可以快速和便利地得到各个单测试任务相应的下单脚本工程。
在一些实施例中,下单测试任务的各个版本的下单脚本工程可以上传到分布式版本控制系统(如Git,一种开源的分布式版本控制系统),以后测试时,根据本次的下单测试任务的下单场景参数和下单策略参数,从分布式版本控制系统获取该下单测试任务的最新版本的下单脚本工程。
从而,在分布式下单测试场景中,实现下单脚本工程的版本管理,获取最新版本的下单脚本工程。
其中,下单脚本工程包括:脚本、运行类和记录文件等,其中,记录文件被配置为在运行类执行时记录下单脚本工程中的脚本的运行信息,并可以在执行完毕后被上传到公共服务,方便执行下单测试方法的设备从所述公共服务获取所述下单测试任务的记录文件。
在步骤130,根据所述下单测试任务的下单策略参数,选择所述下单测试任务相应的下单测试工具。
在一些实施例中,选择所述下单测试任务相应的下单测试工具包括:如果所述下单测试任务的下单策略参数属于移动端相关的应用程序、小程序或网页的下单策略,选择移动端测试工具(如Airtest,一种开源的移动端自动化测试工具);或者,如果所述下单测试任务的下单策略参数属于Web应用程序相关的下单策略,选择基于浏览器的Web应用程序测试工具(如Selenium,一种开源的基于浏览器的自动化测试工具);如果下单测试任务的下单策略参数属于接口类型相关的下单策略,可以不使用下单测试工具。
在步骤140,根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度相应的测试机执行所述下单测试任务。
测试机根据下单测试任务相应的下单脚本工程和下单测试工具,利用下单测试工具按照下单脚本工程执行该下单测试任务。在测试机获得下单测试任务的相关信息后,具体执行下单测试任务的过程可以参考相关技术,这里不再赘述。
在一些实施例中,如果执行下单测试方法的设备与执行所述下单测试任务的测试机位于不同的网络,例如分别位于内网和外网,为了方便执行下单测试方法的设备与执行所述下单测试任务的测试机之间的通信,可以在执行下单测试方法的设备与执行所述下单测试任务的测试机的浏览器之间建立用于传输信息的websocket通道。则,调度相应的测试机执行所述下单测试任务包括:执行下单测试方法的设备将所述下单测试任务的信息通过websocket通道发送给相应的测试机的浏览器,测试机的浏览器将所述下单测试任务的信息转发给测试机的本地服务,以便测试机执行所述下单测试任务。从而,使得测试不受位置的限制,在内外网均可进行测试。
在步骤150,获取所述下单测试任务的执行结果。
在一些实施例中,获取所述下单测试任务的执行结果包括:从所述公共服务获取所述下单测试任务的记录文件,从所述下单测试任务的记录文件中获取所述下单测试任务的执行结果。
此外,如果测试机是移动终端(如手机等),为了实现对移动终端类型的多个测试机的管理,执行下单测试方法的设备与移动终端类型的每个测试机分别建立独立的websocket通道,用于传输下单测试任务的信息、执行过程的视频截图和执行结果,并在屏幕上为移动终端类型的每个测试机创建独立的显示位置,用于显示相应的移动终端类型的测试机的监控信息,其中,监控信息包括单测试任务的执行过程的视频截图或测试机状态等信息。从而,通过一个屏幕就可以监控多个移动终端的测试执行情况。
上述实施例,根据所述下单测试任务的下单场景参数和下单策略参数,获取所述下单测试任务相应的下单脚本工程,根据所述下单测试任务的下单策略参数,选择所述下单测试任务相应的下单测试工具,根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度相应的测试机执行所述下单测试任务,获取所述下单测试任务的执行结果,从而实现了支持多种下单策略的自动下单测试方案。
图2示出本公开一些实施例的下单测试系统的示意图。
如图2所示,该实施例的下单测试系统200包括:执行下单测试方法的设备210,以及至少一个测试机220。
执行下单测试方法的设备210,被配置为接收下单测试任务;根据所述下单测试任务的下单场景参数和下单策略参数,获取所述下单测试任务相应的下单脚本工程;根据所述下单测试任务的下单策略参数,选择所述下单测试任务相应的下单测试工具;根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度相应的测试机执行所述下单测试任务;以及获取所述下单测试任务的执行结果。
测试机220,被配置为根据执行下单测试方法的设备210指示的下单测试任务的信息执行所述下单测试任务,并返回所述下单测试任务的执行结果。
图3示出本公开一些实施例的下单测试系统的软件架构示意图。
如图3所示,下单测试系统200的软件架构300包括:数据层310、服务层320、调度层330、业务层340和输出层350。
其中,数据层310、服务层320、调度层330和输出层350例如可以部署在执行下单测试方法的设备210上,业务层340例如可以部署在测试机220上。
数据层310例如包括测试数据TestData和测试脚本TestScript等测试基础数据。其中,测试数据提供多种下单场景需要的数据(即下单场景数据),测试脚本提供多种下单策略的脚本(即下单策略脚本)。下单场景和下单策略的示例参考前述,这里不再赘述。
服务层320例如包括移动端测试工具(如Airtest)、Web应用程序测试工具(如Selenium)、数据存储服务DataStore、内外网通信服务、移动终端(如手机)管理服务等部分。下面分别描述各个部分。
移动端测试工具(如Airtest或AirtestLib)基于Airtest框架支撑运行移动设备的APP端、小程序端和M端的自动化下单脚本。Airtest脚本开发完毕后,形成以.air结尾的下单脚本工程文件,运行时默认读取.air结尾的文件夹获取下单脚本工程。下单脚本工程中创建了运行类和记录文件(如ymal文件),记录文件被配置为在运行类执行时记录下单脚本工程中的脚本的运行信息,如脚本的运行顺序和需要运行的脚本等,并可以在执行完毕后被上传到公共服务,以便后续可以从公共服务获取记录文件,并获知脚本的执行情况。
Web应用程序测试工具(如Selenium)能够提供运行个人电脑(PersonalComputer,PC)的Web应用自动化下单服务。
数据存储服务DataStore基于数据层提供的测试基础数据组织存储某些下单测试任务相关的下单场景数据和下单策略脚本。测试人员可以根据业务特点组织自己的下单测试任务,例如,通过归类对同一模块或同一业务线的测试场景进行分组形成一类下单测试任务,并提供对下单测试任务进行新增、删除、修改和查询等管理功能。
内外网通信服务用于解决内网(如生产环境)与外网(如办公环境)之间的通信问题。在内网设备(如执行下单测试方法的设备)与外网设备(如执行下单测试任务的测试机)的浏览器之间建立用于传输信息的websocket通道。内网设备(如执行下单测试方法的设备)将所述下单测试任务的信息通过websocket通道发送给相应的外网设备(如执行下单测试任务的测试机)的浏览器,外网设备(如执行下单测试任务的测试机)的浏览器将所述下单测试任务的信息转发给外网设备(如执行下单测试任务的测试机)的本地服务,以便外网设备(如执行下单测试任务的测试机)执行所述下单测试任务。
移动终端管理服务实时管理部署在系统中的手机(Android和iOS)等移动终端。开发设备列表接口与实现,用于返回移动终端的机型、系统、设备标识符UDID、状态、分辨率、IP、电量等信息。执行下单测试方法的设备与移动终端类型的每个测试机分别建立独立的websocket通道,用于传输下单测试任务的信息、执行过程的视频截图和执行结果,并在屏幕上为移动终端类型的每个测试机创建独立的显示位置,用于显示相应的移动终端类型的测试机的监控信息,其中,监控信息包括单测试任务的执行过程的视频截图。从而,实时监测连接执行下单测试方法的设备210的手机等移动终端的数量,实现远程操控多个移动终端、一个电脑屏幕展示多个移动终端屏幕,远程实时监控各个移动终端的状态以及用例执行现场。其中,Android移动终端的远程控制可以基于minicap+minitouch+atx-agent实现,iOS移动终端的远程控制可以基于appium fork的WebDriverAgent实现。因为appium在WDA中增加了MJPEG Server的功能。采用基于python的轻量级web框架的tornado搭建服务,能够支持异步非阻塞IO处理请求,具有出色的抗负载能力。其中,显示前端可以使用vue语言创建每个手机显示在屏幕上的视频流位置,根据每个手机显示位置的id元素来绑定触发创建每个手机的WebSocket通信服务,保证每个手机显示的视频流服务是独立的,互不影响的。此外,可以使用imagepool线程池来触发图片流,保证手机屏幕显示的流畅性。
调度层330通过持续集成工具(如Jenkins)进行下单测试任务的调度、分发和管理。其中,下单测试任务例如可以是定时触发的下单测试任务或者临时制定的下单测试任务。针对下单测试任务,基于数据层的测试基础数据选择下单场景数据和需要运行的脚本以及规定脚本的运行顺序,并可以将下单测试任务相关的下单场景数据和下单策略脚本等下单脚本工程存储到数据存储服务DataStore,从而实现任务管理。开始测试时,Jenkins从数据存储服务DataStore拉取下单测试任务相应的下单脚本工程,发给测试机,使得测试机利用下单测试工具按照下单脚本工程执行该下单测试任务,并将记录下单测试任务的执行结果的记录文件上传到公共服务。测试结束后,Jenkins可以从公共服务获取记录文件,以获取下单测试任务的执行结果。
业务层340根据调度层330指示的下单测试任务的下单脚本工程等任务信息,执行下单测试任务。下单测试任务分为自动化定时场景和定制化场景两种方式。根据下单策略,APP、小程序和M端的下单测试任务在移动终端类型的测试机上执行,web端的下单测试任务在PC浏览器类型的测试机上执行,接口层面的下单测试任务基于业务系统的接口执行。业务层340执行下单测试任务的同时,可以由服务层320进行日志的收集,方便排查任务执行过程中出现异常问题的原因以及查阅每个任务的执行过程。
输出层350输出下单测试任务的执行结果。任务执行完成后,将执行结果拷贝到这个公共服务中,通过访问公共服务,就能访问到下单测试任务的执行结果。还可以将下单测试任务的执行结果以邮件的形式发送给相关人员。下单测试任务的执行结果包括整个运行过程中的脚本执行日志、各个步骤的截图、测试报告、订单详情等。
下面描述下单测试过程。
首先,开启一个下单接口,可以包括下单场景参数和下单策略参数等信息,例如{“id”:1,“PromotionLinksType”:1,“PromotionLinks”:“http://www.jd.com”,“BusinessType”:“1”,“policy”:“app”},其中,id表示下单测试任务的标识,PromotionLinksType表示推广链接类型,PromotionLinks表示推广链接,BusinessType表示下单场景类型,policy表示下单策略。
然后,生成数据存储逻辑,即,调度层330根据下单接口传过来的下单测试任务的参数,为该下单测试任务生成一条数据,用来记录这些参数,将参数相应的下单场景数据和下单策略脚本组装成下单测试任务相应的下单脚本工程,并发送给相应的测试机执行。其中,下单测试任务的各种参数和下单脚本工程可以存储在服务层320的数据存储服务中。
然后,测试机根据下单脚本工程执行下单测试任务,下单测试任务的执行结果,例如,成功或失败等,可以更新到服务层320的数据存储服务中该下单测试任务相应的数据记录中。
下面描述web端下单测试过程。
调度层330Jenkins接收到下单测试任务(定制化下单测试任务或定时下单测试任务),根据所述下单测试任务的下单场景参数和下单策略参数“web端”,获取所述下单测试任务相应的下单脚本工程(若是定制化下单测试任务,基于数据层310提供的测试基础数据生成所述下单测试任务相应的下单脚本工程,并存储到服务层320的数据存储服务;若是定时下单测试任务,从服务层320的数据存储服务获取所述下单测试任务相应的下单脚本工程),根据所述下单测试任务的下单策略参数“web端”,选择所述下单测试任务相应的下单测试工具“Selenium”,根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度业务层340的个人电脑类型的测试机执行所述下单测试任务。个人电脑类型的测试机通过对应的浏览器驱动(driver)连接到Selenium Server(服务器),连接起来后创建会话(session)。个人电脑类型的测试机的浏览器通过HTTP(Hyper Text Transfer Protocol,超文本传输协议)方式向Selenium Server发送下单测试任务相关的Http请求,SeleniumServer对Http请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。个人电脑类型的测试机的浏览器收到新的页面请求信息,于是发送Http请求,请求新的web页面。Selenium Server会接收到所有由它启动的浏览器发送的请求。Selenium Server接收到浏览器发送的Http请求后,重组Http请求,获取对应的web页面,Selenium Server的Http Proxy把接收的Web页面返回给浏览器,包括成功或失败的结果。最后,利用输出层350的前端展示功能,把执行结果展现出来,有下单详情、下单报告和截图及日志等,可供查看详细下单过程,以及分析失败下单场景的原因。
下面描述移动端的APP、小程序和M端的下单测试过程。
调度层330Jenkins接收到下单测试任务(定制化下单测试任务或定时下单测试任务),根据所述下单测试任务的下单策略参数(如移动端APP)确定测试机是移动终端类型的测试机(如手机),监听当前网络中是否有连接状态的手机,如果没有,则返回异常提示,如果有,继续进行下一步操作。由于通常情况下手机与执行下单测试方法的设备分别位于外网和内网等不同的网络,因此,利用服务层320的内外网通信服务建立执行下单测试方法的设备与手机之间的通信。调度层330Jenkins根据所述下单测试任务的下单场景参数和下单策略参数(如移动端APP),获取所述下单测试任务相应的下单脚本工程(具体参考web端下单测试过程),根据所述下单测试任务的下单策略参数“移动端APP”,选择所述下单测试任务相应的下单测试工具“Airtest”,然后通过服务层320的移动终端管理服务实时操作与查看当前网络中的移动终端(如手机),根据下单场景参数规定的移动终端类型(如Android、iOS等),选择要执行下单测试任务的移动终端,然后,根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度选出的业务层340的移动终端类型的测试机(如手机)执行所述下单测试任务。最后,利用输出层350的前端展示功能,把执行结果展现出来,有下单详情、下单报告和截图及日志等,可供查看详细下单过程,以及分析失败下单场景的原因。
此外,通过一个屏幕可以监控多个手机的执行情况。监控设备(如执行下单测试方法的设备)的浏览器根据测试机(手机)的类型是Android或者iOS,启动Android canvas(画布)或iOS canvas;Android canvas启动之后调用Android mirror display(镜像显示)方法,然后触发这个手机单独的websocket服务;iOS canvas启动之后调用iOS mirrordisplay方法,然后触发这个手机单独的websocket服务;每个手机有各自的imagepool(图像池)和图像流,通过各自的websocket服务来实时同步到监控设备的浏览器上,分别独立地呈现各个手机的实时状态,不同手机之间互不干扰,从而实现了实时在一个浏览器查看多个手机的执行情况。
下面描述基于接口的下单测试过程。
调度层330Jenkins接收到下单测试任务(定制化下单测试任务或定时下单测试任务),根据所述下单测试任务的下单场景参数和下单策略参数“接口”,获取所述下单测试任务相应的下单脚本工程(具体参考web端下单测试过程),根据所述下单测试任务的下单策略参数“接口”,无需借助下单测试工具,根据所述下单测试任务相应的下单脚本工程,调度业务层340的接口执行所述下单测试任务。最后,利用输出层350的前端展示功能,把执行结果展现出来,有下单详情、下单报告和截图及日志等,可供查看详细下单过程,以及分析失败下单场景的原因。在一些实施例中,可以基于maven方案执行测试,最后输出测试结果。详细过程为:Maven test执行的时候是基于TestNG的多线程来调度执行,下单场景脚本又由多个基于XML编写的下单脚本组成的suite,通过对应的场景执行对应该场景下的测试脚本。在执行脚本的时候是通过两种方式来提供传入参数的:Parameter传入参数和DataProvider传入参数两种形式,由Rest-Asserd组织HTTP接口的请求,请求后解析请求结果,然后对请求结果作断言,判断下单是否成功。同时,在接口下单的模块中,可以封装好一系列的工具类,比如Cookie&oAuthToken公共类(实现登录认证)、文件读写类(通用文件读写方法类)、重试机制(即执行失败后重新执行第二次)和环境管理(测试环境和线上环境的环境参数管理类)。
图4为本公开一些实施例的执行下单测试方法的设备的示意图。
如图4所示,该实施例的执行下单测试方法的设备210包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行前述任意一些实施例中的下单测试方法。
例如,接收下单测试任务;根据所述下单测试任务的下单场景参数和下单策略参数,获取所述下单测试任务相应的下单脚本工程;根据所述下单测试任务的下单策略参数,选择所述下单测试任务相应的下单测试工具;根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度相应的测试机执行所述下单测试任务;以及获取所述下单测试任务的执行结果。
其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
执行下单测试方法的设备210还可以包括输入输出接口430、网络接口440、存储接口450等。这些接口430,440,450以及存储器410和处理器420之间例如可以通过总线460连接。其中,输入输出接口430为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口440为各种联网设备提供连接接口。存储接口450为SD卡、U盘等外置存储设备提供连接接口。
本公开实施例还提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一个实施例的下单测试方法的步骤。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机程序代码的非瞬时性计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (11)
1.一种下单测试方法,其特征在于,包括:
接收下单测试任务;
根据所述下单测试任务的下单场景参数和下单策略参数,获取所述下单测试任务相应的下单脚本工程;
根据所述下单测试任务的下单策略参数,选择所述下单测试任务相应的下单测试工具;
根据所述下单测试任务相应的下单脚本工程和下单测试工具,调度相应的测试机执行所述下单测试任务;以及
获取所述下单测试任务的执行结果。
2.根据权利要求1所述的方法,其特征在于,获取所述下单测试任务相应的下单脚本工程包括:
根据所述下单测试任务的下单场景参数和下单策略参数,从测试基础数据中选择下单场景参数相应的下单场景数据和下单策略参数相应的下单策略脚本;以及
将下单场景数据和下单策略脚本组装成所述下单测试任务相应的下单脚本工程。
3.根据权利要求1所述的方法,其特征在于,获取所述下单测试任务相应的下单脚本工程包括:
根据所述下单测试任务的下单场景参数和下单策略参数,从分布式版本控制系统获取所述下单测试任务的最新版本的下单脚本工程。
4.根据权利要求1所述的方法,其特征在于,选择所述下单测试任务相应的下单测试工具包括:
如果所述下单测试任务的下单策略参数属于移动端相关的应用程序、小程序或网页的下单策略,选择移动端测试工具;或者,
如果所述下单测试任务的下单策略参数属于Web应用程序相关的下单策略,选择基于浏览器的Web应用程序测试工具。
5.根据权利要求1所述的方法,其特征在于,下单脚本工程包括:运行类和记录文件,记录文件被配置为在运行类执行时记录下单脚本工程中的脚本的运行信息,并在执行完毕后被上传到公共服务;
其中,获取所述下单测试任务的执行结果包括:从所述公共服务获取所述下单测试任务的记录文件,从所述下单测试任务的记录文件中获取所述下单测试任务的执行结果。
6.根据权利要求1所述的方法,其特征在于,还包括:
如果执行下单测试方法的设备与执行所述下单测试任务的测试机位于不同的网络,在执行下单测试方法的设备与执行所述下单测试任务的测试机的浏览器之间建立用于传输信息的websocket通道;
其中,调度相应的测试机执行所述下单测试任务包括:执行下单测试方法的设备将所述下单测试任务的信息通过websocket通道发送给相应的测试机的浏览器,测试机的浏览器将所述下单测试任务的信息转发给测试机的本地服务,以便测试机执行所述下单测试任务。
7.根据权利要求1所述的方法,其特征在于,还包括:
执行下单测试方法的设备与移动终端类型的每个测试机分别建立独立的websocket通道,用于传输下单测试任务的信息、执行过程的视频截图和执行结果,并在屏幕上为移动终端类型的每个测试机创建独立的显示位置,用于显示相应的移动终端类型的测试机的监控信息,其中,监控信息包括单测试任务的执行过程的视频截图。
8.根据权利要求1-7任一项所述的方法,其特征在于,
下单策略参数对应的下单策略包括:移动终端的应用程序、移动终端的小程序、移动终端的网页、个人电脑的网页、接口。
9.一种执行下单测试方法的设备,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-8中任一项所述的下单测试方法。
10.一种下单测试系统,包括:
权利要求9所述的执行下单测试方法的设备,以及
测试机,被配置为根据执行下单测试方法的设备指示的下单测试任务的信息执行所述下单测试任务,并返回所述下单测试任务的执行结果。
11.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-8中任一项所述的下单测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127997.9A CN114092169A (zh) | 2020-10-20 | 2020-10-20 | 下单测试方法和系统以及执行下单测试方法的设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127997.9A CN114092169A (zh) | 2020-10-20 | 2020-10-20 | 下单测试方法和系统以及执行下单测试方法的设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114092169A true CN114092169A (zh) | 2022-02-25 |
Family
ID=80295834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011127997.9A Pending CN114092169A (zh) | 2020-10-20 | 2020-10-20 | 下单测试方法和系统以及执行下单测试方法的设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114092169A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598623A (zh) * | 2022-03-04 | 2022-06-07 | 北京沃东天骏信息技术有限公司 | 测试任务管理方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844213A (zh) * | 2017-01-21 | 2017-06-13 | 江苏千米网络科技股份有限公司 | 一种前端自动化测试方法及装置 |
CN108845949A (zh) * | 2018-07-24 | 2018-11-20 | 浙江数链科技有限公司 | 一种性能测试方法及平台 |
CN110377520A (zh) * | 2019-07-22 | 2019-10-25 | 中国工商银行股份有限公司 | 交易场景的测试方法及装置、电子设备和可读存储介质 |
CN110736920A (zh) * | 2019-09-25 | 2020-01-31 | 北京握奇智能科技有限公司 | 一种基于工程管理测试脚本的卡片测试方法及系统 |
CN111352851A (zh) * | 2020-04-02 | 2020-06-30 | 深圳壹账通智能科技有限公司 | 一种程序测试方法、装置、计算机设备及存储介质 |
-
2020
- 2020-10-20 CN CN202011127997.9A patent/CN114092169A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844213A (zh) * | 2017-01-21 | 2017-06-13 | 江苏千米网络科技股份有限公司 | 一种前端自动化测试方法及装置 |
CN108845949A (zh) * | 2018-07-24 | 2018-11-20 | 浙江数链科技有限公司 | 一种性能测试方法及平台 |
CN110377520A (zh) * | 2019-07-22 | 2019-10-25 | 中国工商银行股份有限公司 | 交易场景的测试方法及装置、电子设备和可读存储介质 |
CN110736920A (zh) * | 2019-09-25 | 2020-01-31 | 北京握奇智能科技有限公司 | 一种基于工程管理测试脚本的卡片测试方法及系统 |
CN111352851A (zh) * | 2020-04-02 | 2020-06-30 | 深圳壹账通智能科技有限公司 | 一种程序测试方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598623A (zh) * | 2022-03-04 | 2022-06-07 | 北京沃东天骏信息技术有限公司 | 测试任务管理方法、装置、电子设备和存储介质 |
CN114598623B (zh) * | 2022-03-04 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 测试任务管理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853227B2 (en) | Systems and methods for modular test platform for applications | |
CN111177617A (zh) | 基于运维管理系统的web直接运维方法、装置及电子设备 | |
CN110013672B (zh) | 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质 | |
US11245601B2 (en) | Automated integrated test system and method thereof | |
CN107526676B (zh) | 一种跨系统测试方法及装置 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN110716853A (zh) | 一种测试脚本录制方法、应用程序测试方法和相关装置 | |
CN113760704A (zh) | Web UI的测试方法、装置、设备以及存储介质 | |
CN109977012B (zh) | 系统的联调测试方法、装置、设备及计算机可读存储介质 | |
CN112015654A (zh) | 用于测试的方法和装置 | |
CN114092169A (zh) | 下单测试方法和系统以及执行下单测试方法的设备 | |
CN115996179A (zh) | 业务节点的测试方法、装置、可读介质和电子设备 | |
KR20120102967A (ko) | 애플리케이션 검증 시스템 및 방법 | |
CN116662193A (zh) | 页面测试方法和装置 | |
CN115514677B (zh) | 服务器拨测方法及系统 | |
CN114036060A (zh) | 用于芯片测试的方法、系统和计算机可读介质 | |
CN111107100B (zh) | 用于传输工业协议流量报文的设备 | |
CN113626330A (zh) | 混合模式移动应用调试方法及系统 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN113127325B (zh) | 问题单的处理方法、装置及存储介质 | |
CN113556269B (zh) | Sap客户端性能测试方法、系统、电子设备及存储介质 | |
US11886325B2 (en) | Network status simulation for remote device infrastructure | |
KR102303182B1 (ko) | 테스트 자동화 네트워크 시스템 및 테스트 자동화 방법 | |
CN110022244B (zh) | 用于发送信息的方法和装置 | |
CN113821398A (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 |