CN113076262B - 网页自动化测试方法及装置 - Google Patents

网页自动化测试方法及装置 Download PDF

Info

Publication number
CN113076262B
CN113076262B CN202110484636.8A CN202110484636A CN113076262B CN 113076262 B CN113076262 B CN 113076262B CN 202110484636 A CN202110484636 A CN 202110484636A CN 113076262 B CN113076262 B CN 113076262B
Authority
CN
China
Prior art keywords
webpage
control
visible
test
testing
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
Application number
CN202110484636.8A
Other languages
English (en)
Other versions
CN113076262A (zh
Inventor
闫毅芊
李艳
高珊
刘冠男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110484636.8A priority Critical patent/CN113076262B/zh
Publication of CN113076262A publication Critical patent/CN113076262A/zh
Application granted granted Critical
Publication of CN113076262B publication Critical patent/CN113076262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

本申请实施例提供一种网页自动化测试方法及装置,也可用于金融领域,方法包括:根据加载后的网页页面的网页脚本确定对应的层级结构树;对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法;根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果;本申请能够有效弥补人为编写测试路径时的信息不全面,提高网页测试效率和准确率。

Description

网页自动化测试方法及装置
技术领域
本申请涉及软件测试领域,也可用于金融领域,具体涉及一种网页自动化测试方法及装置。
背景技术
互联网飞速发展的今日,前端页面为了迎合用户不断更新的需求面临频繁的优化,于是前端逻辑层级日渐复杂,对于网页测试脚本的录入编写工作带来不小的挑战,同时对于缺少一定门槛的新手来说难度不断增加。
发明人发现,现有技术中对于网页测试已有诸多解决方案,如DOM树识别、控件识别等,但在面临不同开发人员习惯、开发稳定性的压力下,这种方案可操作性逐渐下降,同时对已经写好的自动化测试脚本来说几乎一夜之间作废,再无可复用性。而目前对于自动化脚本的生成优化尚未更好的解决方案。
发明内容
针对现有技术中的问题,本申请提供一种网页自动化测试方法及装置,能够有效弥补人为编写测试路径时的信息不全面,提高网页测试效率和准确率。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种网页自动化测试方法,包括:
根据加载后的网页页面的网页脚本确定对应的层级结构树;
对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法;
根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果。
进一步地,所述对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法,包括:
对经过所述分割截图处理后得到的各所述可见控件的控件图像进行文本识别和样式识别,根据预设数据库中的控件类型关系表以及所述文本识别和样式识别的识别结果确定各所述可见控件的控件类型;
对所述网页页面的网页脚本进行分析,确定所述网页页面上各所述可见控件的控件名称;
若所述控件类型与所述控件名称相匹配,则获取各所述可见控件的控件结构树和控件位置,并根据所述控件结构树和控件位置确定各所述可见控件的操作方法。
进一步地,所述根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果,包括:
根据所述测试操作路径生成网页自动交互程序并执行所述网页自动交互程序以对所述网页页面执行网页测试操作,其中,所述测试操作路径对应所述层级结构树中的子节点网页;
判断当前网页测试操作完成后所述网页页面是否重新加载且重新加载后的网页页面的层级结构树是否发生变化,若是,则保存本次网页测试操作的测试操作路径和网页测试结果。
进一步地,在所述保存本次网页测试操作的测试操作路径和网页测试结果之后,包括:
判断所述测试操作路径中子节点网页是否为业务流程终止网页;
若是,则根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,并根据所述测试操作回溯路径对所述父节点网页执行网页测试操作,得到网页测试结果。
进一步地,所述判断所述测试操作路径中子节点网页是否为业务流程终止网页,包括:
判断所述测试操作路径中子节点网页是否满足出现特定终止控件、无可交互页面、页面关闭或页面重复中的任意一种条件,若是,则判定所述子节点网页为业务流程终止网页。
进一步地,所述根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,包括:
判断与所述子节点网页相应的父节点网页中是否存在与链接至所述子节点网页不同的其他可见控件,若是,则根据所述父节点网页上的该可见控件生成测试操作回溯路径。
第二方面,本申请提供一种网页自动化测试装置,包括:
网页层级确定模块,用于根据加载后的网页页面的网页脚本确定对应的层级结构树;
可见控件确定模块,用于对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法;
网页自动测试模块,用于根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果。
进一步地,所述可见控件确定模块包括:
图像识别单元,用于对经过所述分割截图处理后得到的各所述可见控件的控件图像进行文本识别和样式识别,根据预设数据库中的控件类型关系表以及所述文本识别和样式识别的识别结果确定各所述可见控件的控件类型;
脚本分析单元,用于对所述网页页面的网页脚本进行分析,确定所述网页页面上各所述可见控件的控件名称;
控件结构树确定单元,用于若所述控件类型与所述控件名称相匹配,则获取各所述可见控件的控件结构树和控件位置,并根据所述控件结构树和控件位置确定各所述可见控件的操作方法。
进一步地,所述网页自动测试模块包括:
自动交互单元,用于根据所述测试操作路径生成网页自动交互程序并执行所述网页自动交互程序以对所述网页页面执行网页测试操作,其中,所述测试操作路径对应所述层级结构树中的子节点网页;
交互终止单元,用于判断当前网页测试操作完成后所述网页页面是否重新加载且重新加载后的网页页面的层级结构树是否发生变化,若是,则保存本次网页测试操作的测试操作路径和网页测试结果。
进一步地,还包括:
业务闭环判断单元,用于判断所述测试操作路径中子节点网页是否为业务流程终止网页;
回溯测试单元,用于若所述测试操作路径中子节点网页为业务流程终止网页,则根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,并根据所述测试操作回溯路径对所述父节点网页执行网页测试操作,得到网页测试结果。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的网页自动化测试方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的网页自动化测试方法的步骤。
由上述技术方案可知,本申请提供一种网页自动化测试方法及装置,通过图像识别技术实现对网页页面的控件识别处理,并基于网页页面的层级结构树自动创建合理的测试操作路径对网页页面进行适应性测试,弥补了人为操作编写测试操作路径的不足,达到了测试场景的最大化发掘。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的网页自动化测试方法的流程示意图之一;
图2为本申请实施例中的网页自动化测试方法的流程示意图之二;
图3为本申请实施例中的网页自动化测试方法的流程示意图之三;
图4为本申请实施例中的网页自动化测试方法的流程示意图之四;
图5为本申请实施例中的网页自动化测试装置的结构图之一;
图6为本申请实施例中的网页自动化测试装置的结构图之二;
图7为本申请实施例中的网页自动化测试装置的结构图之三;
图8为本申请实施例中的网页自动化测试装置的结构图之四;
图9为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中对于网页测试已有诸多解决方案,如DOM树识别、控件识别等,但在面临不同开发人员习惯、开发稳定性的压力下,这种方案可操作性逐渐下降,同时对已经写好的自动化测试脚本来说几乎一夜之间作废,再无可复用性的问题,本申请提供一种网页自动化测试方法及装置,通过图像识别技术实现对网页页面的控件识别处理,并基于网页页面的层级结构树自动创建合理的测试操作路径对网页页面进行适应性测试,弥补了人为操作编写测试操作路径的不足,达到了测试场景的最大化发掘。
为了能够有效弥补人为编写测试路径时的信息不全面,提高网页测试效率和准确率,本申请提供一种网页自动化测试方法的实施例,参见图1,所述网页自动化测试方法具体包含有如下内容:
步骤S101:根据加载后的网页页面的网页脚本确定对应的层级结构树。
可选的,为了确保本申请存储的层级结构树(DOM树)为最大可见层级,本申请可以预先针对网页页面脚本js内容逐层读取,如多层iframe嵌套跳转、鼠标滚轮加载事件等确保存储的DOM树为最大可见层级。
步骤S102:对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法。
可选的,本申请为确保图像识别精准,可以设定python自动化网页页面比例为固定值,例如1366*768px。
可选的,本申请可以基于自动化网页浏览器对网页页面所有可见控件进行截图分割处理,同时可以以控件路径id命名。
可选的,对经过所述分割截图处理后得到的各所述可见控件的控件图像可以进行文本识别和样式识别,同时可以结合数据库中已有类型关系表赋予初始定义,如选择、日历、按钮(确认),按钮(返回)等,然后,本申请可以基于js脚本中tag内容再次判断,如button、radio、a等或描述文本含有“按钮”“确认”等文字,以此确定所确定的可见控件类型与名称相匹配,并在匹配通过后获取单一控件的结构树和树id,并获取控件在页面的x,y坐标值,最后,本申请可以运用现有机器学习方法将上述信息输入神经网络模型,得出此可见控件的类型和操作方法。
步骤S103:根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果。
可选的,基本上述已明确的可见控件的控件类别和操作方法后,本申请可以由此编写自动化交互程序脚本对网页页面进行交互操作,如输入/点选,并判断此时js返回的DOM是否发生变化、网页是否重新加载,若是,则记录操作直至页面重新加载,保存此次操作路径和网页测试结果并在新页面重新分析。
从上述描述可知,本申请实施例提供的网页自动化测试方法,能够通过图像识别技术实现对网页页面的控件识别处理,并基于网页页面的层级结构树自动创建合理的测试操作路径对网页页面进行适应性测试,弥补了人为操作编写测试操作路径的不足,达到了测试场景的最大化发掘。
为了能够准确确定网页页面中的各可见控件,在本申请的网页自动化测试方法的一实施例中,参见图2,上述步骤S102还可以具体包含如下内容:
步骤S201:对经过所述分割截图处理后得到的各所述可见控件的控件图像进行文本识别和样式识别,根据预设数据库中的控件类型关系表以及所述文本识别和样式识别的识别结果确定各所述可见控件的控件类型。
步骤S202:对所述网页页面的网页脚本进行分析,确定所述网页页面上各所述可见控件的控件名称。
步骤S203:若所述控件类型与所述控件名称相匹配,则获取各所述可见控件的控件结构树和控件位置,并根据所述控件结构树和控件位置确定各所述可见控件的操作方法。
可选的,对经过所述分割截图处理后得到的各所述可见控件的控件图像可以进行文本识别和样式识别,同时可以结合数据库中已有类型关系表赋予初始定义,如选择、日历、按钮(确认),按钮(返回)等,然后,本申请可以基于js脚本中tag内容再次判断,如button、radio、a等或描述文本含有“按钮”“确认”等文字,以此确定所确定的可见控件类型与名称相匹配,并在匹配通过后获取单一控件的结构树和树id,并获取控件在页面的x,y坐标值,最后,本申请可以运用现有机器学习方法将上述信息输入神经网络模型,得出此可见控件的类型和操作方法。
为了能够自动执行网页页面的测试操作,在本申请的网页自动化测试方法的一实施例中,参见图3,上述步骤S103还可以具体包含如下内容:
步骤S301:根据所述测试操作路径生成网页自动交互程序并执行所述网页自动交互程序以对所述网页页面执行网页测试操作,其中,所述测试操作路径对应所述层级结构树中的子节点网页。
步骤S302:判断当前网页测试操作完成后所述网页页面是否重新加载且重新加载后的网页页面的层级结构树是否发生变化,若是,则保存本次网页测试操作的测试操作路径和网页测试结果。
可选的,基本上述已明确的可见控件的控件类别和操作方法后,本申请可以由此编写自动化交互程序脚本对网页页面进行交互操作,如输入/点选,并判断此时js返回的DOM是否发生变化、网页是否重新加载,若是,则记录操作直至页面重新加载,保存此次操作路径和网页测试结果并在新页面重新分析。
为了能够全面执行网页页面的测试操作,在本申请的网页自动化测试方法的一实施例中,参见图4,上述步骤S302之后,还可以具体包含如下内容:
步骤S401:判断所述测试操作路径中子节点网页是否为业务流程终止网页。
步骤S402:若是,则根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,并根据所述测试操作回溯路径对所述父节点网页执行网页测试操作,得到网页测试结果。
具体的,首先,经过一段时间运行后,已有从A-B-C-A’等页面的操作路径和每个页面的代码内容、DOM树和页面快照,此时本申请需判断业务流程闭环,即判断所述测试操作路径中子节点网页是否满足出现特定终止控件、无可交互页面、页面关闭或页面重复中的任意一种条件,若是,则判定所述子节点网页为业务流程终止网页,例如,当A’页面出现明显的终止控件“弹窗”、无可交互页面、页面关闭或页面重复=C,则判断该操作闭环,记录路径结果为一次有效路径,并查询最终页面内关键词,如“恭喜/完成/结束/错误/谢谢/再见”等已在数据库中维护。
然后,本申请可以根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,即从业务流程终止网页A’回溯一个页面C,此时需要判断与所述子节点网页相应的父节点网页中是否存在与链接至所述子节点网页不同的其他可见控件,若是,则根据所述父节点网页上的该可见控件生成测试操作回溯路径,即重新模拟(A-B-C)寻找是否存在第二个可使页面重新加载的控件,点击进入页面后与A’进行判断。
最后,若C已无可交互内容则返回B页面重复网页测试操作,直至回到A页面,可以理解的是,本申请通过整理所有页面、控件形成路径树,如:
A(输入、选择时间、确认)-B(输入、输入、确认)-C(确认、结束);
A(输入、选择时间、确认)-B(输入、确认)-C(确认,失败);
由此,本申请可以基于python自定义页面操作路径重新自动化编写成QTP脚本操作语言,并保存。
为了能够有效弥补人为编写测试路径时的信息不全面,提高网页测试效率和准确率,本申请提供一种用于实现所述网页自动化测试方法的全部或部分内容的网页自动化测试装置的实施例,参见图5,所述网页自动化测试装置具体包含有如下内容:
网页层级确定模块10,用于根据加载后的网页页面的网页脚本确定对应的层级结构树。
可见控件确定模块20,用于对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法。
网页自动测试模块30,用于根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果。
从上述描述可知,本申请实施例提供的网页自动化测试装置,能够通过图像识别技术实现对网页页面的控件识别处理,并基于网页页面的层级结构树自动创建合理的测试操作路径对网页页面进行适应性测试,弥补了人为操作编写测试操作路径的不足,达到了测试场景的最大化发掘。
为了能够准确确定网页页面中的各可见控件,在本申请的网页自动化测试装置的一实施例中,参见图6,所述可见控件确定模块20包括:
图像识别单元21,用于对经过所述分割截图处理后得到的各所述可见控件的控件图像进行文本识别和样式识别,根据预设数据库中的控件类型关系表以及所述文本识别和样式识别的识别结果确定各所述可见控件的控件类型。
脚本分析单元22,用于对所述网页页面的网页脚本进行分析,确定所述网页页面上各所述可见控件的控件名称。
控件结构树确定单元23,用于若所述控件类型与所述控件名称相匹配,则获取各所述可见控件的控件结构树和控件位置,并根据所述控件结构树和控件位置确定各所述可见控件的操作方法。
为了能够自动执行网页页面的测试操作,在本申请的网页自动化测试装置的一实施例中,参见图7,所述网页自动测试模块30包括:
自动交互单元31,用于根据所述测试操作路径生成网页自动交互程序并执行所述网页自动交互程序以对所述网页页面执行网页测试操作,其中,所述测试操作路径对应所述层级结构树中的子节点网页。
交互终止单元32,用于判断当前网页测试操作完成后所述网页页面是否重新加载且重新加载后的网页页面的层级结构树是否发生变化,若是,则保存本次网页测试操作的测试操作路径和网页测试结果。
为了能够全面执行网页页面的测试操作,在本申请的网页自动化测试装置的一实施例中,参见图8,还具体包含有如下内容:
业务闭环判断单元41,用于判断所述测试操作路径中子节点网页是否为业务流程终止网页。
回溯测试单元42,用于若所述测试操作路径中子节点网页为业务流程终止网页,则根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,并根据所述测试操作回溯路径对所述父节点网页执行网页测试操作,得到网页测试结果。
从硬件层面来说,为了能够有效弥补人为编写测试路径时的信息不全面,提高网页测试效率和准确率,本申请提供一种用于实现所述网页自动化测试方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现网页自动化测试装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的网页自动化测试方法的实施例,以及网页自动化测试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,网页自动化测试方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图9为本申请实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,网页自动化测试方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:根据加载后的网页页面的网页脚本确定对应的层级结构树。
步骤S102:对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法。
步骤S103:根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果。
从上述描述可知,本申请实施例提供的电子设备,通过图像识别技术实现对网页页面的控件识别处理,并基于网页页面的层级结构树自动创建合理的测试操作路径对网页页面进行适应性测试,弥补了人为操作编写测试操作路径的不足,达到了测试场景的最大化发掘。
在另一个实施方式中,网页自动化测试装置可以与中央处理器9100分开配置,例如可以将网页自动化测试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现网页自动化测试方法功能。
如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的网页自动化测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的网页自动化测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:根据加载后的网页页面的网页脚本确定对应的层级结构树。
步骤S102:对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法。
步骤S103:根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过图像识别技术实现对网页页面的控件识别处理,并基于网页页面的层级结构树自动创建合理的测试操作路径对网页页面进行适应性测试,弥补了人为操作编写测试操作路径的不足,达到了测试场景的最大化发掘。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种网页自动化测试方法,其特征在于,所述方法包括:
根据加载后的网页页面的网页脚本确定对应的层级结构树;
对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法;
根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果;
所述根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果,包括:
根据所述测试操作路径生成网页自动交互程序并执行所述网页自动交互程序以对所述网页页面执行网页测试操作,其中,所述测试操作路径对应所述层级结构树中的子节点网页;
判断当前网页测试操作完成后所述网页页面是否重新加载且重新加载后的网页页面的层级结构树是否发生变化,若是,则保存本次网页测试操作的测试操作路径和网页测试结果。
2.根据权利要求1所述的网页自动化测试方法,其特征在于,所述对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法,包括:
对经过所述分割截图处理后得到的各所述可见控件的控件图像进行文本识别和样式识别,根据预设数据库中的控件类型关系表以及所述文本识别和样式识别的识别结果确定各所述可见控件的控件类型;
对所述网页页面的网页脚本进行分析,确定所述网页页面上各所述可见控件的控件名称;
若所述控件类型与所述控件名称相匹配,则获取各所述可见控件的控件结构树和控件位置,并根据所述控件结构树和控件位置确定各所述可见控件的操作方法。
3.根据权利要求1所述的网页自动化测试方法,其特征在于,在所述保存本次网页测试操作的测试操作路径和网页测试结果之后,包括:
判断所述测试操作路径中子节点网页是否为业务流程终止网页;
若是,则根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,并根据所述测试操作回溯路径对所述父节点网页执行网页测试操作,得到网页测试结果。
4.根据权利要求3所述的网页自动化测试方法,其特征在于,所述判断所述测试操作路径中子节点网页是否为业务流程终止网页,包括:
判断所述测试操作路径中子节点网页是否满足出现特定终止控件、无可交互页面、页面关闭或页面重复中的任意一种条件,若是,则判定所述子节点网页为业务流程终止网页。
5.根据权利要求3所述的网页自动化测试方法,其特征在于,所述根据与所述子节点网页相应的父节点网页生成测试操作回溯路径,包括:
判断与所述子节点网页相应的父节点网页中是否存在与链接至所述子节点网页不同的其他可见控件,若是,则根据所述父节点网页上的该可见控件生成测试操作回溯路径。
6.一种网页自动化测试装置,其特征在于,包括:
网页层级确定模块,用于根据加载后的网页页面的网页脚本确定对应的层级结构树;
可见控件确定模块,用于对所述网页页面上的可见控件进行分割截图处理,并对经过所述分割截图处理后得到的各所述可见控件的控件图像进行图像识别,确定各所述可见控件的控件类型和对应的操作方法;
网页自动测试模块,用于根据所述网页页面的层级结构树、所述可见控件的控件类型和对应的操作方法,确定所述网页页面的测试操作路径,并根据所述测试操作路径对所述网页页面执行网页测试操作,得到网页测试结果;
所述网页自动测试模块包括:
自动交互单元,用于根据所述测试操作路径生成网页自动交互程序并执行所述网页自动交互程序以对所述网页页面执行网页测试操作,其中,所述测试操作路径对应所述层级结构树中的子节点网页;
交互终止单元,用于判断当前网页测试操作完成后所述网页页面是否重新加载且重新加载后的网页页面的层级结构树是否发生变化,若是,则保存本次网页测试操作的测试操作路径和网页测试结果。
7.根据权利要求6所述的网页自动化测试装置,其特征在于,所述可见控件确定模块包括:
图像识别单元,用于对经过所述分割截图处理后得到的各所述可见控件的控件图像进行文本识别和样式识别,根据预设数据库中的控件类型关系表以及所述文本识别和样式识别的识别结果确定各所述可见控件的控件类型;
脚本分析单元,用于对所述网页页面的网页脚本进行分析,确定所述网页页面上各所述可见控件的控件名称;
控件结构树确定单元,用于若所述控件类型与所述控件名称相匹配,则获取各所述可见控件的控件结构树和控件位置,并根据所述控件结构树和控件位置确定各所述可见控件的操作方法。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述的网页自动化测试方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述的网页自动化测试方法的步骤。
CN202110484636.8A 2021-04-30 2021-04-30 网页自动化测试方法及装置 Active CN113076262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110484636.8A CN113076262B (zh) 2021-04-30 2021-04-30 网页自动化测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110484636.8A CN113076262B (zh) 2021-04-30 2021-04-30 网页自动化测试方法及装置

Publications (2)

Publication Number Publication Date
CN113076262A CN113076262A (zh) 2021-07-06
CN113076262B true CN113076262B (zh) 2024-02-23

Family

ID=76616348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110484636.8A Active CN113076262B (zh) 2021-04-30 2021-04-30 网页自动化测试方法及装置

Country Status (1)

Country Link
CN (1) CN113076262B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115830602B (zh) * 2023-02-24 2023-06-23 天翼云科技有限公司 元素定位方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252410A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 一种对页面中的控件进行测试的方法和设备
CN104424205A (zh) * 2013-08-21 2015-03-18 腾讯科技(深圳)有限公司 嵌入页面的客户端的右键菜单的实现方法和装置
CN110413520A (zh) * 2019-07-22 2019-11-05 深圳证券交易所 页面测试中获取控件的方法、服务器及可读存储介质
CN112506778A (zh) * 2020-12-10 2021-03-16 北京云测信息技术有限公司 Web用户界面自动化测试方法、装置、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252410A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 一种对页面中的控件进行测试的方法和设备
CN104424205A (zh) * 2013-08-21 2015-03-18 腾讯科技(深圳)有限公司 嵌入页面的客户端的右键菜单的实现方法和装置
CN110413520A (zh) * 2019-07-22 2019-11-05 深圳证券交易所 页面测试中获取控件的方法、服务器及可读存储介质
CN112506778A (zh) * 2020-12-10 2021-03-16 北京云测信息技术有限公司 Web用户界面自动化测试方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN113076262A (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
EP3507709B1 (en) Automating natural language task/dialog authoring by leveraging existing content
US10733553B2 (en) Action item extraction for work item creation
US10929458B2 (en) Automated presentation control
EP3902280A1 (en) Short video generation method and platform, electronic device, and storage medium
US20160307567A1 (en) Context carryover in language understanding systems or methods
CN110956956A (zh) 基于策略规则的语音识别方法及装置
US20200312299A1 (en) Method and system for semantic intelligent task learning and adaptive execution
CN111949522A (zh) 用户界面自动化测试方法及装置
Edwards et al. Developing series 60 applications: a guide for symbian OS C++ developers
CN102426567A (zh) 一种自动应答系统的图形化编辑调试系统
CN113076262B (zh) 网页自动化测试方法及装置
CN115455166A (zh) 一种智能对话系统异常检测的方法、装置、介质及设备
CN109116718B (zh) 设置闹钟的方法及设备
US20230126821A1 (en) Systems, devices and methods for the dynamic generation of dialog-based interactive content
CN113342330A (zh) 前端工程生成方法及装置
CN113095053A (zh) 网页表格定制方法及装置
CN110377891B (zh) 事件分析文章的生成方法、装置、设备及计算机可读存储介质
CN113110829B (zh) 多ui组件库数据处理方法及装置
CN115495519A (zh) 报表数据加工方法及装置
CN113791984B (zh) 接口自动化测试方法及装置
CN114968917A (zh) 一种文件数据快速导入方法及装置
US11269961B2 (en) Systems and methods for App query driven results
CN111339770A (zh) 用于输出信息的方法和装置
CN113110828A (zh) 前端原型调试方法及装置
CN113688044A (zh) 一种基于业务场景库的自动化测试方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant