基于自动化测试虚拟机技术计算关键字超时的方法技术

技术编号:38745718 阅读:10 留言:0更新日期:2023-09-08 23:27
本发明专利技术涉及自动化测试虚拟机技术领域,且公开了一种基于自动化测试虚拟机技术计算关键字超时的方法,包括关键字脚本的逻辑代码文件,关键字脚本的逻辑代码文件包含待测对象、关键字方法、参数三部分,基于自动化测试虚拟机技术计算关键字超时的方法包含关键字的定义文件、自动化测试虚拟机中的编译器、自动化测试虚拟机中的关键字计时模块。该基于自动化测试虚拟机技术计算关键字超时的方法,针对这些本来就隐含了超时时间的关键字做了优化处理,工程师编写自动化测试脚本时无需额外的定义超时时间,该技术让自动化测试脚本的编写变得自然流畅。自动化测试脚本在运行时,该技术能够更为合理地判断出当前关键字是正常的执行失败还是出现超时错误。行失败还是出现超时错误。行失败还是出现超时错误。

【技术实现步骤摘要】
基于自动化测试虚拟机技术计算关键字超时的方法


[0001]本专利技术涉及自动化测试虚拟机
,具体为一种基于自动化测试虚拟机技术计算关键字超时的方法。

技术介绍

[0002]在自动化测试的实施过程中,关键字执行时没有在规定的时间内正常返回,这是经常遇到的一种错误。自动化测试框架需要为每一个关键字设置一个超时时间。现有的解决方案中通常是给所有的关键字设置一个超时时间,或者为某一行关键字设置一个超时间,这样的方法比较古板。工程师在书写脚本的时候需要额外的考虑超时参数,甚至有时这个参数和关键字本身的实现是冲突的。比如说某些关键字的行为是让脚本停止一段时间,具体停止时间由脚本内的参数来决定,让工程师编写自动化测试脚本时,为这种类型的关键字定义一个额外的超时时间,显然是不合理的,为此本申请现提出基于自动化测试虚拟机技术计算关键字超时的方法。

技术实现思路

[0003](一)解决的技术问题
[0004]针对现有技术的不足,本专利技术提供了一种基于自动化测试虚拟机技术计算关键字超时的方法,具备为将要执行的关键字生成一个合适的超时时间,并且在运行时根据这个时间判断出关键字是执行失败还是出现超时错误的优点。
[0005](二)技术方案
[0006]为实现上述目的,本专利技术提供如下技术方案:一种基于自动化测试虚拟机技术计算关键字超时的方法,包括关键字脚本的逻辑代码文件,所述关键字脚本的逻辑代码文件包含待测对象、关键字方法、参数三部分,所述基于自动化测试虚拟机技术计算关键字超时的方法包含关键字的定义文件、自动化测试虚拟机中的编译器、自动化测试虚拟机中的关键字计时模块,所述自动化测试虚拟机中的编译器包括读取关键字的定义文件与编译器识别关键字脚本的逻辑代码文件中的每一行关键字两部分。
[0007]优选的,所述关键字脚本的逻辑代码文件包含待测对象、关键字方法、参数表现形式为面对对象风格的{待测对象}.{关键字方法}.({参数列表})形式与csv格式的{待测对象},{关键字方法},{参数列表}的形式其中一种,关键字脚本的逻辑代码文件会保存到自动化测试项目的脚本目录下。隐含了超时时间的关键字常常具有以下的形式,
[0008]myButton.waitForAttributeValue(attributeName=”href”,value=
””
,timeout=15000)。
[0009]优选的,所述待测对象定义在待测对象地址簿中,它的名字和关键字脚本中出现的待测对象一致,所述待测对象可以使用Json,YML,XML格式保存,Json格式的例子如下:
[0010][0011]优选的,所述关键字的定义文件中说明了一个关键字的名字以及超时时间是否由关键字的输入参数定义是否是验证点,特征值为timeoutByParam,所述关键字的定义文件可以使用Json,YML,XML格式保存,Json格式的例子如下:
[0012][0013]优选的,所述读取关键字的定义文件,读取所有关键字的timeoutByParam是否为真。
[0014]优选的,所述编译器识别关键字脚本的逻辑代码文件中的每一行关键字,如果当前关键字的timeoutByParam为真且当前关键字有timeout参数,则将timeout参数的值加上关键字计时模块轮询关键字的间隔时间作为当前关键字的超时时间放到符号表中。如果当前关键字的timeoutByParam为真且当前关键字没有timeout参数,则将第一个参数的值加上关键字计时模块轮询关键字的间隔时间作为当前关键字的超时时间放到符号表中。如果当前关键字的timeoutByParam为假,则将全局设置的超时时间放到符号表中。
[0015]优选的,所述自动化测试虚拟机中的关键字计时模块:负责计算当前关键字的执行时间,当发生超时错误时通知执行器,关键字脚本运行时,每个关键字开始前,关键字模块计时开始工作。如果关键字计时模块发现执行时间大于符号表中的超时时间,将这个关键字记录为超时错误。这样就可以区分关键字的执行结果是因为产品缺陷导致的失败还是关键字实现导致的失败。
[0016]与现有技术相比,本专利技术提供了一种基于自动化测试虚拟机技术计算关键字超时的方法,具备以下有益效果:
[0017]1、该基于自动化测试虚拟机技术计算关键字超时的方法,针对这些本来就隐含了超时时间的关键字,工程师编写自动化测试脚本时无需额外的定义超时时间,该技术让自动化测试脚本的编写变得自然流畅。自动化测试脚本在运行时,该技术能够判断出当前关键字是正常的执行失败还是出现超时错误。
[0018]2、该基于自动化测试虚拟机技术计算关键字超时的方法,本专利技术为关键字的定义引入一个新的属性,timeoutByParam,当这个属性为真时,表示这个关键字的超时时间受到的约束是关键字脚本的逻辑代码中编写的关键字的timeout参数。如果没有timeout参数,那么为当前关键字的第一个参数。对于实现本身就隐含了时间特性的关键字,本专利通过关键字定义中的timeoutByParam,将超时时间和自动化测试脚本形成了有效的关联。
[0019]3、该基于自动化测试虚拟机技术计算关键字超时的方法,为具有时间特性的关键字的超时时间的计算设计了完整的逻辑,便于理解和应用。
[0020]4、该基于自动化测试虚拟机技术计算关键字超时的方法,工程师在编写自动化测试脚本时能够更加自然地理解具有时间特性地关键字的超时错误和业务逻辑错误。
[0021]5、该基于自动化测试虚拟机技术计算关键字超时的方法,工程师在编写自动化测试脚本时无需为那些具有时间特性的关键字设置额外的超时时间。简化了脚本的编写难度。
附图说明
[0022]图1为本专利技术流程示意图;
[0023]图2为本专利技术自动化测试虚拟机示意图。
具体实施方式
[0024]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]请参阅图1

