米乐M6

行业新闻

M6 米乐一种自动化案例生成方法及系统与流程

  米乐M6 M6米乐米乐M6 M6米乐导航:X技术最新专利计算;推算;计数设备的制造及其应用技术

  1.本技术涉及自动化数据处理技术领域,更具体地说,涉及一种自动化案例生成方法及系统。

  2.自动化测试一般包含界面级自动化测试和接口级自动化测试,接口级自动化测试针对接口调用,自动传输符合接口规范的数据并接收返回结果。

  3.目前,自动化案例建立和维护方法依赖于人工录入、维护和执行,数据的采集由前端发起交易,提取交易数据,根据接口文档录入案例格式,导入后生成自动化案例。

  4.传统的自动化案例创建主要依赖人工完成,从数据的获取、案例建立、案例执行、案例维护等都主要依赖于人工,并且在案例执行阶段,通过回归测试执行自动化案例时,由于自动化案例里的数据固化,当测试环境数据发生变化时,导致自动化案例里的数据不可用,或者出现状态异常等情况,使得案例无法正常执行,需要时常进行人工维护,造成人力成本的浪费和进行回归测试效率降低。

  6.有鉴于此,本技术公开了一种自动化案例生成方法及系统,旨在降低人工成本,提高执行自动化案例的效率。

  9.通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到所述流式报文的报文内容,并从所述报文内容中提取出交易类型的报文;所述流式报文用于表征以连续的字符串形式传输的报文;

  10.通过预先读取到的接口文档对所述流式报文进行分割,得到所述流式报文的报文头和报文体;

  11.根据所述交易类型的报文、所述报文头、所述报文体和预设报文规范格式,生成数据字典;

  15.获取所述流式报文中的报文要素;所述报文要素至少包括报文类型、交易码、开始标识和结束标识;

  16.将所述报文类型、所述交易码、所述开始标识和所述结束标识进行拼接,得到正则表达式。

  17.优选的,所述通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得

  到所述流式报文的报文内容,并从所述报文内容中提取出交易类型的报文,包括:

  18.通过所述正则表达式确定报文日志中的流式报文对应的开始标识和结束标识;

  21.截取所述流式报文的起始位置和所述流式报文的结束位置之间的报文,得到所述流式报文的报文内容;

  22.通过所述正则表达式和所述交易码,确定所述报文内容中的交易类型字段;

  24.优选的,所述通过预先读取到的接口文档对所述流式报文进行分割,得到所述流式报文的报文头和报文体,包括:

  27.通过所述n个数据域对所述流式报文进行分割,得到所述流式报文的报文头和报文体。

  28.优选的,在所述基于填充后的数据字典生成自动化案例并执行之后,还包括:

  30.若所述执行结果为预设结果,则对所述执行结果对应的自动化案例的状态标记为可执行状态并更新;所述预设结果用于表征存在交易类型的报文;

  31.若所述执行结果不为所述预设结果,则对所述执行结果对应的自动化案例的状态标记为待维护状态。

  33.匹配单元,用于通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到所述流式报文的报文内容,并从所述报文内容中提取出交易类型的报文;所述流式报文用于表征以连续的字符串形式传输的报文;

  34.分割单元,用于通过预先读取到的接口文档对所述流式报文进行分割,得到所述流式报文的报文头和报文体;

  35.生成单元,用于根据所述交易类型的报文、所述报文头、所述报文体和预设报文规范格式,生成数据字典;

  39.第一获取模块,用于获取所述流式报文中的报文要素;所述报文要素至少包括报文类型、交易码、开始标识和结束标识;

  40.拼接模块,用于将所述报文类型、所述交易码、所述开始标识和所述结束标识进行拼接,得到正则表达式。

  42.第一确定模块,用于通过所述正则表达式确定报文日志中的流式报文对应的开始标识和结束标识;

  45.截取模块,用于截取所述流式报文的起始位置和所述流式报文的结束位置之间的报文,得到所述流式报文的报文内容;

  46.第二确定模块,用于通过所述正则表达式和所述交易码,确定所述报文内容中的交易类型字段;

  50.生成模块,用于基于所述接口文档生成n个数据域;所述n为大于等于1的整数;

  51.分割模块,用于通过所述n个数据域对所述流式报文进行分割,得到所述流式报文的报文头和报文体。

  53.提取单元,用于提取执行所述自动化案例的执行结果,并对所述执行结果进行判定;

  54.第一标记单元,用于若所述执行结果为预设结果,则对所述执行结果对应的自动化案例的状态标记为可执行状态并更新;所述预设结果用于表征存在交易类型的报文;

  55.第二标记单元,若所述执行结果不为所述预设结果,则对所述执行结果对应的自动化案例的状态标记为待维护状态。

  56.经由上述技术方案可知,通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文,流式报文用于表征以连续的字符串形式传输的报文,通过预先读取到的接口文档对流式报文进行分割,得到流式报文的报文头和报文体,根据所述交易类型的报文、报文头、所述报文体和预设报文规范格式,生成数据字典,将流式报文的报文内容填充至数据字典中,基于填充后的数据字典生成自动化案例并执行。通过上述方案,在执行自动化案例的过程中,无需通过人工进行数据的获取、案例建立、案例执行、案例维护等操作,降低人工成本,并且通过正则表达式匹配最新时刻的交易数据同步更新至自动化案例,自动化案例的数据非固化,因此当测试环境数据发生变化时,自动化案例可以正常执行,提高执行自动化案例的效率。

  57.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

  60.图3为本技术实施例公开的得到流式报文的报文内容,从报文内容中提取出交易类型的报文的流程示意图;

  61.图4为本技术实施例公开的通过预先读取到的接口文档对流式报文进行分割,得到流式报文的报文头和报文体的流程示意图;

  63.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。

  64.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个

  限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

  65.由背景技术可知,现有的自动化案例创建的人工成本高且执行自动化案例的效率低。

  66.为了解决上述问题,本技术实施例公开了一种自动化案例生成方法及系统,在执行自动化案例的过程中,无需通过人工进行数据的获取、案例建立、案例执行、案例维护等操作,降低人工成本,并且通过正则表达式匹配最新时刻的交易数据同步更新至自动化案例,自动化案例的数据非固化,因此当测试环境数据发生变化时,自动化案例可以正常执行,提高执行自动化案例的效率。具体实现方式通过下述实施例进行说明。

  67.参考图1所示,为本技术实施例公开的一种自动化案例生成方法的流程示意图,该自动化案例生成方法主要包括如下步骤:

  68.s101:通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文;流式报文用于表征以连续的字符串形式传输的报文。

  69.在s101中,根据报文日志产生的频率和体量设定扫描时间范围,通过该扫描时间范围扫描报文日志中的流式报文。

  70.具体扫描时间范围的确定由技术人员根据实际情况进行设置,本技术不做具体限定。

  71.通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文的过程如a1

  72.a1:通过正则表达式确定报文日志中的流式报文对应的开始标识和结束标识。

  73.流式报文包括报文发送方、接收方、报文类型、交易码、开始标识和结束标识等。

  74.正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

  76.首先,获取流式报文中的报文要素;报文要素至少包括报文类型、交易码、开始标识和结束标识,然后,将报文类型、交易码、开始标识和结束标识进行拼接,得到正则表达式。

  79.a4:截取流式报文的起始位置和流式报文的结束位置之间的报文,得到流式报文的报文内容。

  81.其中,从提取出的日志中的报文内容后,由于报文内容中存在交易类型的字段(交易码),设定日志扫描程序和扫描时间范围,通过正则表达式匹配出最新时刻的交易类型的字段。

  84.s102:通过预先读取到的接口文档对流式报文进行分割,得到流式报文的报文头和报文体。

  85.在s102中,读取接口文档,基于接口文档生成n个数据域,n为大于等于1的整数,通过n个数据域对流式报文进行分割,得到流式报文的报文头和报文体。

  87.接口文档使得项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发,并且在项目维护中或者项目人员更迭,方便后期人员进行查看、维护等操作。

  88.s103:根据交易类型的报文、报文头、报文体和预设报文规范格式,生成数据字典。

  89.在s103中,在读取接口文档时,获取接口文档对应的接口文档规范,基于接口文档规范生成预设报文规范格式。

  90.预设接口文档规范为在前后台分离情况下,后台可以采用不同的后台运用,开发出类似的功能,所以前后台请求响应的规则是一致的,如果安装一套标准来编写接口,后台不管是其他编程语言,前台都可以采用一样的方式进行交互。

  91.数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合。

  93.在s104中,将流式报文的报文内容填充至数据字典中,使数据字典中的数据与流式报文的报文内容的格式一一对应。

  95.在执行自动化案例后,提取执行自动化案例的执行结果,并对执行结果进行判定。

  96.若执行结果为预设结果,则对执行结果对应的自动化案例的状态标记为可执行状态并更新;预设结果用于表征存在交易类型的报文。

  97.若执行结果不为预设结果,则对执行结果对应的自动化案例的状态标记为待维护状态。

  98.其中,若执行结果不为预设结果,则扩大扫描报文日志范围,选取其他日期、时段的报文日志,并执行通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文这一步骤。

  100.例如,某一天或者某一时段的报文日志,没有发生交易,确定没有交易类型的报文,即正则表达式上没有从报文内容中匹配提取出交易类型的报文,则该执行结果不为预设结果。

  102.更新方式包括手动更新案例和自动更新案例。手动更新案例:执行已经建立的自动化案例,如果无法得到预期结果/执行失败,则将案例状态改为“待维护”状态,并重新执行通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文这一步骤。

  103.自动更新案例。设定日志扫描程序,定时扫描报文日志,匹配最新交易类型的报文,如果无法得到预设结果或执行失败,则将案例状态改为“待维护”状态,并重新执行通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文这一步骤,直至可以得到预期结果,并将案例状态更新为“最新可执行”,同步更新自动化测试案例的时间。

  104.本技术实施例中,在执行自动化案例的过程中,无需通过人工进行数据的获取、案例建立、案例执行、案例维护等操作,降低人工成本,并且通过正则表达式匹配最新时刻的交易数据同步更新至自动化案例,自动化案例的数据非固化,因此当测试环境数据发生变化时,自动化案例可以正常执行,提高执行自动化案例的效率。

  105.参考图2所示,为上述s101中涉及到正则表达式的建立过程,主要包括如下步骤:

  106.s201:获取流式报文中的报文要素;报文要素至少包括报文类型、交易码、开始标识和结束标识。

  107.s202:将报文类型、交易码、开始标识和结束标识进行拼接,得到正则表达式。

  s202的执行原理与上述s101的执行原理一致,可参考,此处不再进行赘述。

  109.本技术实施例中,获取流式报文中的报文要素;报文要素至少包括报文类型、交易码、开始标识和结束标识,实现将报文类型、交易码、开始标识和结束标识进行拼接,得到正则表达式的目的。

  110.参考图3所示,为上述s101中涉及到通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文的过程,主要包括如下步骤:

  111.s301:通过正则表达式确定报文日志中的流式报文对应的开始标识和结束标识。

  114.s304:截取流式报文的起始位置和流式报文的结束位置之间的报文,得到流式报文的报文内容。

  115.s305:通过正则表达式和交易码,确定报文内容中的交易类型字段。

  s306的执行原理与上述s101的执行原理一致,可参考,此处不再进行赘述。

  118.本技术实施例中,通过正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,实现从报文内容中提取出交易类型的报文的目的。

  119.参考图4所示,为上述s102中涉及到的通过预先读取到的接口文档对流式报文进

  122.s403:通过n个数据域对流式报文进行分割,得到流式报文的报文头和报文体。

  s403的执行原理与上述s102的执行原理一致,可参考,此处不再进行赘述。

  124.本技术实施例中,通过读取接口文档得到数据域,并通过数据域对流式报文进行分割,实现得到流式报文的报文头和报文体的目的。

  125.基于上述实施例图1公开的一种自动化案例生成方法,本技术实施例还对应公开了一种自动化案例生成系统,如图5所示,该自动化案例生成系包括匹配单元501、分割单元502、生成单元503、填充单元504和执行单元505。

  126.匹配单元501,用于通过预先建立的正则表达式对报文日志中的流式报文进行匹配,得到流式报文的报文内容,并从报文内容中提取出交易类型的报文;流式报文用于表征以连续的字符串形式传输的报文。

  127.分割单元502,用于通过预先读取到的接口文档对流式报文进行分割,得到流式报文的报文头和报文体。

  128.生成单元503,用于根据交易类型的报文、报文头、报文体和预设报文规范格式,生成数据字典。

  130.执行单元505,用于基于填充后的数据字典生成自动化案例并执行。

  131.进一步的,正则表达式的建立过程的匹配单元501包括第一获取模块和拼接模块。

  132.第一获取模块,用于获取流式报文中的报文要素;报文要素至少包括报文类型、交易码、开始标识和结束标识。

  133.拼接模块,用于将报文类型、交易码、开始标识和结束标识进行拼接,得到正则表达式。

  134.进一步的,匹配单元501包括第一确定模块、第一标注模块、第二标注模块、截取模块、第二确定模块和第二获取模块。

  135.第一确定模块,用于通过正则表达式确定报文日志中的流式报文对应的开始标识和结束标识。

  138.截取模块,用于截取流式报文的起始位置和流式报文的结束位置之间的报文,得到流式报文的报文内容。

  139.第二确定模块,用于通过正则表达式和交易码,确定报文内容中的交易类型字段。

  143.生成模块,用于基于接口文档生成n个数据域;n为大于等于1的整数。

  144.分割模块,用于通过n个数据域对流式报文进行分割,得到流式报文的报文头和报文体。

  145.进一步的,自动化案例生成系统还包括提取单元、第一标记单元和第二标记单元。

  146.提取单元,用于提取执行自动化案例的执行结果,并对执行结果进行判定。

  147.第一标记单元,用于若执行结果为预设结果,则对执行结果对应的自动化案例的状态标记为可执行状态并更新;预设结果用于表征存在交易类型的报文。

  148.第二标记单元,若执行结果不为所述预设结果,则对执行结果对应的自动化案例的状态标记为待维护状态。

  149.本技术实施例中,在执行自动化案例的过程中,无需通过人工进行数据的获取、案例建立、案例执行、案例维护等操作,降低人工成本,并且通过正则表达式匹配最新时刻的交易数据同步更新至自动化案例,自动化案例的数据非固化,因此当测试环境数据发生变化时,自动化案例可以正常执行,提高执行自动化案例的效率。

  150.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。

  151.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

  152.本技术各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

  153.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

  154.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

  155.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

  1.计算机视觉 2.无线.计算机仿线.网络安全;物联网安全 、大数据安全 2.安全态势感知、舆情分析和控制 3.区块链及应用