CN115878469A - 一种系统测试方法、装置、电子设备和存储介质 - Google Patents
一种系统测试方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115878469A CN115878469A CN202211599239.6A CN202211599239A CN115878469A CN 115878469 A CN115878469 A CN 115878469A CN 202211599239 A CN202211599239 A CN 202211599239A CN 115878469 A CN115878469 A CN 115878469A
- Authority
- CN
- China
- Prior art keywords
- text
- control
- information
- determining
- path
- 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.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本申请公开了一种系统测试方法、装置、电子设备和存储介质,用于提升系统测试的效率降低测试的成本。本申请响应针对待测页面的触发操作,获取页面上各个文本与各个控件;针对任意一个文本与控件,确定文本与控件的适配值;采用训练好的神经网络根据各个文本分别与各个控件的适配值,确定各个文本对应的目标控件;将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件;填充成功则确定对所述待测页面初步测试成功。通过获取的文本和控件的位置信息、XML路径信息及对应的语言信息,确定文本与控件的适配值,基于适配值确定与各个文本对应的目标控件,简单易实现,进而可以在降低系统测试成本的基础上提高系统测试的效率。
Description
相关申请的交叉引用
本申请要求在2022年12月08日提交中国专利局、申请号为202211571889.X、申请名称为“一种系统测试方法、装置、电子设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网技术领域,尤其涉及一种系统测试方法、装置、电子设备和存储介质。
背景技术
互联网高速的发展导致行业竞争的加剧,各领域的软件产品迭代也越来越频繁。在一些特殊领域,例如:金融、政府等,它们所使用的系统具有用户数量多、影响范围广的特点。所以,在每一次产品迭代后,为了保证系统的可靠性,针对新系统的软件测试是必不可少的,对于用户来说,频繁地进行系统测试所带来的成本消耗十分昂贵。
相关技术中采用通过OCR技术扫描页面,锁定各个文本、控件所在的位置,基于此执行测试脚本,但是该方法耗时长且成本高。
发明内容
本申请的目的是提供一种系统测试方法、装置、电子设备和存储介质,用于提升系统测试的效率,降低页面测试的成本。
第一方面,本申请实施例提供了一种系统测试方法,所述方法包括:
响应于针对所述系统中对应的待测页面的触发操作,获取所述待测页面中的各个文本与各个控件;
针对所述待测页面中的任意一个文本与任意一个控件,执行:基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值;
基于所述待测页面中的各个文本分别与各个控件的适配值,确定所述各个文本各自对应的目标控件;
将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;
若填充成功,则确定对所述待测页面初步测试成功。
在本申请中,通过获取待测试网页中的文本和控件的分别位置信息、XML路径信息及对应的语言信息,来确定文本与控件的适配值,并基于适配值确定与各个文本对应的目标控件,该方法简单易实现,进而可以在降低网页测试成本的基础上提高网页测试的效率。
在一些可能的实施例中,所述基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值,包括:
基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系;
基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度;
将所述相对位置关系、所述匹配度,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
在本申请中,通过训练好的神经网络模型即可确定出文本与控件之间的适配值,简单易实现。
在一些可能的实施例中,所述基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系,包括:
基于所述文本的位置信息,确定所述文本的边界长度信息;及,基于所述控件的位置信息,确定所述控件的边界长度信息;
获取以所述控件的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本相对于所述控件的位置关系;及,以所述文本的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本的与所述控件的相对位置关系;
基于所述控件相对于所述文本的位置关系,所述文本相对于所述控件的位置关系,得到所述文本的与所述控件的相对位置关系。
在本申请实施例中,通过文本与控件的边界信息长度来确定出文本与控件的相对位置关系,保证了确定出的相对位置关系的准确性。
在一些可能的实施例中,所述基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度,包括:
基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度;并,
基于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度。
在本申请中,基于文本与控件的XML路径信息的匹配度、文本匹配度来共同确定文本与控件的匹配度,进一步保证了确定出的匹配度的准确性。
在一些可能的实施例中,所述基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度,包括:
基于所述文本的XML路径信息中的路径分隔符,得到文本路径字符序列;及基于所述控件的XML路径信息中的路径分隔符,得到控件路径字符序列;
依序对所述文本路径字符序列中的文本路径字符,与所述控件路径字符序列中的控件路径字符进行匹配处理,直至确定出不匹配的文本路径字符与不匹配的控件路径字符;
确定所述文本路径字符序列中在所述不匹配的文本路径字符后的文本路径字符的第一个数,并确定控件路径字符序列中所述不匹配的控件路径字符后的控件路径字符的第二个数;
基于所述第一个数、所述第二个数与XML路径信息匹配公式确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度。
在本申请中,基于路径分割符依序对文本路径字符与控件路径字符进行匹配处理,使得确定出的文本的XML路径信息与控件的XML路径信息的匹配度更加准确。
在一些可能的实施例中,所述基于所述第一个数、所述第二个数与XML路径信息匹配公式确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度,包括:
将所述第一个数、所述第二个数代入预设的XML路径信息匹配公式,获得所述文本的XML路径信息与所述控件的XML路径信息的匹配度;其中,所述XML路径信息匹配公式为:
其中,所述xpathm为所述文本的XML路径信息与所述控件的XML路径信息的匹配度,所述Axpath1为第一个数,所述Bxpath1为第二个数,所述N1为第一经验值,所述N2为第二经验值。
在一些可能的实施例中,所述基于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度,包括:
确定所述文本的语言信息与所述控件的语言信息中的相同字符的数量;
基于所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量与文本匹配公式,确定所述文本的语言信息与所述控件的语言信息的匹配度。
在本申请中,基于相同字符的数量对来确定文本的语言信息与控件的语言信息的匹配度,使得确定出的文本的语言信息与控件的语言信息的匹配度更加准确。
在一些可能的实施例中,所述基于所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量与文本匹配公式,确定所述文本的语言信息与所述控件的语言信息的匹配度,包括:
将所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量,代入预设的文本匹配公式,得到所述文本的语言信息与所述控件的语言信息的匹配度,其中,所述文本匹配公式为:
其中,所述textm为所述文本的语言信息与所述控件的语言信息的匹配度,所述Atext为文本的语言信息中字符的数量,Btext为控件的语言信息中字符的数量,hitCount为所述相同字符的数量,len(Achars)为所述文本的文本长度,N3为第三经验值,N4为第四经验值,N5为第五经验值。
在一些可能的实施例中,所述基于所述文本与所述控件各自的可扩展标记语言XML路径信息和语言信息,确定所述文本与所述控件的匹配度之后,所述方法还包括:
基于所述文本的语言信息,确定所述文本的文本长度值,以及文本结束标志值;
所述将所述相对位置关系、所述匹配度,输入训练好的神经网络模型,得到所述文本与所述控件的适配值,包括:
所述将所述相对位置关系、所述匹配度、所述文本长度值和所述文本结束标志值,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
在一些可能的实施例中,所述基于所述文本的语言信息,确定所述文本的文本长度值,包括:
将所述文本的语言信息的文本长度代入预设的文本长度值确定公式,得到所述文本长度值,其中,所述文本长度值确定公式为:
其中,所述Alen为所述文本的文本长度值,所述en(Achars)为所述文本的文本长度,所述N6为第六经验值,所述N7为第七经验值,N8为第八经验值,N9为第九经验值,N10为第十经验值,N11为第十一经验值,且N10大于N9。
在一些可能的实施例中,确定所述文本的文本结束标志值,包括:
基于文本的文本结束标志与文本标志值确定公式确定所述文本的文本结束标志值,其中,所述文本标志值确定公式为:
其中,所述hasCol为所述文本标志值,所述Atext为所述文本的语言信息,N12为第十二经验值,N13为第十三经验值。
在一些可能的实施例中,所述神经网络模型是根据以下方法确定的:
获取正样本集,和负样本集;其中所述正样本集中包括至少一对适配的文本与控件的相对位置关系、匹配度、文本长度值以及文本结束标志值;负样本集中包括至少一对不适配的文本与控件的相对位置关系、匹配度、文本长度以及文本结束标志值;
将所述正样本集中的样本,所述负样本集中的样本输入初始神经网络模型,采用迭代的方式对所述初始神经网络模型进行训练,直至满足预设收敛条件,将迭代结束的初始神经网络模型作为所述神经网络模型。
第二方面,本申请还提供了一种系统测试装置,所述装置包括:
获取模块,用于响应于针对所述系统中对应的待测页面的触发操作,获取所述待测页面中的各个文本与各个控件;
适配值确定模块,用于针对所述待测页面中的任意一个文本与任意一个控件,执行:基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值;
目标控件确定模块,用于基于所述待测页面中的各个文本分别与各个控件的适配值,确定所述各个文本各自对应的目标控件;
填充模块,用于将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;
初步测试成功确定模块,用于若填充成功,则确定对所述待测页面初步测试成功。
在一些可能的实施例中,所述适配值确定模块执行基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值时,具体用于:
基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系;
基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度;
基于所述文本的语言信息,确定所述文本的文本长度值,以及文本结束标志值;
将所述相对位置关系、所述匹配度、所述文本长度值和所述文本结束标志值,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
在一些可能的实施例中,所述适配值确定模块执行基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系时,具体用于:
基于所述文本的位置信息,确定所述文本的边界长度信息;及,基于所述控件的位置信息,确定所述控件的边界长度信息;
获取以所述控件的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本相对于所述控件的位置关系;及,以所述文本的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本的与所述控件的相对位置关系;
基于所述控件相对于所述文本的位置关系,所述文本相对于所述控件的位置关系,得到所述文本的与所述控件的相对位置关系。
在一些可能的实施例中,所述适配值确定模块执行基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度时,具体用于:
基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度;并,
基于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度。
在一些可能的实施例中,所述适配值确定模块执行基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度时,具体用于:
基于所述文本的XML路径信息中的路径分隔符,得到文本路径字符序列;及基于所述控件的XML路径信息中的路径分隔符,得到控件路径字符序列;
依序对所述文本路径字符序列中的文本路径字符,与所述控件路径字符序列中的控件路径字符进行匹配处理,直至确定出不匹配的文本路径字符与不匹配的控件路径字符;
确定所述文本路径字符序列中在所述不匹配的文本路径字符后的文本路径字符的第一个数,并确定控件路径字符序列中所述不匹配的控件路径字符后的控件路径字符的第二个数;
基于所述第一个数、所述第二个数与XML路径信息匹配公式确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度。
在一些可能的实施例中,所述适配值确定模块执行基于所述第一个数、所述第二个数与XML路径信息匹配公式确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度时,具体用于:
将所述第一个数、所述第二个数代入预设的XML路径信息匹配公式,获得所述文本的XML路径信息与所述控件的XML路径信息的匹配度;其中,所述XML路径信息匹配公式为:
其中,所述xpathm为所述文本的XML路径信息与所述控件的XML路径信息的匹配度,所述Axpath1为第一个数,所述Bxpath1为第二个数,所述N1为第一经验值,所述N2为第二经验值。
在一些可能的实施例中,所述适配值确定模块执行于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度时,具体用于:
确定所述文本的语言信息与所述控件的语言信息中的相同字符的数量;
基于所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量与文本匹配公式,确定所述文本的语言信息与所述控件的语言信息的匹配度。
在一些可能的实施例中,所述适配值确定模块执行基于所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量与文本匹配公式,确定所述文本的语言信息与所述控件的语言信息的匹配度时,具体用于:
将所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量,代入预设的文本匹配公式,得到所述文本的语言信息与所述控件的语言信息的匹配度,其中,所述文本匹配公式为:
其中,所述textm为所述文本的语言信息与所述控件的语言信息的匹配度,所述Atext为文本的语言信息中字符的数量,Btext为控件的语言信息中字符的数量,hitCount为所述相同字符的数量,len(Achars)为所述文本的文本长度,N3为第三经验值,N4为第四经验值,N5为第五经验值。
在一些可能的实施例中,所述适配值确定模块执行基于所述文本与所述控件各自的可扩展标记语言XML路径信息和语言信息,确定所述文本与所述控件的匹配度之后,所述方法还包括:
基于所述文本的语言信息,确定所述文本的文本长度值,以及文本结束标志值;
所述将所述相对位置关系、所述匹配度,输入训练好的神经网络模型,得到所述文本与所述控件的适配值,包括:
所述将所述相对位置关系、所述匹配度、所述文本长度值和所述文本结束标志值,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
在一些可能的实施例中,所述适配值确定模块执行基于所述文本的语言信息,确定所述文本的文本长度值时,具体用于:
将所述文本的语言信息的文本长度代入预设的文本长度值确定公式,得到所述文本长度值,其中,所述文本长度值确定公式为:
其中,所述Alen为所述文本的文本长度值,所述en(Achars)为所述文本的文本长度,所述N6为第六经验值,所述N7为第七经验值,N8为第八经验值,N9为第九经验值,N10为第十经验值,N11为第十一经验值,且N10大于N9。
在一些可能的实施例中,所述适配值确定模块执行确定所述文本的文本结束标志值时,具体用于:
基于文本的文本结束标志与文本标志值确定公式确定所述文本的文本结束标志值,其中,所述文本标志值确定公式为:
其中,所述hasCol为所述文本标志值,所述Atext为所述文本的语言信息,N12为第十二经验值,N13为第十三经验值。
在一些可能的实施例中,所述神经网络模型是根据以下方法确定的:
获取正样本集,和负样本集;其中所述正样本集中包括至少一对适配的文本与控件的相对位置关系、匹配度、文本长度值以及文本结束标志值;负样本集中包括至少一对不适配的文本与控件的相对位置关系、匹配度、文本长度以及文本结束标志值;
将所述正样本集中的样本,所述负样本集中的样本输入初始神经网络模型,采用迭代的方式对所述初始神经网络模型进行训练,直至满足预设收敛条件,将迭代结束的初始神经网络模型作为所述神经网络模型。
第三方面,本申请另一实施例还提供了一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面实施例提供的任一方法。
第四方面,本申请另一实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行本申请第一方面实施例提供的任一方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种系统测试方法的网页示意图;
图1B为本申请实施例提供的一种系统测试方法的文本与控件示意图;
图1C为本申请实施例提供的一种系统测试方法的应用场景示意图;
图2为本申请实施例提供的一种系统测试方法的整体流程示意图;
图3为本申请实施例提供的一种系统测试方法的确定文本与控件适配值的流程示意图;
图4为本申请实施例提供的一种系统测试方法的确定文本与控件的相对位置关系的示意图;
图5为本申请实施例提供的一种系统测试方法的确定第一参数与第二参数的示意图;
图6为本申请实施例提供的一种系统测试方法的确定第三参数与第四参数的示意图;
图7为本申请实施例提供的一种系统测试方法的确定第五参数与第六参数的示意图;
图8为本申请实施例提供的一种系统测试方法的确定第七参数与第八参数的示意图;
图9为本申请实施例提供的一种系统测试方法的确定第九参数与第十参数的示意图;
图10为本申请实施例提供的一种系统测试方法的确定文本与控件相对位置关系的示意图;
图11为本申请实施例提供的一种系统测试方法的确定文本的XML路径信息与控件的XML路径信息的匹配度的流程示意图;
图12为本申请实施例提供的一种系统测试方法的确定文本的语言信息与控件的语言信息的匹配度的流程示意图;
图13为本申请实施例提供的一种系统测试方法的区域划分示意图;
图14为本申请实施例提供的一种系统测试方法的装置示意图;
图15为本申请实施例提供的一种系统测试方法的电子设备示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以按不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多,本申请实施例不做限制。
为了便于理解,首先对本申请中的专业术语进行解释,如图1A所示:
文本:网页中的普通类文本文字;
控件:网页中用户可与之交互以输入或操作数据的对象;
文本的语言信息:网页中的文本处的普通类文本文字;
控件的语言信息:网页中用户可与之交互以输入或操作数据的对象中的默认文字。
发明人研究发现,互联网高速的发展导致行业竞争的加剧,各领域的软件产品迭代也越来越频繁。在一些特殊领域,例如:金融、政府等,它们所使用的系统具有用户数量多、影响范围广的特点。所以,在每一次产品迭代后,为了保证系统的可靠性,针对新系统的软件测试是必不可少的,对于用户来说,频繁地进行系统测试所带来的成本消耗十分昂贵。
相关技术中采用通过OCR技术扫描页面,锁定各个文本、控件所在的位置,基于此执行测试脚本,但是该方法耗时长且成本高。尤其现在产品界面越来越精细,像素值越来越大,扫描一张图片仍需要毫秒级的时间,不利于脚本快速执行。
作为一个智能化测试工具,该工具应该有能力去识别更为“通用”的测试脚本,以最大程度减少测试人员大量且重复的工作。如果有一个测试工具能够将同一批测试用例有效应用于不同的软件或应用于同一软件的不同版本,测试用例的重复使用率会大大提高,测试人员工作量也会得以释放。
在传统的测试中,测试人员通过编写脚本,使得待测软件快速执行测试的整体流程。这一方法极大地发挥了计算机高速执行的特点,但没有让测试工具真正地“理解”待测系统上各个操作控件的业务含义。与计算机相比,人工操作的执行速度较低,但识别、理解能力较强。例如:对于图1B所示,技术人员能很快理解“手机号码”应该填写在input-1输入框中。所以,智能化测试工具应该具备这种快速理解待测系统的能力,而非通过点击像素点或输入路径来确定所需要操作的控件。这样,智能化测试工具就会同时具备执行速度快、识别与理解能力强的特点。
在金融领域,各单位使用的系统具有相似的业务功能,这也有助于智能化测试工具在不同金融待测系统上重用测试用例。
因此,解决上述问题的关键在于赋予待测软件上每个控件应有的功能含义。当页面上的input、button(按钮)等控件均具有自己的含义时,测试工具可以从用户输入的测试指令中解读出待操作的控件以及操作内容。在图1B中,当用户在测试工具中输入“在手机号码中输入10086”或“手机号码为10086”等测试指令后,input-1控件里面会自动显示“10086”;当用户输入“点击获取短信”,测试工具会自动在待测软件上点击“获取短信”按钮。
有鉴于此,本申请提出了一种系统测试方法、装置、电子设备和存储介质,用于解决上述问题。本申请的发明构思可概括为:响应于针对待测页面的触发操作,获取待测页面中的各个文本与各个控件;针对待测页面中的任意一个文本与任意一个控件,执行:基于文本与控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定文本与控件的适配值;基于待测页面中的各个文本分别与各个控件的适配值,确定各个文本各自对应的目标控件;将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;若填充成功,则确定待测页面初步测试成功。
为了便于理解,下面结合附图来对本申请实施例提供的一种系统测试方法进行详细说明:
如图1C所示,为本申请实施例中的一种系统测试方法的应用场景图。图中包括:服务器10、存储器20、终端设备30;
服务器10响应于在终端设备30中针对待测页面的触发操作,获取待测页面中的各个文本与各个控件;针对待测页面中的任意一个文本与任意一个控件,执行:采用存储在存储器20中的训练好的神经网络基于文本与控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定文本与控件的适配值;基于待测页面中的各个文本分别与各个控件的适配值,确定各个文本各自对应的目标控件;将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;若填充成功,则确定待测页面初步测试成功。
本申请中的描述中仅就单个服务器10、存储器20、终端设备30加以详述,但是本领域技术人员应当理解的是,示出的服务器10、存储器20、终端设备30旨在表示本申请的技术方案涉及的服务器10、存储器20、终端设备30的操作。而非暗示对服务器10、存储器20、终端设备30的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本申请的示例实施例的底层概念。另外,本领域技术人员可以理解的是,上述数据的收发也是需要通过网络实现的。
需要说明的是,本申请实施例中的存储器例如可以是缓存系统、也可以是硬盘存储、内存存储等等。此外,本申请提出的系统测试方法不仅适用于图1C所示的应用场景,还适用于任何有网页测试需求的装置。
如图2所示,为本申请实施例提供的一种系统测试方法的整体流程示意图,其中:
步骤201中:响应于针对待测页面的触发操作,获取待测页面中的各个文本与各个控件;
步骤202中:针对待测页面中的任意一个文本与任意一个控件,执行:基于文本与控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定文本与控件的适配值;
步骤203中:基于待测页面中的各个文本分别与各个控件的适配值,确定各个文本各自对应的目标控件;
步骤204中:将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;
步骤205中:若填充成功,则确定待测页面初步测试成功。
对于任意待测试页面来说,其控件的功能含义来源于页面本身。如,可以分为如下两种形式:1)文本与控件是两个不同组件,及如图1A中的手机号码;2)文本是控件的一个属性,如图1A中的获取短信。对于第2种形式,控件的功能文本可以直接在界面的代码中解析得到;对于第1种形式,需要为文本从界面上的所有控件中选取最匹配的控件。在本申请实施例中,为了更准确、合理地对文本与控件进行匹配,因此可实施为如图3所示的步骤,其中:
步骤301中:基于文本与控件各自的位置信息,确定文本与控件的相对位置关系;
在本申请实施例中,为了确定文本与控件的相对位置关系时,具体可实施为如图4所示的步骤,其中:
步骤401中:基于文本的位置信息,确定文本的边界长度信息;及,基于控件的位置信息,确定控件的边界长度信息;
在本申请中,文本的位置信息为获取到的文本所在的矩形框的四个顶点的坐标值,基于该坐标值可确定出文本的边界长度信息,包括:第一边界长度、第二边界长度、第三边界长度、第四边界长度;同理可以确定出控件的边界长度信息,包括:第五边界长度、第六边界长度、第七边界长度、第八边界长度;其中,所述第一边界与所述第二边界平行,所述第三边界与所述第四边界平行,所述第一边界与所述第三边界垂直;所述第五边界与所述第六边界平行,所述第七边界与所述第八边界平行,所述第五边界与所述第七边界垂直。为了便于说明,下面以第一、第五边界为左边,第二、第六边界为右边,第三、第七边界为上边,第四、第八边界为下边进行说明。
步骤402中:获取以控件的边界为参考时,基于文本与控件的边界长度信息之间的差异,确定的文本相对于控件的位置关系;及,以文本的边界为参考时,基于文本与控件的边界长度信息之间的差异,确定的文本的与控件的相对位置关系;
在本申请实施例中,为了提高文本与控件进行匹配的准确性,因此设置10个参数值来表征文本与控件的相对位置关系,10个参数值分别为:
如图5所示:以控件的左右两边为边界,文本超出该界限外的宽度与文本的总宽度之比,即第一参数=l1/a1;以控件的左右两边为边界,文本未超出该界限外的宽度与控件的总宽度之比,即第二参数=l2/b1;若文本均未超出控件左右两边的边界,则l1为0。
如图6所示:以文本的左边为界限,控件超出该左边界的宽度与控件的总宽度之比,即第三参数=l3/b1;以文本的右边为界限,控件超出该右边界的宽度与控件的总宽度之比,即第四参数=l4/b1;
如图7所示:以控件的上下两边为边界,文本超出该界限外的高度与文本的总高度之比,即第五参数=l5/a2;以控件的上下两边为边界,文本未超出该界限外的高度与控件的总高度之比,即第六参数=l6/b2;
如图8所示:以文本的下边为界限,控件超出该下边界的高度与控件的总高度之比,即第七参数=l7/b2;以文本的上边为界限,控件超出该上边界的高度与控件的总高度之比,即第八参数=l8/b2;
如图9所示:文本的纵向高度与文本控件纵向总高度之比,即第九参数=a2/b2;文本的横向长度与文本控件横向总长度之比,即第十参数=a1/b1。
步骤403中:基于控件相对于文本的位置关系,文本相对于控件的位置关系,得到文本的与控件的相对位置关系。
例如:以图10为例,对文本与控件的10个参数值分别为:l1/a1、l2/b1,由于l3=0,因此l3/b1=0,l4/b1由于l6=a2,因此l6/b2=a2/b2、由于l7=0,l7/b2=0、l8/b2、a2/b2、a1/b1。
步骤302中:基于文本与控件各自的XML路径信息和语言信息,确定文本与控件的匹配度;
在本申请中为了保证控件与文本匹配的准确性,因此文本与控件的匹配度包括:基于文本与控件各自的XML路径信息中的路径分隔符,确定的文本的XML路径信息与控件的XML路径信息的匹配度;基于文本与控件各自的语言信息中的字符数量,确定的文本的语言信息与控件的语言信息的匹配度。
在一些可能的实施例中,确定文本的XML路径信息与控件的XML路径信息的匹配度时可实施为如图11所示的步骤,其中:
步骤1101中:基于文本的XML路径信息中的路径分隔符,得到文本路径字符序列;及基于控件的XML路径信息中的路径分隔符,得到控件路径字符序列;
步骤1102中:依序对文本路径字符序列中的文本路径字符,与控件路径字符序列中的控件路径字符进行匹配处理,直至确定出不匹配的文本路径字符与不匹配的控件路径字符;
步骤1103中:确定文本路径字符序列中在不匹配的文本路径字符后的文本路径字符的第一个数,并确定控件路径字符序列中不匹配的控件路径字符后的控件路径字符的第二个数;
步骤1104中:基于第一个数、第二个数与XML路径信息匹配公式确定文本的XML路径信息与控件的XML路径信息的匹配度。
例如:文本的XML路径信息为123/456/78/9/234,控件的XML路径信息为123/456/6/78/12/56/7,其中路径分隔符为/,则基于路径分隔符得到的文本路径字符序列为:123、456、78、9、234,得到的控件路径字符序列为:123、456、6、78、12、56、7;依序将文本路径字符序列中的文本路径字符与控件路径字符序列中的控件路径字符进行匹配处理,得到匹配的路径字符为:123、456,确定出不匹配的文本路径字符为78,不匹配的控件路径字符为6,则确定出第一个数为3,第二个数为5,则可将第一个数、第二个数代入预设的XML路径信息匹配公式,获得文本的XML路径信息与控件的XML路径信息的匹配度。
在一些可能的实施例中,XML路径信息匹配公式如公式1所示:
其中,xpathm为文本的XML路径信息与控件的XML路径信息的匹配度,Axpath1为第一个数,Bxpath1为第二个数,N1为第一经验值,N2为第二经验值。在本申请实施例中,根据技术人员的经验可将N1设置为3,将N2设置为1。
在一些可能的实施例中,确定文本的语言信息与控件的语言信息的匹配度时,可实施为如图12所示,其中:
步骤1201中:确定文本的语言信息与控件的语言信息中的相同字符的数量;
例如:文本的语言信息为:123456,控件的语言信息为12378945,则相同字符数量为3,文本字符数量为6,控件的字符数量为8。
在另一些可能的实施例中,在确定文本的语言信息与控件的语言信息中的相同字符的数量时,还可实施为:以文本的语言信息为基准,依序遍历控件的语言信息。例如:文本的语言信息为:1234567932,控件的语言信息为127894;依序针对控件的语言信息执行:针对控件的语言信息1,确定文本的语言信息1与之相同;针对控件的语言信息2,确定文本中的语言信息2与之相同;针对控件的语言信息7,确定文本中的语言信息7与之相同;针对控件的语言信息8,确定文本中的语言信息中在7之后没有与之匹配的;针对控件的语言信息9,确定文本中的语言信息9与之匹配;针对控件的语言信息4,确定文本信息中语言信息9之后没有与之匹配的,至此完成确定相同字符的过程,确定相同字符数量为4。
步骤1202中:基于相同字符的数量、文本与控件各自的语言信息中的字符数量与文本匹配公式,确定文本的语言信息与控件的语言信息的匹配度。
具体可实施为,将相同字符的数量、文本与控件各自的语言信息中的字符数量,代入预设的文本匹配公式,得到文本的语言信息与控件的语言信息的匹配度,其中,文本匹配公式如公式2所示:
其中,textm为文本的语言信息与控件的语言信息的匹配度,Atext为文本的语言信息中字符的数量,Btext为控件的语言信息中字符的数量,hitCount为相同字符的数量,len(Achars)为文本的文本长度,N3为第三经验值,N4为第四经验值,N5为第五经验值。
在本申请实施例中,根据技术人员的经验,可将N3设置为0,将N4设置为100,将N5设置为10。
步骤303中:基于文本的语言信息,确定文本的文本长度值,以及文本结束标志值;
在一些可能的实施例中,在确定文本的文本长度值时,可实施为:将文本的语言信息的文本长度代入预设的文本长度值确定公式,得到文本长度值,其中,文本长度值确定公式如公式3所示:
其中,Alen为文本的文本长度值,len(Achars)为文本的文本长度,N6为第六经验值,N7为第七经验值,N8为第八经验值,N9为第九经验值,N10为第十经验值,N11为第十一经验值,且N10大于N9。
在本申请实施例中,根据技术人员的经验,可将N6设置为0,N7设置为0.5,N8设置为1,N9设置为0,N10设置15,N11设置为1。
例如:文本的语言信息为:123456,则确定文本的文本长度为6,则该文本的文本长度值为1。
在另一些可能的实施例中,确定文本的文本结束标志值时可实施为:基于文本的文本结束标志与文本标志值确定公式确定文本的文本结束标志值,其中,文本标志值确定公式为:
其中,hasCol为文本标志值,Atext为文本的语言信息,N12为第十二经验值,N13为第十三经验值。
在本申请实施例中,根据技术人员的经验,可将N12设置为0,N13设置为1。
例如:文本的语言信息为:123456,则确定该文本的语言信息不是以冒号结尾,则该文本的文本标志值为0。
需要知道的是,本申请中设置的确定文本标志值的条件“确定文本的语言信息是否以冒号结尾”仅是一个实施例,在具体实施时,技术人员可根据需求自行设定确定文本标志值的条件,例如:将“确定文本的语言信息是否以冒号结尾”修改为“确定文本的语言信息是否以逗号结尾”等,本申请对此不作限定。
步骤304中:将相对位置关系、匹配度、文本长度值和文本结束标志值,输入训练好的神经网络模型,得到文本与控件的适配值。
在一些可能的实施例中,本申请中的神经网络模型为全连接神经网络模型。在神经网络的输出层使用Softmax激活函数。Softmax激活函数可以计算每对控件和文本的适配值。对于一个待匹配的文本来说,只要将其与所有控件进行匹配,即可获得与每个控件匹配的适配值,选择适配值最高的控件即可作为该文本的目标控件。
在本申请实施例中,神经网络模型是根据以下方法确定的:
获取正样本集,和负样本集;其中正样本集中包括至少一对适配的文本与控件的相对位置关系、匹配度、文本长度值以及文本结束标志值;负样本集中包括至少一对不适配的文本与控件的相对位置关系、匹配度、文本长度以及文本结束标志值;
将正样本集中的样本,负样本集中的样本输入初始神经网络模型,采用迭代的方式对初始神经网络模型进行训练,直至满足预设收敛条件,将迭代结束的初始神经网络模型作为神经网络模型。
在本申请中,负样本集中的负样本的个数为正样本集中正样本个数的3倍,构建正负样本集时,可采用开源的方法从公开网页中获取数据,并进行人工手工标注,得到正负样本集。
需要知道的是,本申请中构建正负样本时,包括了横板排布和纵版排布的样本,所以在应用时即使一个页面同时存在横版(文本在控件的左侧或右侧)和纵版(文本在控件的上侧或下侧),也可以进行有效匹配。
在本申请实施例中使用TFLearn框架搭建、训练并保存神经网络模型,经过大量尝试,最终模型相关参数设置如表1所示:
表1
在另一些可能的实施例中,若在同一待测试网页中存在至少两个名称相同的文本或者名称相同的两个控件,为了避免神经网络无法区分具体的操作对象,因此需要先对待测试网页上的文本和控件进行区域划分,例如:如图13所示,根据区域将网页划分为两部分,针对每部分均可采用上述的系统测试方法进行处理。
如图14所示,基于相同的发明构思,提出一种网页测试装置1400,所述装置包括:
获取模块14001,用于响应于针对待测页面的触发操作,获取所述待测页面中的各个文本与各个控件;
适配值确定模块14002,用于针对所述待测页面中的任意一个文本与任意一个控件,执行:基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值;
目标控件确定模块14003,用于基于所述待测页面中的各个文本分别与各个控件的适配值,确定所述各个文本各自对应的目标控件;
填充模块14004,用于将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;
初步测试成功确定模块14005,用于若填充成功,则确定对所述待测页面初步测试成功。
在一些可能的实施例中,所述适配值确定模块14002执行基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值时,具体用于:
基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系;
基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度;
基于所述文本的语言信息,确定所述文本的文本长度值,以及文本结束标志值;
将所述相对位置关系、所述匹配度、所述文本长度值和所述文本结束标志值,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
在一些可能的实施例中,所述适配值确定模块14002执行基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系时,具体用于:
基于所述文本的位置信息,确定所述文本的边界长度信息;及,基于所述控件的位置信息,确定所述控件的边界长度信息;
获取以所述控件的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本相对于所述控件的位置关系;及,以所述文本的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本的与所述控件的相对位置关系;
基于所述控件相对于所述文本的位置关系,所述文本相对于所述控件的位置关系,得到所述文本的与所述控件的相对位置关系。
在一些可能的实施例中,所述适配值确定模块14002执行基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度时,具体用于:
基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度;并,
基于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度。
在一些可能的实施例中,所述适配值确定模块14002执行基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度时,具体用于:
基于所述文本的XML路径信息中的路径分隔符,得到文本路径字符序列;及基于所述控件的XML路径信息中的路径分隔符,得到控件路径字符序列;
依序对所述文本路径字符序列中的文本路径字符,与所述控件路径字符序列中的控件路径字符进行匹配处理,直至确定出不匹配的文本路径字符与不匹配的控件路径字符;
确定所述文本路径字符序列中在所述不匹配的文本路径字符后的文本路径字符的第一个数,并确定控件路径字符序列中所述不匹配的控件路径字符后的控件路径字符的第二个数;
基于所述第一个数、所述第二个数与XML路径信息匹配公式确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度。
在一些可能的实施例中,所述适配值确定模块14002执行基于所述第一个数、所述第二个数与XML路径信息匹配公式确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度时,具体用于:
将所述第一个数、所述第二个数代入预设的XML路径信息匹配公式,获得所述文本的XML路径信息与所述控件的XML路径信息的匹配度;其中,所述XML路径信息匹配公式为:
其中,所述xpathm为所述文本的XML路径信息与所述控件的XML路径信息的匹配度,所述Axpath1为第一个数,所述Bxpath1为第二个数,所述N1为第一经验值,所述N2为第二经验值。
在一些可能的实施例中,所述适配值确定模块14002执行于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度时,具体用于:
确定所述文本的语言信息与所述控件的语言信息中的相同字符的数量;
基于所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量与文本匹配公式,确定所述文本的语言信息与所述控件的语言信息的匹配度。
在一些可能的实施例中,所述适配值确定模块14002执行基于所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量与文本匹配公式,确定所述文本的语言信息与所述控件的语言信息的匹配度时,具体用于:
将所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量,代入预设的文本匹配公式,得到所述文本的语言信息与所述控件的语言信息的匹配度,其中,所述文本匹配公式为:
其中,所述textm为所述文本的语言信息与所述控件的语言信息的匹配度,所述Atext为文本的语言信息中字符的数量,Btext为控件的语言信息中字符的数量,hitCount为所述相同字符的数量,len(Achars)为所述文本的文本长度,N3为第三经验值,N4为第四经验值,N5为第五经验值。
在一些可能的实施例中,所述适配值确定模块执行基于所述文本与所述控件各自的可扩展标记语言XML路径信息和语言信息,确定所述文本与所述控件的匹配度之后,所述方法还包括:
基于所述文本的语言信息,确定所述文本的文本长度值,以及文本结束标志值;
所述将所述相对位置关系、所述匹配度,输入训练好的神经网络模型,得到所述文本与所述控件的适配值,包括:
所述将所述相对位置关系、所述匹配度、所述文本长度值和所述文本结束标志值,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
在一些可能的实施例中,所述适配值确定模块14002执行基于所述文本的语言信息,确定所述文本的文本长度值时,具体用于:
将所述文本的语言信息的文本长度代入预设的文本长度值确定公式,得到所述文本长度值,其中,所述文本长度值确定公式为:
其中,所述Alen为所述文本的文本长度值,所述en(Achars)为所述文本的文本长度,所述N6为第六经验值,所述N7为第七经验值,N8为第八经验值,N9为第九经验值,N10为第十经验值,N11为第十一经验值,且N10大于N9。
在一些可能的实施例中,所述适配值确定模块14002执行确定所述文本的文本结束标志值时,具体用于:
基于文本的文本结束标志与文本标志值确定公式确定所述文本的文本结束标志值,其中,所述文本标志值确定公式为:
其中,所述hasCol为所述文本标志值,所述Atext为所述文本的语言信息,N12为第十二经验值,N13为第十三经验值。
在一些可能的实施例中,所述神经网络模型是根据以下方法确定的:
获取正样本集,和负样本集;其中所述正样本集中包括至少一对适配的文本与控件的相对位置关系、匹配度、文本长度值以及文本结束标志值;负样本集中包括至少一对不适配的文本与控件的相对位置关系、匹配度、文本长度以及文本结束标志值;
将所述正样本集中的样本,所述负样本集中的样本输入初始神经网络模型,采用迭代的方式对所述初始神经网络模型进行训练,直至满足预设收敛条件,将迭代结束的初始神经网络模型作为所述神经网络模型。
在介绍了本申请示例性实施方式的系统测试方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的系统测试方法中的步骤。
下面参照图15来描述根据本申请的这种实施方式的电子设备150。图15显示的电子设备150仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图15所示,电子设备150以通用电子设备的形式表现。电子设备150的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备150也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备150交互的设备通信,和/或与使得该电子设备150能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备150还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备150的其它模块通信。应当理解,尽管图15中未示出,可以结合电子设备150使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的一种系统测试方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种系统测试方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于网页测试的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种系统测试方法,其特征在于,所述方法包括:
响应于针对所述系统中对应的待测页面的触发操作,获取所述待测页面中的各个文本与各个控件;
针对所述待测页面中的任意一个文本与任意一个控件,执行:基于所述文本与所述控件的位置信息、可扩展标记语言XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值;
基于所述待测页面中的各个文本分别与各个控件的适配值,确定所述各个文本各自对应的目标控件;
将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;
若填充成功,则确定对所述待测页面初步测试成功。
2.根据权利要求1所述的方法,其特征在于,所述基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值,包括:
基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系;
基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度;
将所述相对位置关系、所述匹配度,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述文本与所述控件各自的位置信息,确定所述文本与所述控件的相对位置关系,包括:
基于所述文本的位置信息,确定所述文本的边界长度信息;及,基于所述控件的位置信息,确定所述控件的边界长度信息;
获取以所述控件的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本相对于所述控件的位置关系;及,以所述文本的边界为参考时,基于所述文本与所述控件的边界长度信息之间的差异,确定的所述文本的与所述控件的相对位置关系;
基于所述控件相对于所述文本的位置关系,所述文本相对于所述控件的位置关系,得到所述文本的与所述控件的相对位置关系。
4.根据权利要求2所述的方法,其特征在于,所述基于所述文本与所述控件各自的XML路径信息和语言信息,确定所述文本与所述控件的匹配度,包括:
基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度;并,
基于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度。
5.根据权利要求4所述的方法,其特征在于,所述基于所述文本与所述控件各自的XML路径信息中的路径分隔符,确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度,包括:
基于所述文本的XML路径信息中的路径分隔符,得到文本路径字符序列;及基于所述控件的XML路径信息中的路径分隔符,得到控件路径字符序列;
依序对所述文本路径字符序列中的文本路径字符,与所述控件路径字符序列中的控件路径字符进行匹配处理,直至确定出不匹配的文本路径字符与不匹配的控件路径字符;
确定所述文本路径字符序列中在所述不匹配的文本路径字符后的文本路径字符的第一个数,并确定控件路径字符序列中所述不匹配的控件路径字符后的控件路径字符的第二个数;
基于所述第一个数、所述第二个数与XML路径信息匹配公式确定所述文本的XML路径信息与所述控件的XML路径信息的匹配度。
6.根据权利要求4所述的方法,其特征在于,所述基于所述文本与所述控件各自的语言信息中的字符数量,确定所述文本的语言信息与所述控件的语言信息的匹配度,包括:
确定所述文本的语言信息与所述控件的语言信息中的相同字符的数量;
基于所述相同字符的数量、所述文本与所述控件各自的语言信息中的字符数量与文本匹配公式,确定所述文本的语言信息与所述控件的语言信息的匹配度。
7.根据权利要求2所述的方法,其特征在于,所述基于所述文本与所述控件各自的可扩展标记语言XML路径信息和语言信息,确定所述文本与所述控件的匹配度之后,所述方法还包括:
基于所述文本的语言信息,确定所述文本的文本长度值,以及文本结束标志值;
所述将所述相对位置关系、所述匹配度,输入训练好的神经网络模型,得到所述文本与所述控件的适配值,包括:
所述将所述相对位置关系、所述匹配度、所述文本长度值和所述文本结束标志值,输入训练好的神经网络模型,得到所述文本与所述控件的适配值。
8.一种系统测试装置,其特征在于,所述装置包括:
获取模块,用于响应于针对所述系统中对应的待测页面的触发操作,获取所述待测页面中的各个文本与各个控件;
适配值确定模块,用于针对所述待测页面中的任意一个文本与任意一个控件,执行:基于所述文本与所述控件的位置信息、XML路径信息及对应的语言信息之间的差异,确定所述文本与所述控件的适配值;
目标控件确定模块,用于基于所述待测页面中的各个文本分别与各个控件的适配值,确定所述各个文本各自对应的目标控件;
填充模块,用于将接收到的执行命令中各个文本分别对应的语言信息,分别填充至对应的目标控件中;
初步测试成功确定模块,用于若填充成功,则确定对所述待测页面初步测试成功。
9.一种电子设备,其特征在于,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以实现如权利要求1至7中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机能够执行如权利要求1-7任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211571889X | 2022-12-08 | ||
CN202211571889 | 2022-12-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878469A true CN115878469A (zh) | 2023-03-31 |
Family
ID=85767264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211599239.6A Pending CN115878469A (zh) | 2022-12-08 | 2022-12-12 | 一种系统测试方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878469A (zh) |
-
2022
- 2022-12-12 CN CN202211599239.6A patent/CN115878469A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9983984B2 (en) | Automated modularization of graphical user interface test cases | |
EP3432197A1 (en) | Method and device for identifying characters of claim settlement bill, server and storage medium | |
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
CN112749081B (zh) | 用户界面测试方法及相关装置 | |
US20210073108A1 (en) | Virtualized device-based test system and method thereof | |
CN108804304B (zh) | 测试用例生成方法及装置、存储介质、电子设备 | |
CN113900958A (zh) | 测试用例脚本的生成方法、系统、介质及电子设备 | |
CN112506778A (zh) | Web用户界面自动化测试方法、装置、设备和存储介质 | |
CN113190220A (zh) | Json文件差异化对比方法及装置 | |
US9378115B2 (en) | Base line for code analysis | |
CN114495101A (zh) | 文本检测方法、文本检测网络的训练方法及装置 | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
CN112633341A (zh) | 一种界面测试方法、装置、计算机设备和存储介质 | |
CN110377888B (zh) | 一种基于html的稿件审核编辑器的实时留痕标注方法及装置 | |
CN115878469A (zh) | 一种系统测试方法、装置、电子设备和存储介质 | |
CN111859933A (zh) | 马来语识别模型的训练方法、识别方法、装置、设备 | |
US11099977B1 (en) | Method, device and computer-readable storage medium for testing bios using menu map obtained by performing image identification on bios interface | |
CN110083807B (zh) | 合同的修改影响自动预测方法、装置、介质及电子设备 | |
CN115080418A (zh) | 自动化测试方法、装置、电子设备和计算机可读存储介质 | |
CN114598547A (zh) | 应用于网络攻击识别的数据分析方法及电子设备 | |
CN114445682A (zh) | 训练模型的方法、装置、电子设备、存储介质及产品 | |
Bailey et al. | FRAM memory technology-advantages for low power, fast write, high endurance applications | |
CN112003647A (zh) | 一种回收光猫的检测方法、装置、设备及存储介质 | |
CN111143643A (zh) | 元素识别方法、装置、可读存储介质和电子设备 | |
CN116560819B (zh) | 基于rpa的批量自动化操作方法、系统、设备及储存介质 |
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 |