2,一种基于自动化测试虚拟机技术计算关键字超时的方法,包括关键字脚本的逻辑代码文件,所述关键字脚本的逻辑代码文件包含待测对象、关键字方法、参数三部分,所述基于自动化测试虚拟机技术计算关键字超时的方法包含关键字的定义文件、自动化测试虚拟机中的编译器、自动化测试虚拟机中的关键字计时模块,所述自动化测试虚拟机中的编译器包括读取关键字的定义文件与编译器识别关键字脚本的逻辑代码文件中的每一行关键字两部分。
[0026]进一步的,所述关键字脚本的逻辑代码文件包含待测对象、关键字方法、参数表现形式为面对对象风格的{待测对象}.{关键字方法}.({参数列表})形式与csv格式的{待测对象},{关键字方法},{参数列表}的形式其中一种,关键字脚本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自动化测试虚拟机技术计算关键字超时的方法,其特征在于:包括关键字脚本的逻辑代码文件,所述关键字脚本的逻辑代码文件包含待测对象、关键字方法、参数三部分,所述基于自动化测试虚拟机技术计算关键字超时的方法包含关键字的定义文件、自动化测试虚拟机中的编译器、自动化测试虚拟机中的关键字计时模块,所述自动化测试虚拟机中的编译器包括读取关键字的定义文件与编译器识别关键字脚本的逻辑代码文件中的每一行关键字两部分。2.根据权利要求1所述的一种基于自动化测试虚拟机技术计算关键字超时的方法,其特征在于:所述关键字脚本的逻辑代码文件包含待测对象、关键字方法、参数表现形式为面对对象风格的{待测对象}.{关键字方法}.({参数列表})形式与csv格式的{待测对象},{关键字方法},{参数列表}的形式其中一种,隐含了超时时间的关键字常常具有形式:myButton.waitForAttributeValue(attributeName=”href”,value=”www.waredone.com”,timeout=15000)。3.根据权利要求1所述的一种基于自动化测试虚拟机技术计算关键字超时的方法,其特征在于:所述待测对象定义在待测对象...

【专利技术属性】
技术研发人员:史星富杨晓军曹檀
申请(专利权)人:合肥力动软件开发有限公司
类型:发明
国别省市:

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

1