一种基于JSON的web自动化测试方法及其系统和装置制造方法及图纸

技术编号:24330937 阅读:29 留言:0更新日期:2020-05-29 19:35
本发明专利技术涉及程序自动化测试技术领域,尤其涉及一种基于JSON的web自动化测试方法及其系统和装置。一种基于JSON的web自动化测试方法,包括以下步骤:获取web应用的源代码;对所述源代码中的交互元素以及对应所述交互元素的行为进行标记,得到对应所述交互元素的元素库和对应所述行为的行为库;根据所述元素库和所述行为库创建至少一个测试用例,得到用例库;对所述用例库的至少一个所述测试用例进行测试,得到测试结果;其中,所述元素库、所述行为库和所述用例库中的数据均是采用JSON数据结构。本发明专利技术使用JSON数据结构来描述web测试流程,降低测试流程的编写门槛和成本。

【技术实现步骤摘要】
一种基于JSON的web自动化测试方法及其系统和装置
本专利技术涉及程序自动化测试
,尤其涉及一种基于JSON的web自动化测试方法及其系统和装置。
技术介绍
如今使用web技术构建的应用越来越多,更新迭代速度越来越快,如何保证web应用的质量是开发者面临的问题之一。自动化测试能在一定程度上保证应用的质量,但是当前的自动化测试技术依赖于开发人员测试脚本的编写,成本比较大,并且非技术人员无法参与维护,造成这种传统方法的投入产出比比较低。
技术实现思路
为了解决测试脚本编写和维护成本高的问题,本专利技术通过一种JSON数据结构来描述测试流程以及测试结果的判断,由于JSON数据结构比较简单,开发和测试都能快速构建流程,并且测试的流程能拆分到每个细微动作并且复用,总体上降低了成本。为实现上述目的,本专利技术第一方面的技术方案提供了一种基于JSON的web自动化测试方法,包括以下步骤:获取web应用的源代码;对所述源代码中的交互元素以及对应所述交互元素的行为进行标记,得到对应所述交互元素的元素库和对应所述行为的行为库;根据所述元素库和所述行为库创建至少一个测试用例,得到用例库;对所述用例库的至少一个所述测试用例进行测试,得到测试结果;其中,所述元素库、所述行为库和所述用例库中的数据均是采用JSON数据结构。在一些可能的实施方式中,所述元素库、所述行为库以及所述用例库均保存在云端。在一些可能的实施方式中,所述行为的类型为action类型和/或assert类型。在一些可能的实施方式中,对所述元素库和所述行为库选择和/或编辑,得到的方案进行测试,得到测试用例,所述测试用例组成所述用例库。在一些可能的实施方式中,调用puppeteer库对所述测试用例进行测试。本专利技术第二方面的技术方案提供了一种基于JSON的web自动化测试系统,包括:获取单元,被设置为用于获取web应用的源代码;标记单元,被设置为用于对所述源代码中的交互元素以及对应所述交互元素的行为进行标记,得到对应所述交互元素的元素库和对应所述行为的行为库;编辑单元,被设置为用于根据所述元素库和所述行为库创建至少一个测试用例,得到用例库;测试单元,被设置为用于对所述用例库的至少一个所述测试用例进行测试,得到测试结果;其中,所述元素库、所述行为库和所述用例库中的数据均是采用JSON数据结构。在一些可能的实施方式中,还包括云端服务器,所述云端服务器用于存储所述元素库、所述行为库和所述用例库。在一些可能的实施方式中,所述行为的类型包括action类型和/或assert类型。在一些可能的实施方式中,所述web自动化测试系统还包括:程序调用单元,被设置为用于调用puppeteer库对所述测试用例进行测试。本专利技术第三方面的技术方案提供了一种存储介质,用于存储可执行指令,所述可执行指令在被执行时实现上述的基于JSON的web自动化测试方法的步骤。本专利技术与现有技术相比所具有的有益效果:(1)使用JSON数据结构来描述web测试流程,降低测试流程的编写门槛和成本。(2)提出元素库、行为库、用例库的概念,将测试流程中的各个元素进行拆解维护,并通过快速组合和编辑,来提升测试用例的输出速度。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1示出了本专利技术实施方式中所涉及的基于JSON的web自动化测试方法的流程框图;图2示出了本专利技术实施方式中所涉及的基于JSON的web自动化测试系统的框图;图3示出了本专利技术实施方式中所涉及的另一种基于JSON的web自动化测试系统的框图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的其他方式来实施,因此,本专利技术的保护范围并不限于下面公开的具体实施例的限制。基于上述内容,下面参照图1至图3描述根据本专利技术一些实施例的基于JSON的web自动化测试方法及系统和装置。如图1所示,本专利技术实施例提供的一种基于JSON的web自动化测试方法,包括以下步骤:获取web应用的源代码;对所述源代码中的交互元素以及对应所述交互元素的行为进行标记,得到对应所述交互元素的元素库和对应所述行为的行为库;根据所述元素库和所述行为库创建至少一个测试用例,得到用例库;对所述用例库的至少一个所述测试用例进行测试,得到测试结果;其中,所述元素库、所述行为库和所述用例库中的数据均是采用JSON数据结构。本专利技术实施例提供的基于JSON的web自动化测试方法,各步骤中均以JSON数据结构为基础,如通过JSON数据结构标记交互元素,并将其收集,得到元素库;采用JSON数据结构呈现对元素库的交互元素的行为,其中,行为可以为操作行为或判断行为等,即采用JSON数据结构限定元素库的交互元素与行为的关系,对应元素库中不同的交互元素的行为形成行为库;使用元素库和行为库构建测试用例,同样采用JSON数据结构,这样多个测试用例形成用例库;运行用例库进行测试。本专利技术通过JSON数据结构来描述测试流程以及测试结果的判断,由于JSON数据结构比较简单,开发和测试都能快速构建流程,并且测试的流程能拆分到每个细微动作并且复用,总体上降低了成本。其中,获取web应用的源代码,本专利技术以web应用的源代码为基础构建元素库和行为库;具体地,标记交互元素并收集,形成元素库;一般来说,开发人员在应用程序可通过代码对交互元素进行标记,通过代码对交互元素进行标记可采用以下程序实现:<buttontest-id=‘submit_button’test-desc='提交按钮'/>。然后通过脚本进行文件解析收集所有的标记点,并进行存储,例如可以存储在任何计算机可读存储介质或者云端。收集的标记点组成元素库。在一些可能的实施方式中,所述元素库、所述行为库以及所述用例库均保存在云端。元素库、行为库以及用例库均保存在云端,方便随时访问,并且云端可以备份,可以传文件,等等。对所述元素库中的交互元素的行为存储,形成行为库;其中,行为的类型可通过action类型的JSON数据结构表示,也可以通过assert类型的JSON数据结构表示。而行为库中可以单独有action类型的JSON数据结构,也可以单独有assert类型的JSON数据结构,亦或者具有action类型的JSON数据结构和assert类型的JSON数据结构。action类型的行为可以包括很多种,如点击(可以包括双击、本文档来自技高网...

【技术保护点】
1.一种基于JSON的web自动化测试方法,其特征在于,包括以下步骤:/n获取web应用的源代码;/n对所述源代码中的交互元素以及对应所述交互元素的行为进行标记,得到对应所述交互元素的元素库和对应所述行为的行为库;/n根据所述元素库和所述行为库创建至少一个测试用例,得到用例库;/n对所述用例库的至少一个所述测试用例进行测试,得到测试结果;/n其中,所述元素库、所述行为库和所述用例库中的数据均是采用JSON数据结构。/n

【技术特征摘要】
1.一种基于JSON的web自动化测试方法,其特征在于,包括以下步骤:
获取web应用的源代码;
对所述源代码中的交互元素以及对应所述交互元素的行为进行标记,得到对应所述交互元素的元素库和对应所述行为的行为库;
根据所述元素库和所述行为库创建至少一个测试用例,得到用例库;
对所述用例库的至少一个所述测试用例进行测试,得到测试结果;
其中,所述元素库、所述行为库和所述用例库中的数据均是采用JSON数据结构。


2.根据权利要求1所述的基于JSON的web自动化测试方法,其特征在于,所述元素库、所述行为库以及所述用例库均保存在云端。


3.根据权利要求1所述的基于JSON的web自动化测试方法,其特征在于,所述行为的类型为action类型和/或assert类型。


4.根据权利要求1所述的基于JSON的web自动化测试方法,其特征在于,对所述元素库和所述行为库选择和/或编辑,得到的方案进行测试,得到测试用例,所述测试用例组成所述用例库。


5.根据权利要求1-4任一项所述的基于JSON的web自动化测试方法,其特征在于,调用puppeteer库对所述测试用例进行测试。


6.一种基于JSON的web自动化测试系统,其特征...

【专利技术属性】
技术研发人员:张凯
申请(专利权)人:杭州涂鸦信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1