【技术实现步骤摘要】
基于DOM树结构的UI自动化diff断言方法及装置
[0001]本专利技术涉及软件测试
,具体涉及一种基于DOM树结构的UI自动化diff断言方法及装置。
技术介绍
[0002]在UI自动化测试执行过程中,常常遵循以下技术规则:自动化模拟用户在被测产品的页面上操作页面控件,按预期执行完一段操作后,需要判断页面反馈是否符合预期。
[0003]如图1和图2所示的自动化程序在页面上模拟课堂互动签到业务,需要如下几个步骤:操作:1.老师角色的程序对象打开签到卡;2.老师角色的程序对象在签到卡上输入签到提示语及签到倒计时秒数;3.老师角色的程序对象点击发送签到按钮。
[0004]断言:a. 学生角色的程序对象是否收到来自老师的签到卡;b. 学生角色的程序对象收到的签到卡的提示语 是否与老师书写的一致;c. 学生角色的程序对象收到的签到卡的倒计时 是否与老师的填写的一致;d.学生角色的程序对象静候数秒,签到卡的倒计时是否如期递减。
[0005]对应于上述操作步骤,伪代码如下:class TestChecki ...
【技术保护点】
【技术特征摘要】
1.一种基于DOM树结构的UI自动化diff断言方法,其特征在于,包括:在UI自动化测试执行过程中,当测试用例代码初次运行时,保障产品无bug的前提下,建立基线文件;当重复运行同样的测试用例代码时,在对应的操作步骤生成状态快照文件;将状态快照文件与基线文件进行对比,当比对结果符合预设条件时,判断测试通过;所述在UI自动化测试执行过程中,当测试用例代码初次运行时,保障产品无bug的前提下,建立基线文件的步骤,包括:在UI自动化测试执行过程中,获取Web页面的 dom结构的字符串对象;转换 dom结构的字符串对象为json格式;判断基线文件是否存在,不存在则创建;将基线状态保存成JSON文件;若基线文件不存在,新建并写入基线数据;若基线文件存在但是为空,写入基线数据;根据所述基线数据和Web页面对象正确的状态值,生成基线文件;所述当重复运行同样的测试用例代码时,在对应的操作步骤生成状态快照文件的步骤,包括:在需要断言的操作步骤处注入diff断言埋点;当重复运行同样的测试用例代码时,根据Web页面对象的实际状态值,生成状态快照文件。2.如权利要求1所述的方法,其特征在于,所述将状态快照文件与基线文件进行对比,当比对结果符合预设条件时,判断测试通过的步骤,包括:将所述基线文件和状态快照文件在整个Web页面范围内进行diff比对;当比对结果一致时,判断测试通过。3.如权利要求2所述的方法,其特征在于,所述当比对结果一致时,判断测试通过的步骤,包括:获取Web页面的噪点元素特征库;根据所述Web页面的噪点元素特征库,判断状态快照文件对应Web页面中各噪点元素的阈值;当各所述噪点元素的阈值符合噪点控制规则时,判断测试通过。4.如权利要求3所述的方法,其特征在于,根据所述基...
【专利技术属性】
技术研发人员:曹立品,白剑,黄海亮,梁瑛玮,张海林,鲁和平,李长杰,陈焕然,李乐,王浩,洪行健,冷冬,丁一,
申请(专利权)人:广州易方信息科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。