CN107704396A - 应用程序的测试方法及装置 - Google Patents
应用程序的测试方法及装置 Download PDFInfo
- Publication number
- CN107704396A CN107704396A CN201710999599.8A CN201710999599A CN107704396A CN 107704396 A CN107704396 A CN 107704396A CN 201710999599 A CN201710999599 A CN 201710999599A CN 107704396 A CN107704396 A CN 107704396A
- Authority
- CN
- China
- Prior art keywords
- application program
- test
- health insurance
- components
- insurance application
- 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
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
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F11/3688—Test 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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序的测试方法及装置,涉及一种软件测试技术领域,主要目的在于现有保险类电子商业产品在微信小程序中开发的应用程序进行手动测试时,由于需要输入大量的身份证号码、年龄、保费、投保产品等数据,纯人工的手动测试已经无法满足电子商业产品的迭代速度,也会浪费大量的人力资源,降低测试效果的问题。主要技术方案:在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;若存在,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。主要用于应用程序的测试。
Description
技术领域
本发明涉及一种软件测试技术领域,特别是涉及一种应用程序的测试方法及装置。
背景技术
运营商在开发电子商业产品的应用程序之后、上市之前,需要对开发的应用程序进行测试,以便减少电子商业产品上市之后可能出现的缺陷,避免影响商业口碑。为了对电子商业产品的应用程序中各个功能进行测试,可以使用手动进行测试。
目前,微信作为一款集合多种功能的交互平台,可以支持不同功能的电子商业产品进行集成,如,微信小程序为一种不需要下载安装即可以使用运营商开发的应用程序,对于保险类电子商业产品在微信小程序中开发的应用程序在进行手动测试时,由于需要输入大量的身份证号码、年龄、保费、投保产品等数据,纯人工的手动测试已经无法满足电子商业产品的迭代速度,也会浪费大量的人力资源,降低测试效果。
发明内容
有鉴于此,本发明提供一种应用程序的测试方法及装置,主要目的在于现有保险类电子商业产品在微信小程序中开发的应用程序在进行手动测试时,由于需要输入大量的身份证号码、年龄、保费、投保产品等数据,纯人工的手动测试已经无法满足电子商业产品的迭代速度,也会浪费大量的人力资源,降低测试效果的问题。
依据本发明一个方面,提供了一种应用程序的测试方法,包括:
在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;
若存在,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
进一步地,所述在测试环境下判断健康险应用程序中是否存在UI组件元素的属性之前,所述方法还包括:
建立与进行测试行为的终端设备之间的连接,并分别安装已下载的自动化框架Appium、可扩展开发平台Eclipse、安卓系统Android中的sdk安装包;
根据安装后的运行环境配置符合健康险应用程序的测试场景,所述测试环境为按照健康险业务流程将不同UI组件元素适用的测试场景进行串联,得到的完整测试场景。
进一步地,所述在测试环境下判断健康险应用程序中是否存在UI组件元素的属性之前,所述方法还包括:
通过所述终端设备启动所述sdk中的uiautomatorviewer工具,获取所述健康险应用程序的不同UI组件元素的属性,并将预置测试代码中的查找参数替换为所述属性。
进一步地,所述在测试环境下判断健康险应用程序中是否存在UI组件元素的属性包括:
在Eclipse上完成Appium的创建之后,配置jar安装程序,并判断所述终端设备中的健康险应用程序底层代码中是否存在与所述业务流程匹配的UI组件元素的属性对应的代码段。
进一步地,所述在Eclipse上完成Appium的创建之后,配置jar安装程序,并判断所述终端设备中的健康险应用程序底层代码中是否存在与所述业务流程匹配的UI组件元素的属性对应的代码段之后,所述方法还包括:
若不存在与所述业务流程匹配的UI组件元素的属性对应的代码段,则发送告警信息,所述告警信息中携带有所述业务流程中UI组件元素的属性不匹配的信息。
依据本发明一个方面,提供了一种应用程序的测试装置,包括:
判断单元,用于在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;
运行单元,用于若判断健康险应用程序中存在用户界面UI组件元素的属性,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
进一步地,所述装置还包括:
建立单元,用于建立与进行测试行为的终端设备之间的连接,并分别安装已下载的自动化框架Appium、可扩展开发平台Eclipse、安卓系统Android中的sdk安装包;
配置单元,用于根据安装后的运行环境配置符合健康险应用程序的测试场景,所述测试环境为按照健康险业务流程将不同UI组件元素适用的测试场景进行串联,得到的完整测试场景。
进一步地,所述装置还包括:
获取单元,用于通过所述终端设备启动所述sdk中的uiautomatorviewer工具,获取所述健康险应用程序的不同UI组件元素的属性,并将预置测试代码中的查找参数替换为所述属性。
进一步地,所述判断单元,具体用于在Eclipse上完成Appium的创建之后,配置jar安装程序,并判断所述终端设备中的健康险应用程序底层代码中是否存在与所述业务流程匹配的UI组件元素的属性对应的代码段。
进一步地,所述装置还包括:
发送单元,用于若判断判断若不存在与所述业务流程匹配的UI组件元素的属性对应的代码段,则发送告警信息,所述告警信息中携带有所述业务流程中UI组件元素的属性不匹配的信息。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述应用程序的测试方法对应的操作。
根据本发明的再一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述应用程序的测试方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种应用程序的测试方法及装置,首先在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象,若存在,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。与现有现有保险类电子商业产品在微信小程序中开发的应用程序在进行手动测试时,由于需要输入大量的身份证号码、年龄、保费、投保产品等数据,纯人工的手动测试已经无法满足电子商业产品的迭代速度,也会浪费大量的人力资源,降低测试效果相比,本发明实施例通过查找UI组件元素的属性,对这个属性对应的UI组件按照预置测试代码执行触发,实现微信的健康险应用程序的自动化测试,避免人为的手动测试,提高测试效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种应用程序的测试方法流程图;
图2示出了本发明实施例提供的另一种应用程序的测试方法流程图;
图3示出了本发明实施例提供的一种应用程序的测试装置框图;
图4示出了本发明实施例提供的另一种应用程序的测试装置框图;
图5示出了本发明实施例提供的一种服务器示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种应用程序的测试方法,如图1所示,所述方法包括:
101、在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性。
其中,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象,所述测试环境为用于执行当前应用程序的测试方法的环境,可以由自动化框架、可扩展开发平台等进行环境搭建,由于需要利用测试机中的微信小程序中的健康险应用程序进行测试,因此搭建的测试环境需要安装与测试机系统匹配的驱动程序,如测试机为安卓手机,则需要安装安卓系统的驱动,本发明实施例不做具体限定。所述健康险应用程序可以为保险公司针对适用于微信中进行售卖健康保险产品的小程序,可以为使用微信的用户提供投保便利的应用程序,具体的,用户通过微信中的健康险商城进行身份证号、年龄、保费等信息的输入,来查找对应的健康险产品,减少投保步骤,提高投保效率。所述用户界面UI组件元素包括健康险应用程序本身的组件以及进入健康险应用程序后的组件,如Button按钮、CheckedTextView多选、RadioButton单选按钮、EditText用户输入、TextView文字显示等,本发明实施例不做具体限定。
需要说明的是,一个元素会对应一个或多个属性,一般的,可以通过这个属性的唯一性来确定元素,因此,可以通过判断是否存在UI组件元素的属性来查找到对应的组件,如Button按钮组件的属性为index、text,既可以通过获取的index、text来对应Button按钮组件。
102、若存在用户界面UI组件元素的属性,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
其中,所述预置代码为在jar环境中预先编写java语音的触发不同事件的代码,本发明实施例不做具体限定。所述触发事件包括点击、选择、录入、滑屏等场景的触发事件,本发明实施例不做具体限定。所述运行结果包括正常运行及异常运行,正常运行即为触发事件触发成功,即成功执行触发事件对应的操作,异常运行即为触发事件触发失败,即无法执行触发事件对应的操作。
需要说明的是,当前执行应用程序的测试主体为与执行测试行为的终端设备相连接的PC端,可以为服务器端、也可以为客户端,本发明实施例不做具体限定。由于健康险应用程序中存在很多个不同功能的组件,因此,按照业务流程,需要对每个UI组件元素的属性进行判断,循环执行当前应用程序的测试方法,直至完成业务流程对应的所有UI组件元素的判断,业务流程即为健康险应用程序中不同场景下,触发对应组件执行测试的顺序,如点击按钮1后,进入按钮1对应的界面后对应的业务为按钮2、按钮3,以此类推,本发明实施例不做具体限定。另外,在执行对应的预置测试代码时,对于点击、选择可以随机配置触发的对应操作,也可以按照一定顺序执行每一个操作,对于录入可以在预置测试代码中预先配置出需要录入的文字、数据等信息,以便直接进行调用,本发明实施例不做具体限定。
本发明提供了一种应用程序的测试方法,与现有现有保险类电子商业产品在微信小程序中开发的应用程序在进行手动测试时,由于需要输入大量的身份证号码、年龄、保费、投保产品等数据,纯人工的手动测试已经无法满足电子商业产品的迭代速度,也会浪费大量的人力资源,降低测试效果相比,本发明实施例通过查找UI组件元素的属性,对这个属性对应的UI组件按照预置测试代码执行触发,实现微信的健康险应用程序的自动化测试,避免人为的手动测试,提高测试效率。
本发明实施例提供了另一种应用程序的测试方法,如图2所示,所述方法包括:
201、建立与进行测试行为的终端设备之间的连接,并分别安装已下载的自动化框架Appium、可扩展开发平台Eclipse、安卓系统Android中的sdk安装包。
其中,所述测试行为的终端设备为安装微信小程序的测试机,可以为手机、平板电脑、手机模拟器等,本发明实施例不做具体限定。为了适用测试机中的系统,需要安装测试机对应的驱动系统,Appium、android-sdk包、Eclipse可以直接自动或手动下载,后台系统根据下载后的安装包直接进行安装。
需要说明的是,由于需要执行自动化的测试方法,需要在Eclipse上创建Appium的工程,针对需要进行业务流程的串联,下载的Eclipse需要带有testng插件。通过建立与终端设备的连接及安装Appium、Eclipse、Android中的sdk安装包为自动执行测试做了基层准备,并针对健康险应用程序安装了最适用的测试环境,以便提高微信中测试健康险应用程序的效率。
202、根据安装后的运行环境配置符合健康险应用程序的测试场景。
其中,所述测试环境为按照健康险业务流程将不同UI组件元素适用的测试场景进行串联,得到的完整测试场景。所述健康险业务流程即为按照保险的投保、查询、缴纳费用的顺序进匹配的流行,可以由技术人员预先进行设定,本发明实施例不做具体限定。所述不同UI组件元素适用的测试场景即为健康险业务流程中的单独业务场景,如投保与查询为两个独立的业务场景,但是对于整个业务流程来说,若投保在前,则对于的查询可以分为查询投保产品信息,及查询未投保产品信息,若查询在前,则只能为查询未投保产品信息,因此,测试环境中实际的业务流程可以以树状图形式进行,但是针对测试环境中,若存在一台测试机,可以将多个单独业务场景进行串联,按照一条路径执行测试操作,执行完毕后,从头执行另一个串联的路径,若存在多台测试机,可以将多个串联的路径同时进行测试,本发明实施例不做具体限定。
需要说明的是,可以通过Eclipse中的testng插件完成所有单个场景的串联,得到整个业务的完整测试场景。例如,测试程序在执行完录入被保人信息并且成功后,才会执行后面的录入健康告知案例,如果上个场景执行失败了,就不会执行后面的场景案例,即是将每个单独的场景执行完毕后,执行下一个对应的业务流程的测试程序,从而生成流程化的测试案例。
203、在Eclipse上完成Appium的创建之后,配置jar安装程序,并判断所述终端设备中的健康险应用程序底层代码中是否存在与所述业务流程匹配的UI组件元素的属性对应的代码段。
其中,所述jar为实现不同功能的程序包,以便进行测试代码的编写,为判断步骤做后台支持,如java-client-1.2.1.jar:提供Appium驱动,启动服务、常用操作的方法,selenium-api-2.41.0.jar:启动服务端时的参数设置,如使用的自动化测试引擎、手机操作系统、微信小程序的包名和appActiviy等,testng.jar:通过xml文件调用java程序,执行测试并且输出测试结果等,本发明实施例不做具体限定。另外,所述判断的对象具体为健康险应用程序底层代码中是否存在UI组件元素的属性对应的代码段,具体的,每个UI组件元素的属性都具有自身对应的代码段,用以实现对应的功能,本发明实施例不做具体限定。
需要说明的是,为了区别不同业务流程中需要测试的组件,具体需要按照业务流程中标识的UI组件来判断是否存在UI组件元素的属性,例如,投保流程中,可以为每个组件配置标识,以便生成带有顺序的测试流程,为判断每个UI组件元素的属性提供具体判断对象。
进一步地,步骤203之前,本发明实施例还可以包括:通过所述终端设备启动所述sdk中的uiautomatorviewer工具,获取所述健康险应用程序的不同UI组件元素的属性,并将预置测试代码中的查找参数替换为所述属性。
其中,所述预置测试代码为用于执行对应触发事件的代码,一般的预置测试代码中配置有可以替换其他属性的参数,以便只要修改对应的参数即可应用到其他测试流程中。
需要说明的是,Eclipse中的testng插件可以用于注释,以便于将单个场景串联成完整测试场景。在配置生成流程化的测试案例过程中,具体的,可以通过依赖关系以参数化形式将每个步骤进行相关联,从而将所有的业务进行流程化,生成一个完整流程的测试案例,如,@Test是注解,dependsOnMethods是依赖关系,productName是参数化,对于参数化、依赖关系可以为,录入投保人(主被保人)信息:@Test(dependsOnMethods={"testChooseProduct"})public void testInputApplicantInfo()throwsInterruptedException{pp.testInputApplicantInfo(productName);},录入健康告知:@Test(dependsOnMethods={"testInputApplicantInfo"})public voidtestHealthInform()throws InterruptedException{pp.testHealthInform(productName);},从而将录入投保人信息与录入健康告知进行串联。其中,参数化是指预置测试代码中可以替换的数据配置参数,以便只要修改对应的参数即可应用到其他测试模块中,依赖关系为连接不同测试模块之间的参数,使得上一个测试模块执行完测试之后执行对应的下一个测试,从而实现业务流程的串联。
204a、若存在与所述业务流程匹配的UI组件元素的属性,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
本步骤与图1所示的步骤101方法相同,在此不再赘述。
需要说明的是,在返回一个UI组件的测试结果后,需要按照本发明实施例中的测试步骤测试下一个UI组件,以此重复循环,直至测试所有的UI组件。例如,判断“发现”元素是否存在,判断的过程即是通过查找UI组件属性来确定是否存在“发现”的元素,若存在,则利用预置测试代码执行点击“发现”元素,再判断“小程序”元素是否存在,若存在,则点击“小程序”元素,在搜索框录入“平安健康保险商城”,点击搜索,点击“平安健康保险商城”小程序名,进入商城主页面,然后再对小程序中的各个元素进行点击等操作。
对于本发明实施例,与步骤204a并列的步骤204b、若不存在与所述业务流程匹配的UI组件元素的属性对应的代码段,则发送告警信息。
其中,所述告警信息中携带有所述业务流程中UI组件元素的属性不匹配的信息,所述告警信息可以为底层代码提示、也可以为发送信息提示等,本发明实施例不做具体限定。通过发送告警信息,以便技术人员对异常UI组件进行调整及更新。
需要说明的是,在运行测试程序时,Appium将执行当前测试端指令代码进行翻译,把这些命令转成测试机可以理解的形式发送给测试机,即测试机语言,然后测试机执行完这些命令,如点击微信小程序的某个按钮、录入某些值等,后把执行结果返回给客户端。这些指令如driver.findElement(By.xpath("//*[@text='发现']")).click();可以理解为:代码在java运行时,就会生成一个点击“发现”菜单的命令,每一个对微信小程序的操作,都是一个命令,而这些命令是遵循Webdriver协议的,Appium也可以使用Webdriver协议,通过相同的通讯协议进行对话则可以视测试机按照这些命令自动执行。
本发明提供了另一种应用程序的测试方法,本发明实施例通过建立Appium、Eclipse测试环境,按照业务流程来判断完整测试场景中的各个UI组件元素的属性是否存在,然后按照预置测试代码对这个属性对应的UI组件执行触发操作,实现微信的健康险应用程序的自动化测试,无需人为的手动测试,以流程化、参数化形式自动执行程序测试,加快测试速度,无需人为更新测试场景,从而提高测试效率。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种应用程序的测试装置,如图3所示,该装置包括:判断单元31、运行单元32。
判断单元31,用于在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;所述判断单元31为应用程序的测试装置执行在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性的功能模块。
运行单元32,用于若判断单元31判断健康险应用程序中存在用户界面UI组件元素的属性,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。所述运行单元32为应用程序的测试装置执行判断健康险应用程序中存在用户界面UI组件元素的属性,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果的功能模块。
本发明提供了一种应用程序的测试方法,与现有现有保险类电子商业产品在微信小程序中开发的应用程序在进行手动测试时,由于需要输入大量的身份证号码、年龄、保费、投保产品等数据,纯人工的手动测试已经无法满足电子商业产品的迭代速度,也会浪费大量的人力资源,降低测试效果相比,本发明实施例通过查找UI组件元素的属性,对这个属性对应的UI组件按照预置测试代码执行触发,实现微信的健康险应用程序的自动化测试,避免人为的手动测试,提高测试效率。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种应用程序的测试装置,如图4所示,该装置包括:判断单元41、运行单元42、建立单元43、配置单元44、发送单元46。
判断单元41,用于在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;
运行单元42,用于若判断单元41判断健康险应用程序中存在用户界面UI组件元素的属性,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
进一步地,所述装置还包括:
建立单元43,用于建立与进行测试行为的终端设备之间的连接,并分别安装已下载的自动化框架Appium、可扩展开发平台Eclipse、安卓系统Android中的sdk安装包;
配置单元44,用于根据安装后的运行环境配置符合健康险应用程序的测试场景,所述测试环境为按照健康险业务流程将不同UI组件元素适用的测试场景进行串联,得到的完整测试场景。
进一步地,所述装置还包括:
获取单元45,用于通过所述终端设备启动所述sdk中的uiautomatorviewer工具,获取所述健康险应用程序的不同UI组件元素的属性,并将预置测试代码中的查找参数替换为所述属性。
所述判断单元41,具体用于在Eclipse上完成Appium的创建之后,配置jar安装程序,并判断所述终端设备中的健康险应用程序底层代码中是否存在与所述业务流程匹配的UI组件元素的属性对应的代码段。
进一步地,所述装置还包括:
发送单元46,用于判断单元41判断若不存在与所述业务流程匹配的UI组件元素的属性对应的代码段,则发送告警信息,所述告警信息中携带有所述业务流程中UI组件元素的属性不匹配的信息。
本发明提供了另一种应用程序的测试装置,本发明实施例通过建立Appium、Eclipse测试环境,按照业务流程来判断完整测试场景中的各个UI组件元素的属性是否存在,然后按照预置测试代码对这个属性对应的UI组件执行触发操作,实现微信的健康险应用程序的自动化测试,无需人为的手动测试,以流程化、参数化形式自动执行程序测试,加快测试速度,无需人为更新测试场景,从而提高测试效率。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;若存在,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
基于上述如图1所示方法和如图3所示装置的实施例,本发明一个实施例提供的一种服务器的结构示意图,如图5所示,本发明具体实施例并不对终端的具体实现做限定。
如图5所示,该服务器可以包括:处理器(processor)51、通信接口(Communications Interface)52、存储器(memory)53、以及通信总线54。其中:处理器51、通信接口52、以及存储器53通过通信总线54完成相互间的通信。通信接口54,用于与其它设备比如客户端或其它服务器等的网元通信。处理器51,用于执行程序,具体可以执行上述应用程序的测试方法实施例中的相关步骤。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。处理器51可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器53,用于存放程序。存储器53可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序具体可以用于使得处理器51执行以下操作:在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;若存在,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序的测试方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种应用程序的测试方法,其特征在于,包括:
在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;
若存在,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
2.根据权利要求1所述的方法,其特征在于,所述在测试环境下判断健康险应用程序中是否存在UI组件元素的属性之前,所述方法还包括:
建立与进行测试行为的终端设备之间的连接,并分别安装已下载的自动化框架Appium、可扩展开发平台Eclipse、安卓系统Android中的sdk安装包;
根据安装后的运行环境配置符合健康险应用程序的测试场景,所述测试环境为按照健康险业务流程将不同UI组件元素适用的测试场景进行串联,得到的完整测试场景。
3.根据权利要求2所述的方法,其特征在于,所述在测试环境下判断健康险应用程序中是否存在UI组件元素的属性之前,所述方法还包括:
通过所述终端设备启动所述sdk中的uiautomatorviewer工具,获取所述健康险应用程序的不同UI组件元素的属性,并将预置测试代码中的查找参数替换为所述属性。
4.根据权利要求3所述的方法,其特征在于,所述在测试环境下判断健康险应用程序中是否存在UI组件元素的属性包括:
在Eclipse上完成Appium的创建之后,配置jar安装程序,并判断所述终端设备中的健康险应用程序底层代码中是否存在与所述业务流程匹配的UI组件元素的属性对应的代码段。
5.根据权利要求4所述的方法,其特征在于,所述在Eclipse上完成Appium的创建之后,配置jar安装程序,并判断所述终端设备中的健康险应用程序底层代码中是否存在与所述业务流程匹配的UI组件元素的属性对应的代码段之后,所述方法还包括:
若不存在与所述业务流程匹配的UI组件元素的属性对应的代码段,则发送告警信息,所述告警信息中携带有所述业务流程中UI组件元素的属性不匹配的信息。
6.一种应用程序的测试装置,其特征在于,包括:
判断单元,用于在测试环境下判断健康险应用程序中是否存在用户界面UI组件元素的属性,所述UI组件元素为按照业务流程执行所述健康险应用程序中不同UI组件程序的对象;
运行单元,用于若判断单元判断所述终端设备中的健康险应用程序中存在与所述业务流程匹配的UI组件元素的属性,则根据预置测试代码运行所述属性对应的UI组件的触发事件,并返回运行结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
建立单元,用于建立与进行测试行为的终端设备之间的连接,并分别安装已下载的自动化框架Appium、可扩展开发平台Eclipse、安卓系统Android中的sdk安装包;
配置单元,用于根据安装后的运行环境配置符合健康险应用程序的测试场景,所述测试环境为按照健康险业务流程将不同UI组件元素适用的测试场景进行串联,得到的完整测试场景。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
获取单元,用于通过所述终端设备启动所述sdk中的uiautomatorviewer工具,获取所述健康险应用程序的不同UI组件元素的属性,并将预置测试代码中的查找参数替换为所述属性。
9.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-5中任一项所述的应用程序的测试方法对应的操作。
10.一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-5中任一项所述的应用程序的测试方法对应的操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710999599.8A CN107704396A (zh) | 2017-10-20 | 2017-10-20 | 应用程序的测试方法及装置 |
PCT/CN2018/076553 WO2019075973A1 (zh) | 2017-10-20 | 2018-02-12 | 应用程序的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710999599.8A CN107704396A (zh) | 2017-10-20 | 2017-10-20 | 应用程序的测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107704396A true CN107704396A (zh) | 2018-02-16 |
Family
ID=61182184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710999599.8A Pending CN107704396A (zh) | 2017-10-20 | 2017-10-20 | 应用程序的测试方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107704396A (zh) |
WO (1) | WO2019075973A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415844A (zh) * | 2018-03-22 | 2018-08-17 | 北京奇虎科技有限公司 | 插件化调试方法及装置 |
CN108920366A (zh) * | 2018-06-28 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 一种子应用调试方法、装置及系统 |
CN108959047A (zh) * | 2018-06-11 | 2018-12-07 | 北京奇安信科技有限公司 | 一种基于业务场景的压力测试方法及装置 |
CN109376093A (zh) * | 2018-12-04 | 2019-02-22 | 泰康保险集团股份有限公司 | 保险产品的测试方法及装置、存储介质及电子设备 |
CN109815119A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种app链接渠道的测试方法及装置 |
CN110287122A (zh) * | 2019-06-29 | 2019-09-27 | 广州华多网络科技有限公司 | 一种自动化测试方法、装置、终端和存储介质 |
CN110389886A (zh) * | 2018-04-16 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 一种主体应用程序的附加功能测试方法、装置及存储介质 |
CN110401665A (zh) * | 2019-07-30 | 2019-11-01 | 四川虹魔方网络科技有限公司 | 统一入口的微信鉴权api接口实现方法 |
CN110750463A (zh) * | 2019-10-29 | 2020-02-04 | 百度在线网络技术(北京)有限公司 | 一种小程序测试方法、装置、系统、设备及介质 |
CN110928791A (zh) * | 2019-11-27 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 程序测试方法、装置、计算机设备和存储介质 |
CN111127223A (zh) * | 2019-11-25 | 2020-05-08 | 泰康保险集团股份有限公司 | 保险产品测试方法、装置和存储介质 |
CN112786034A (zh) * | 2019-11-08 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 语音交互方法、装置、设备及存储介质 |
CN115099983A (zh) * | 2022-06-13 | 2022-09-23 | 中国人民财产保险股份有限公司 | 客户端保险产品生成方法及装置 |
CN116361196A (zh) * | 2023-06-01 | 2023-06-30 | 北京轻松筹信息技术有限公司 | 一种测试投保流程的方法、装置、设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521120A (zh) * | 2011-11-16 | 2012-06-27 | 中国民航信息网络股份有限公司 | 一种软件自动化测试系统及方法 |
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
WO2015000398A1 (en) * | 2013-07-02 | 2015-01-08 | Tencent Technology (Shenzhen) Company Limited | Systems and methods for testing terminal applications |
CN104978266A (zh) * | 2014-04-11 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种应用测试方法和装置 |
CN106776344A (zh) * | 2017-01-16 | 2017-05-31 | 上海聚宝网络科技股份有限公司 | 一种基于appium的智能快递柜的自动化测试方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021442B2 (en) * | 2013-02-13 | 2015-04-28 | Sap Se | Dynamic scenario testing of web application |
CN104794050B (zh) * | 2014-01-21 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN106445816B (zh) * | 2016-09-07 | 2019-01-25 | 美的智慧家居科技有限公司 | 控件执行方法和装置 |
-
2017
- 2017-10-20 CN CN201710999599.8A patent/CN107704396A/zh active Pending
-
2018
- 2018-02-12 WO PCT/CN2018/076553 patent/WO2019075973A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521120A (zh) * | 2011-11-16 | 2012-06-27 | 中国民航信息网络股份有限公司 | 一种软件自动化测试系统及方法 |
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
WO2015000398A1 (en) * | 2013-07-02 | 2015-01-08 | Tencent Technology (Shenzhen) Company Limited | Systems and methods for testing terminal applications |
CN104978266A (zh) * | 2014-04-11 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种应用测试方法和装置 |
CN106776344A (zh) * | 2017-01-16 | 2017-05-31 | 上海聚宝网络科技股份有限公司 | 一种基于appium的智能快递柜的自动化测试方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415844A (zh) * | 2018-03-22 | 2018-08-17 | 北京奇虎科技有限公司 | 插件化调试方法及装置 |
CN110389886A (zh) * | 2018-04-16 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 一种主体应用程序的附加功能测试方法、装置及存储介质 |
CN110389886B (zh) * | 2018-04-16 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 一种主体应用程序的附加功能测试方法、装置及存储介质 |
CN108959047A (zh) * | 2018-06-11 | 2018-12-07 | 北京奇安信科技有限公司 | 一种基于业务场景的压力测试方法及装置 |
CN108959047B (zh) * | 2018-06-11 | 2022-05-03 | 奇安信科技集团股份有限公司 | 一种基于业务场景的压力测试方法及装置 |
CN108920366B (zh) * | 2018-06-28 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 一种子应用调试方法、装置及系统 |
CN108920366A (zh) * | 2018-06-28 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 一种子应用调试方法、装置及系统 |
CN109376093A (zh) * | 2018-12-04 | 2019-02-22 | 泰康保险集团股份有限公司 | 保险产品的测试方法及装置、存储介质及电子设备 |
CN109376093B (zh) * | 2018-12-04 | 2022-02-01 | 泰康保险集团股份有限公司 | 保险产品的测试方法及装置、存储介质及电子设备 |
CN109815119A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种app链接渠道的测试方法及装置 |
CN110287122A (zh) * | 2019-06-29 | 2019-09-27 | 广州华多网络科技有限公司 | 一种自动化测试方法、装置、终端和存储介质 |
CN110287122B (zh) * | 2019-06-29 | 2023-08-11 | 广州华多网络科技有限公司 | 一种自动化测试方法、装置、终端和存储介质 |
CN110401665B (zh) * | 2019-07-30 | 2021-06-22 | 四川虹魔方网络科技有限公司 | 统一入口的微信鉴权api接口实现方法 |
CN110401665A (zh) * | 2019-07-30 | 2019-11-01 | 四川虹魔方网络科技有限公司 | 统一入口的微信鉴权api接口实现方法 |
CN110750463A (zh) * | 2019-10-29 | 2020-02-04 | 百度在线网络技术(北京)有限公司 | 一种小程序测试方法、装置、系统、设备及介质 |
CN112786034A (zh) * | 2019-11-08 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 语音交互方法、装置、设备及存储介质 |
CN112786034B (zh) * | 2019-11-08 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 语音交互方法、装置、设备及存储介质 |
CN111127223A (zh) * | 2019-11-25 | 2020-05-08 | 泰康保险集团股份有限公司 | 保险产品测试方法、装置和存储介质 |
CN110928791A (zh) * | 2019-11-27 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 程序测试方法、装置、计算机设备和存储介质 |
CN115099983A (zh) * | 2022-06-13 | 2022-09-23 | 中国人民财产保险股份有限公司 | 客户端保险产品生成方法及装置 |
CN116361196A (zh) * | 2023-06-01 | 2023-06-30 | 北京轻松筹信息技术有限公司 | 一种测试投保流程的方法、装置、设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019075973A1 (zh) | 2019-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704396A (zh) | 应用程序的测试方法及装置 | |
CN110221872B (zh) | 页面跳转方法、装置、电子设备和存储介质 | |
US8428813B2 (en) | Dynamic decision sequencing method and apparatus for optimizing a diagnostic test plan | |
CN107766580A (zh) | 消息的推送方法及装置 | |
CN106844217A (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN109446071A (zh) | 接口测试方法、接口测试装置、电子设备及存储介质 | |
CN110347395A (zh) | 基于云计算平台的软件发布方法及装置 | |
CN108062303A (zh) | 垃圾短信的识别方法及装置 | |
CN103714002B (zh) | 基于配置系统的项目测试方法及装置 | |
CN112579455B (zh) | 一种接口自动化测试方法、装置、电子设备及存储介质 | |
CN112034819A (zh) | 一种车辆诊断方法、车辆诊断装置及诊断设备 | |
CN109165170A (zh) | 一种自动化请求测试的方法及系统 | |
CN111881042A (zh) | 自动化测试脚本的生成方法、装置和电子设备 | |
CN114258548A (zh) | 用于为工程方案的完成提供推荐的方法和装置 | |
CN108733468A (zh) | 定时任务动态配置方法及装置、存储介质及服务器集群 | |
CN107656860A (zh) | 性能测试方法、装置及系统 | |
CN111897725B (zh) | 中台服务自动化测试方法、介质、设备及系统 | |
US20240345834A1 (en) | Configuration properties management for software | |
CN116756046B (zh) | 一种接口自动化测试方法、装置、设备及存储介质 | |
CN111797152A (zh) | 一种数据场景的生成方法、装置及计算机设备 | |
CN115934513A (zh) | 一种需求分析及测试设计适配方法、装置、设备及介质 | |
CN114527993A (zh) | 应用程序部署方法、装置、设备及介质 | |
CN115437617A (zh) | 车辆控制代码自动生成方法、装置、存储介质和电子设备 | |
CN115269285A (zh) | 测试方法及装置、设备、计算机可读存储介质 | |
CN114297088A (zh) | 前端vue框架组件的测试方法、装置、设备及介质 |
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 |
Application publication date: 20180216 |
|
RJ01 | Rejection of invention patent application after publication |