CN104008042B - 一种ui自动化测试方法、系统和设备 - Google Patents
一种ui自动化测试方法、系统和设备 Download PDFInfo
- Publication number
- CN104008042B CN104008042B CN201310055757.6A CN201310055757A CN104008042B CN 104008042 B CN104008042 B CN 104008042B CN 201310055757 A CN201310055757 A CN 201310055757A CN 104008042 B CN104008042 B CN 104008042B
- Authority
- CN
- China
- Prior art keywords
- information
- digitization
- digitization information
- data
- client
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种UI自动化测试方法、系统和设备,该方法包括:WEB服务器获得操作数据,从操作数据中得到数据化信息,并在数据库中存储数据化信息;在客户端进行UI自动化测试的过程中,WEB服务器从数据库中提取数据化信息,并将数据化信息发送给客户端;由客户端利用数据化信息生成执行框架对应的执行脚本,并通过执行脚本在执行框架下进行UI自动化测试。本申请实施例中,基于操作数据得到数据化信息,并在进行UI自动化测试的过程中,将数据化信息提供给客户端,由客户端利用数据化信息生成执行框架对应的执行脚本,从而使执行脚本的编写不再受制于不同执行框架,并可以节约执行脚本的开发开销,减少执行脚本维护难度。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及了一种UI(User Interface,用户界面)自动化测试方法、系统和设备。
背景技术
软件测试是软件开发过程中不可缺少的,由测试工具按照一定的测试方案和流程进行测试操作,其目的是发现潜伏在软件中的缺陷,减少软件开发和维护成本,促进软件质量提升。在各类型的自动化软件测试中,最接近用户需求的软件测试是与用户交互相关的,即UI自动化测试;当前互联网测试中,针对网页功能的测试已使用自动化执行脚本(称为UI执行脚本)模拟用户行为,然后在执行框架(称为UI执行框架)下对网页进行UI自动化测试。
各公司根据不同的需求,会选择一种适合自身需要的执行框架来实现UI自动化测试,且每种执行框架均对应有自身的执行脚本,即目前互联网测试中的执行脚本的执行框架有很多种,如selenium,watir,pwatir,webdriver等。
在实现本申请的过程中,发明人发现现有技术中至少存在以下问题:
每一套执行框架都对应有自身的执行脚本,且不同执行脚本的编写语言和规范各不相同,一个执行框架对应的执行脚本无法应用到另一个执行框架下;当选择不同的执行框架进行UI自动化测试时,需要编写多个执行脚本;而且随着技术日新月异,新的执行框架层出不穷,许多积累的执行脚本将被迫丢弃,并为新的执行框架从头开始编写执行脚本;进一步的,为了编写多个执行脚本,浪费了巨额的执行脚本开发开销,增加了执行脚本维护难度。
发明内容
本申请实施例提供一种UI自动化测试方法、系统和设备,以使得执行脚本的编写不再受制于不同的执行框架,并可以节约执行脚本的开发开销,减少执行脚本的维护难度;为了达到上述目的,则:
本申请实施例提供一种用户界面UI自动化测试方法,该方法包括:
WEB服务器获得操作数据,从所述操作数据中得到数据化信息,并在数据库中存储所述数据化信息;
在客户端进行UI自动化测试的过程中,所述WEB服务器从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
由所述客户端利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试。
优选的,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
优选的,所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
本申请实施例提供一种用户界面UI自动化测试方法,该方法包括:
客户端在进行UI自动化测试的过程中,从WEB服务器的数据库中获得数据化信息;
所述客户端利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试。
优选的,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
优选的,所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
优选的,所述客户端利用所述数据化信息生成执行框架对应的执行脚本,具体包括:所述客户端利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
本申请实施例提供一种用户界面UI自动化测试系统,该系统包括:
WEB服务器,用于获得操作数据,从所述操作数据中得到数据化信息,在数据库中存储所述数据化信息;在客户端进行UI自动化测试的过程中,从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
客户端,用于利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试。
优选的,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息;
所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
优选的,所述客户端,具体用于利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
本申请实施例提供一种WEB服务器,该WEB服务器包括:
获得模块,用于获得操作数据,并从所述操作数据中得到数据化信息;
存储模块,用于在数据库中存储所述数据化信息;
发送模块,用于在客户端进行用户界面UI自动化测试的过程中,从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
由所述客户端利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试。
优选的,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
优选的,所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
本申请实施例提供一种客户端,该客户端包括:
获得模块,用于在进行用户界面UI自动化测试的过程中,从WEB服务器的数据库中获得数据化信息;
生成模块,用于利用所述数据化信息生成执行框架对应的执行脚本;
测试模块,用于通过所述执行脚本在所述执行框架下进行UI自动化测试。
优选的,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
优选的,所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
优选的,所述生成模块,具体用于利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
与现有技术相比,本申请实施例至少具有以下优点:本申请实施例中,基于操作数据(即操作步骤)得到数据化信息,并在进行UI自动化测试的过程中,将数据化信息提供给客户端,由客户端利用数据化信息生成执行框架对应的执行脚本,从而使执行脚本的编写不再受制于不同执行框架,并可以节约执行脚本的开发开销,减少执行脚本维护难度;进一步的,通过上述方式可同时支持多种执行框架的执行任务,最大幅度的提高各执行框架的优势功能使用率;进一步的,通过上述方式进行执行脚本管理,避免了多人多实现等执行脚本维护问题,执行脚本的稳定性得到最大限度的保障。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的UI自动化测试系统结构示意图;
图2是本申请实施例一提供的一种UI自动化测试方法流程示意图;
图3是本申请实施例一提供的操作数据的一种数据结构示意图;
图4是本申请实施例三提供的一种WEB服务器的结构示意图;
图5是本申请实施例四提供的一种客户端的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本申请实施例一提供一种UI自动化测试方法,该方法应用于包括WEB服务器和客户端的网络中,如图1所示,为本申请实施例的UI自动化测试系统示意图,在图1中,客户端为客户端1、客户端2和客户端3,该客户端1需要通过执行框架1(如selenium执行框架)进行UI自动化测试,该客户端2需要通过执行框架2(如pwatir执行框架)进行UI自动化测试,该客户端3需要通过执行框架3(如webdriver执行框架)进行UI自动化测试。
基于上述UI自动化测试系统的结构示意图,如图2所示,该UI自动化测试方法可以包括以下步骤:
步骤201,WEB服务器获得操作数据,并从操作数据中得到数据化信息。
UI自动化测试的本质是模拟用户对网页各种控件的操作;例如:在一个网页下进行用户名登录时,需要做点击登录按钮这个动作,使用Java语言在selenium下执行时需要写成:selenium.click(″id=登录按钮控件id"),使用ruby语言在pwatir下执行时需要写成ie.button(:id=>"登录按钮控件id").click。
基于上述语言和执行框架可以发现,上述两个执行框架均需要找到指定类型(按钮button)的指定识别符类型(id)的指定识别符值(登录按钮控件id值)的控件进行操作(click);即下面的这四个单词的组合就可以表达这一次操作的意义:button、id、id值、click,而这个组合是基于HTML(Hypertext Markup Language,)的Dom(Document ObjectModel,文件物件模型)的,其完全独立于任何语言以及执行框架,具有很高的稳定性。
基于上述发现,本申请实施例中,通过将操作数据(即UI自动化测试中操作步骤对应的操作数据)提供给WEB服务器,使得WEB服务器可以从操作数据中提取数据化信息(如上述四个单词的组合button、id、id值、click),继而在后续步骤中将数据化信息提供给客户端,由客户端生成相应执行脚本。
本申请实施例中,可以通过录制方式、web方式、数据编写方式等实现用例操作过程(即操作步骤)的数据录入,即通过录制方式、web方式、数据编写方式等将操作步骤整理成操作数据;进一步的,可以通过json(JavaScript Object Notation,轻量级的数据交换格式)字符串方式将操作数据传输到WEB服务器,由WEB服务器从操作数据中得到数据化信息。
具体的,在录制方式中,可以通过特定的开发录制工具将操作步骤整理成操作数据;在web方式中,通过向用户提供相关页面,并由用户在页面中输入相关信息,从而将操作步骤整理成操作数据;在数据编写方式中,可以直接由开发人员将操作步骤整理成操作数据。
如图3所示,为本申请实施例中操作数据的一种数据结构示意图,基于该操作数据,WEB服务器可以直接从操作数据中获得数据化信息,且该数据化信息包括但不限于以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
动作数据化信息具体为:Set(输入)、或,Click(点击)、或,Dblclick(双击)、或,Rclick(右击)、或,Select(选择)、或,File(文件上传)、或,Mouseover(鼠标于元素上移动)、或,Drag(拖放)、或,Db(数据库操作)。
在图3所示的操作数据中,针对内容:Action:动作标识字符串(图中为set),则:WEB服务器可以直接从操作数据中获得Action之后的动作标识字符串的内容为动作数据化信息。
操作对象数据化信息具体为:Id(元素id信息)、或,Class(元素class信息)、或,Text(元素文案信息)、或,tagName(元素标签信息)。
在图3所示的操作数据中,针对内容:Element:{"identify_data":{…},“name”:”test”}(图中以空),则:WEB服务器可以直接从操作数据中获得Element之后的内容为操作对象数据化信息。
操作数据数据化信息具体包括:type(数据类型),且type(数据类型)进一步包括:C(常量)、VM(变量)和DB(数据中心,第三方来源)。
在图3所示的操作数据中,针对内容:Data:{Type:”C”,Value:”test”,Name:“test”}(图中以空),则:WEB服务器可以直接从操作数据中获得Data之后的内容为操作数据数据化信息。
检查功能数据化信息具体包括:检查功能type(类型),且该检查功能类型进一步包括:Text(文本检查)、DB(数据库表检查)、URL(Uniform Resource Locator,统一资源定位符)检查和其它复杂性数据检查。
在图3所示的操作数据中,针对内容:checksteps”:[{Type:”text”,expected:”test”}](图中以空),则:WEB服务器可以直接从操作数据中获得checksteps之后的内容为检查功能数据化信息。
步骤202,WEB服务器在数据库中存储数据化信息。
步骤203,在客户端进行UI自动化测试的过程中,WEB服务器从数据库中提取数据化信息,并将该数据化信息发送给客户端。
步骤204,客户端利用数据化信息生成执行框架对应的执行脚本,通过该执行脚本在执行框架下进行UI自动化测试,并反馈UI自动化测试结果。
本申请实施例中,客户端利用数据化信息生成执行框架对应的执行脚本,具体包括但不限于如下方式:客户端在得到数据化信息之后,利用该数据化信息以及该执行框架的语法模板生成该执行框架对应的执行脚本。
具体的,客户端在获得数据化信息之后,可以基于自身需要使用的执行框架的语法模板将该数据化信息(如上述四个单词的组合button、id、id值、click)解释成该执行框架的执行脚本,并在该执行框架下使用该执行脚本进行UI自动化测试;进一步的,在不同的执行框架下,由于语法模板不同,因此可以将相同的数据化信息解释成不同执行框架所对应的不同执行脚本,并在不同的执行环境中执行,以得到相应的执行结果,从而可以方便的实现一次数据输入,多个执行框架分别执行UI自动化测试的效果。
例如,客户端1需要通过selenium执行框架进行UI自动化测试时,客户端1在获得数据化信息之后,基于selenium执行框架的语法模板将该数据化信息解释成selenium执行框架的执行脚本,并通过该selenium执行框架的执行脚本在selenium执行框架下进行UI自动化测试。客户端2需要通过pwatir执行框架进行UI自动化测试时,客户端2在获得数据化信息之后,基于pwatir执行框架的语法模板将该数据化信息解释成pwatir执行框架的执行脚本,并通过该pwatir执行框架的执行脚本在pwatir执行框架下进行UI自动化测试。客户端3需要通过webdriver执行框架进行UI自动化测试时,客户端3在获得数据化信息之后,基于webdriver执行框架的语法模板将该数据化信息解释成webdriver执行框架的执行脚本,并通过该webdriver执行框架的执行脚本在webdriver执行框架下进行UI自动化测试。
综上所述,本申请实施例中,基于操作数据(即操作步骤)得到数据化信息,并在进行UI自动化测试的过程中,将数据化信息提供给客户端,由客户端利用数据化信息生成执行框架对应的执行脚本,从而使执行脚本的编写不再受制于不同执行框架,并可以节约执行脚本的开发开销,减少执行脚本维护难度,可以以任意组合的方式来管理执行脚本;进一步的,通过上述方式可同时支持多种执行框架的执行任务,最大幅度的提高各执行框架的优势功能使用率;进一步的,通过上述方式进行执行脚本管理,避免了多人多实现等执行脚本维护问题,执行脚本的稳定性得到最大限度的保障。
实施例二
基于与上述方法同样的申请构思,本申请实施例中还提供了一种用户界面UI自动化测试系统,该系统包括:
WEB服务器,用于获得操作数据,从所述操作数据中得到数据化信息,在数据库中存储所述数据化信息;在客户端进行UI自动化测试的过程中,从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
客户端,用于利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试。
本申请实施例中,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息;
所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
本申请实施例中,所述客户端,具体用于利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
综上所述,本申请实施例中,基于操作数据(即操作步骤)得到数据化信息,并在进行UI自动化测试的过程中,将数据化信息提供给客户端,由客户端利用数据化信息生成执行框架对应的执行脚本,从而使执行脚本的编写不再受制于不同执行框架,并可以节约执行脚本的开发开销,减少执行脚本维护难度,可以以任意组合的方式来管理执行脚本;进一步的,通过上述方式可同时支持多种执行框架的执行任务,最大幅度的提高各执行框架的优势功能使用率;进一步的,通过上述方式进行执行脚本管理,避免了多人多实现等执行脚本维护问题,执行脚本的稳定性得到最大限度的保障。
实施例三
基于与上述方法同样的申请构思,本申请实施例中还提供了一种WEB服务器,如图4所示,该WEB服务器包括:
获得模块11,用于获得操作数据,并从所述操作数据中得到数据化信息;
存储模块12,用于在数据库中存储所述数据化信息;
发送模块13,用于在客户端进行用户界面UI自动化测试的过程中,从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
由所述客户端利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试。
本申请实施例中,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
本申请实施例中,所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
综上所述,本申请实施例中,基于操作数据(即操作步骤)得到数据化信息,并在进行UI自动化测试的过程中,将数据化信息提供给客户端,由客户端利用数据化信息生成执行框架对应的执行脚本,从而使执行脚本的编写不再受制于不同执行框架,并可以节约执行脚本的开发开销,减少执行脚本维护难度,可以以任意组合的方式来管理执行脚本;进一步的,通过上述方式可同时支持多种执行框架的执行任务,最大幅度的提高各执行框架的优势功能使用率;进一步的,通过上述方式进行执行脚本管理,避免了多人多实现等执行脚本维护问题,执行脚本的稳定性得到最大限度的保障。
实施例四
基于与上述方法同样的申请构思,本申请实施例中还提供了一种客户端,如图5所示,该客户端包括:
获得模块21,用于在进行用户界面UI自动化测试的过程中,从WEB服务器的数据库中获得数据化信息;
生成模块22,用于利用所述数据化信息生成执行框架对应的执行脚本;
测试模块23,用于通过所述执行脚本在执行框架下进行UI自动化测试。
本申请实施例中,所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
本申请实施例中,所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
本申请实施例中,所述生成模块22,具体用于利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
综上所述,本申请实施例中,基于操作数据(即操作步骤)得到数据化信息,并在进行UI自动化测试的过程中,将数据化信息提供给客户端,由客户端利用数据化信息生成执行框架对应的执行脚本,从而使执行脚本的编写不再受制于不同执行框架,并可以节约执行脚本的开发开销,减少执行脚本维护难度,可以以任意组合的方式来管理执行脚本;进一步的,通过上述方式可同时支持多种执行框架的执行任务,最大幅度的提高各执行框架的优势功能使用率;进一步的,通过上述方式进行执行脚本管理,避免了多人多实现等执行脚本维护问题,执行脚本的稳定性得到最大限度的保障。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (14)
1.一种用户界面UI自动化测试方法,其特征在于,该方法包括:
WEB服务器获得操作数据,从所述操作数据中得到数据化信息,并在数据库中存储所述数据化信息;
在客户端进行UI自动化测试的过程中,所述WEB服务器从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
由所述客户端利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试;
其中,所述客户端利用所述数据化信息生成执行框架对应的执行脚本具体包括:
所述客户端接收到所述数据化信息后,利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
2.如权利要求1所述的方法,其特征在于,
所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
3.如权利要求2所述的方法,其特征在于,
所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
4.一种用户界面UI自动化测试方法,其特征在于,该方法包括:
客户端在进行UI自动化测试的过程中,从WEB服务器的数据库中获得数据化信息;
所述客户端利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试;
其中,所述客户端利用所述数据化信息生成执行框架对应的执行脚本,具体包括:
所述客户端利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
5.如权利要求4所述的方法,其特征在于,
所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
6.如权利要求5所述的方法,其特征在于,
所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
7.一种用户界面UI自动化测试系统,其特征在于,该系统包括:
WEB服务器,用于获得操作数据,从所述操作数据中得到数据化信息,在数据库中存储所述数据化信息;在客户端进行UI自动化测试的过程中,从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
客户端,用于利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试;
所述客户端具体用于:接收到所述数据化信息后,利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
8.如权利要求7所述的系统,其特征在于,
所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息;
所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
9.一种WEB服务器,其特征在于,该WEB服务器包括:
获得模块,用于获得操作数据,并从所述操作数据中得到数据化信息;
存储模块,用于在数据库中存储所述数据化信息;
发送模块,用于在客户端进行用户界面UI自动化测试的过程中,从所述数据库中提取所述数据化信息,并将所述数据化信息发送给所述客户端;
由所述客户端利用所述数据化信息生成执行框架对应的执行脚本,并通过所述执行脚本在所述执行框架下进行UI自动化测试;
其中,所述客户端利用所述数据化信息生成执行框架对应的执行脚本具体包括:所述客户端接收到所述数据化信息后,利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
10.如权利要求9所述的WEB服务器,其特征在于,
所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
11.如权利要求10所述的WEB服务器,其特征在于,
所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
12.一种客户端,其特征在于,该客户端包括:
获得模块,用于在进行用户界面UI自动化测试的过程中,从WEB服务器的数据库中获得数据化信息;
生成模块,用于利用所述数据化信息生成执行框架对应的执行脚本;
测试模块,用于通过所述执行脚本在所述执行框架下进行UI自动化测试;
所述生成模块,具体用于利用所述数据化信息以及所述执行框架的语法模板生成所述执行框架对应的执行脚本。
13.如权利要求12所述的客户端,其特征在于,
所述数据化信息包括以下之一或任意组合:动作数据化信息、操作对象数据化信息、操作数据数据化信息、检查功能数据化信息。
14.如权利要求13所述的客户端,其特征在于,
所述动作数据化信息具体为:输入Set、或,点击Click、或,双击Dblclick、或,右击Rclick、或,选择Select、或,文件上传File、或,鼠标于元素上移动Mouseover、或,拖放Drag、或,数据库操作Db;
所述操作对象数据化信息具体为:元素id信息、或,元素class信息、或,元素文案信息、或,元素标签信息;
所述操作数据数据化信息具体包括数据类型,所述数据类型包括:常量C、变量VM和数据中心DB;
所述检查功能数据化信息具体包括检查功能类型,所述检查功能类型包括:文本检查、数据库表检查、统一资源定位符URL检查和复杂性数据检查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310055757.6A CN104008042B (zh) | 2013-02-21 | 2013-02-21 | 一种ui自动化测试方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310055757.6A CN104008042B (zh) | 2013-02-21 | 2013-02-21 | 一种ui自动化测试方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104008042A CN104008042A (zh) | 2014-08-27 |
CN104008042B true CN104008042B (zh) | 2017-11-14 |
Family
ID=51368703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310055757.6A Active CN104008042B (zh) | 2013-02-21 | 2013-02-21 | 一种ui自动化测试方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104008042B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317705B (zh) * | 2014-10-14 | 2017-04-05 | 北京久其软件股份有限公司 | 基于动态图形用户界面的对象识别方法 |
CN106155895A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 脚本数据处理方法及装置 |
CN108733555A (zh) * | 2017-04-25 | 2018-11-02 | 中移信息技术有限公司 | 一种应用测试方法及装置 |
US10884906B2 (en) * | 2017-06-23 | 2021-01-05 | Ge Aviation Systems Llc | Generating scripts that facilitate execution of tasks within different run-time environments that utilize different languages and syntax |
CN108197021A (zh) * | 2017-12-28 | 2018-06-22 | 深圳市彬讯科技有限公司 | 一种web系统自动化测试方法、装置、设备及存储介质 |
CN109933528A (zh) * | 2019-03-11 | 2019-06-25 | 恒生电子股份有限公司 | 一种自动化脚本封装的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851667A (zh) * | 2006-02-15 | 2006-10-25 | 华为技术有限公司 | 一种图形用户界面的测试方法和系统 |
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9177368B2 (en) * | 2007-12-17 | 2015-11-03 | Nvidia Corporation | Image distortion correction |
-
2013
- 2013-02-21 CN CN201310055757.6A patent/CN104008042B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851667A (zh) * | 2006-02-15 | 2006-10-25 | 华为技术有限公司 | 一种图形用户界面的测试方法和系统 |
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104008042A (zh) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104008042B (zh) | 一种ui自动化测试方法、系统和设备 | |
CN105138448B (zh) | 一种在前端测试页面的方法和装置 | |
CN104391786B (zh) | 网页自动化测试系统及其方法 | |
CN108446190A (zh) | 接口测试方法及装置 | |
CN108287694A (zh) | 应用程序构建方法、系统、计算机设备和存储介质 | |
CN107220036A (zh) | 一种组件和模板的可视化开发方法及系统 | |
CN107451110A (zh) | 一种生成会议纪要的方法、装置及服务器 | |
CN107818143A (zh) | 一种页面配置、生成方法及装置 | |
CN103309806B (zh) | 一种快速开发测试的装置及方法 | |
CN110941427B (zh) | 代码生成方法及代码生成器 | |
CN107481172A (zh) | 基于微信公众平台的交互式作业管理方法和系统 | |
CN106469140A (zh) | 一种报表生成系统及其方法 | |
CN107766255A (zh) | 基于Cucumber和Testng的WebUI自动化测试方法 | |
CN106371994B (zh) | 基于自然语言处理的动态移动app测试方法 | |
CN106294760A (zh) | 表单处理方法及服务器、客户端 | |
CN109062816A (zh) | 一种软件测试的方法、装置及设备 | |
CN109460227A (zh) | 一种网站前端的开发方法、装置、设备及介质 | |
Ebner et al. | Cloud-based service for eBooks using EPUB under the Aspect of Learning Analytics | |
CN113641569B (zh) | 机器人流程自动化方法 | |
CN104503992B (zh) | 一种题库构建方法 | |
CN107797917A (zh) | 性能测试脚本生成方法及装置 | |
CN106598872A (zh) | 智能设备应用程序处理系统和方法 | |
CN109033447B (zh) | 一种人脸识别数据可视化系统 | |
CN106155895A (zh) | 脚本数据处理方法及装置 | |
Strandberg | Automated system level software testing of networked embedded systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |