CN105426305B - 一种控件属性解析系统及方法 - Google Patents

一种控件属性解析系统及方法 Download PDF

Info

Publication number
CN105426305B
CN105426305B CN201510741234.6A CN201510741234A CN105426305B CN 105426305 B CN105426305 B CN 105426305B CN 201510741234 A CN201510741234 A CN 201510741234A CN 105426305 B CN105426305 B CN 105426305B
Authority
CN
China
Prior art keywords
control
text
list
control property
text flag
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
CN201510741234.6A
Other languages
English (en)
Other versions
CN105426305A (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.)
Hunan Chencheng Technology Group Co ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
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 Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201510741234.6A priority Critical patent/CN105426305B/zh
Publication of CN105426305A publication Critical patent/CN105426305A/zh
Application granted granted Critical
Publication of CN105426305B publication Critical patent/CN105426305B/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/362Software debugging
    • G06F11/3628Software debugging of optimised code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种控件属性解析系统及方法,应用于网页控件的自动化测试中,包括:一第一存储单元,用以存储一与所述网页控件关联的列表,所述列表中包括复数个子列表,每个所述子列表包括一个控件的文本标识及相应的定位符变量名;一过滤单元,连接所述第一存储单元,用以将所述列表中重复的文本标识对应的所述子列表滤除,并输出经过滤后的所述列表;一第二存储单元,用以存储网页的源代码;一解析单元,分别连接所述过滤单元和所述第二存储单元,用以将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出。

Description

一种控件属性解析系统及方法
技术领域
本发明涉及自动化测试领域,尤其涉及一种应用于自动化测试的控件属性解析系统及方法。
背景技术
自动化测试是一种通过自动化工具执行定制好的测试脚本的过程,可节省人力,时间及硬件资源。通常一个简单的网页的自动化测试通常包括的步骤有:控件定位;交互操作;页面操作;检查操作。第一步控件定位是后续自动化脚本驱动页面动作的前提条件。需要被测页面的控件如输入框,按钮等能够被自动化工具识别,其识别依赖于页面控件的属性及组织关系。
现有网页自动化的测试方法虽然执行过程能够实现完全自动化,但是在对页面控件属性变量化这个步骤中仍然需要大量的测试人力去实现。目前较好的方法是使用Selenium-IDE的插件来进行分析,但这个工具也需要测试人员一步一步点击操作并且记录控件属性值。尤其是当页面和控件较多的时候,需要投入很多人力和时间。另一方面,依靠手工点击记录的方式也不利于脚本化的操作,始终不能被集成到自动化的过程中。同时一旦用户界面开发团队改变其中几个控件属性,如果不进行大面积的检查,由于底层应用程序编程接口(Application Programming Interface,API)失效,原有的自动化用例无法得出正确的结果,大大降低了测试效率。
在带有WEB界面的软件产品开发周期中,由于产品的改动导致同一页面控件的属性出现微调,而这种变动对于自动化开发人员来说通常是不可见的,会导致自动化回归测试出现了不通过的情况,这种不通过的上报会对研发端产生困扰,而对于自动化测试人员则需要消耗额外的时间和人力的成本,重新手动修改控件定位符,维护成本很大。
发明内容
针对现有的网页自动化的测试存在的上述问题,现提供一种旨在实现能够对脚本化页面控件进行定位符解析,提高自动化开发及测试效率的控件属性解析系统及方法。
具体技术方案如下:
一种控件属性解析系统,应用于网页控件的自动化测试中,包括:
一第一存储单元,用以存储一与所述网页控件关联的列表,所述列表中包括复数个子列表,每个所述子列表包括一个控件的文本标识及相应的定位符变量名;
一过滤单元,连接所述第一存储单元,用以将所述列表中重复的文本标识对应的所述子列表滤除,并输出经过滤后的所述列表;
一第二存储单元,用以存储网页的源代码;
一解析单元,分别连接所述过滤单元和所述第二存储单元,用以将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出。
优选的,所述子列表包括控件文本标识及与所述控件文本标识对应的控件定位符变量名。
优选的,所述控件定位符变量名包括与所述控件对应的页面标识,与所述控件对应的控件类型标识及与所述控件对应的功能标识。
优选的,所述解析单元包括:
一第一判断模块,用以判断每个所述子列表中的所述文本标识是否唯一,并输出判断结果;
一匹配模块,连接所述第一判断模块,当所述文本标识为唯一时,所述匹配模块用以根据预设模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出;
一第二判断模块,连接所述第一判断模块,当所述文本标识不是唯一时,所述第二判断模块用以判断所述文本标识对应的代码块是否为JavaScript动态选择代码块,并输出判断结果;
一分离模块,分别连接所述第二判断模块和所述匹配模块,当所述文本标识对应的代码块为JavaScript动态选择代码块时,所述分离模块用以根据预设解析库分离所述文本标识对应的代码段;
一模糊匹配模块,连接所述第二判断模块,当所述文本标识对应的代码块不是JavaScript动态选择代码块时,所述模糊匹配模块用以根据字符串相似度算法对所述文本标识的字符串相似度进行比对,将达到预设标准的所述文本标识对应的控件属性输出,并将未达到预设标准的所述文本标识进行标记并保存。
优选的,所述预设模式为根据预设的优先级匹配模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性。
优选的,所述预设的优先级匹配模式依次递减的顺序依次为:输入同行匹配模式、输入多行匹配模式、选择多行匹配模式、前向同行匹配模式、前向多行匹配模式。
优选的,所述预设模式为采用分级匹配模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性。
优选的,所述分级匹配模式包括两个阶段:
第一阶段为根据所述文本标识定位出文本段落;
第二阶段为采用次级匹配模式获取所述文本段落的属性条目,以获取相应的控件属性。
优选的,所述预设解析库为采用Java编写的标准通用标记语言解析库。
一种控件属性解析方法,应用于上述的控件属性解析系统,包括下述步骤:
步骤1.将所述列表中重复的文本标识对应的所述子列表滤除,并输出经过滤后的所述列表;
步骤2.将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出。上述技术方案的有益效果:
本技术方案中,控件属性解析系统通过把需要控制的控件对象抽象为具体文本标识,采用解析单元预先对网页面控件解析,从而获得控件属性定位文件,提高了自动化开发及测试效率。控件属性解析方法可在回归测试之前更新底层API的变量,避免回归测试的误报,减少了自动化开发和维护的成本。
附图说明
图1为本发明所述的控件属性解析系统的一种实施例的模块图;
图2为本发明所述解析单元的内部模块图;
图3为本发明所述的控件属性解析系统的一种实施例的控件属性解析方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图1所示,一种控件属性解析系统,应用于网页控件的自动化测试中,包括:
一第一存储单元1,用以存储一与网页控件关联的列表,列表中包括复数个子列表,每个子列表包括一个控件的文本标识及相应的定位符变量名;
一过滤单元2,连接第一存储单元1,用以将列表中重复的文本标识对应的子列表滤除,并输出经过滤后的列表;
一第二存储单元3,用以存储网页的源代码;
一解析单元4,分别连接过滤单元2和第二存储单元3,用以将列表中的每个子列表中的文本标识与源代码中的文本进行匹配,以获取相应的控件属性,根据控件属性获取相应的属性定位文件,并输出。
在本实施例中,列表为嵌套列表。控件属性解析系统通过把需要控制的控件对象抽象为具体文本标识,利用过滤单元2针对多个重复的文本标识符进行过滤,将超级文本标记语言(HyperText Markup Language,HTML)中无效的文本过滤掉,采用解析单元4可对脚本化页面控件进行定位符解析,提高了自动化开发的效率。本实施例可应用于自动化回归测试中,在测试的可执行(Setup)阶段,采用控件属性解析系统能更新底层API调用的页面控件定位符,可避免因页面控件属性变化而导致测试用例不通过的情况。
进一步地,子列表包括控件文本标识及与控件文本标识对应的控件定位符变量名。子列表的格式为[控件文本标识,控件定位符变量名]。
在本实施例中,可将网页用户界面控件抽象成脚本语言数据对象。该数据格式为嵌套列表,子列表包含[控件文本标识,控件定位符变量名]。这个抽象过程为整个属性解析的预备步骤,为解析单元4提供了素材,该抽象的行为只需在整个软件开发周期的需求阶段一次完成,后续维护即可。
在优选的实施例中,控件定位符变量名包括与控件对应的页面标识,与控件对应的控件类型标识及与控件对应的功能标识。控件定位符变量名的格式为:页面标识_控件类型标识_功能标识。
在本实施例中,将每个需要自动化的网页控件抽象为一个列表对象。子列表的具体结构为[控件文本标识,控件定位符变量名]。控件文本标识用于表示来源于本身自带的文本,该文本字符一般会出现在HTML中,使用字符串匹配即可找到控件相关的属性。一般情况下,网页中的一个单独控件都有唯一的标识,如带有“保存”文本的一个按钮,其文本标识为“保存”,其在HTML源中的格式为:<inputid="lanApply"class="button"type="submit"value="保存">。HTML虽作为松散的结构,但较之普通文本,有很多特点可供解析。类似这种控件很容易使用正则表达式进行匹配,输出符合控件定位要求的属性。如果控件本身不带有文本标识,则可以使用相邻控件的文本标识作为参照,并通过解析单元4来实现通过相邻控件的文本标识来找到自身的属性。
对于控件属性存放的变量名的格式为:页面标识_控件类型标识_功能标识。页面标识用于表示同一页面的控件属性存放的变量名共用同一个页面标识头部,便于组织页面结构及区分不同页面下具有相同文本标识的控件。控件类型可用于辅助匹配。对于某些特殊的控件类型,如采用控件类型标识,可在解析单元4中采用特殊方法。功能标识为区别同一页面下不同控件。按照此结构,一个页面的保存按钮就可以被抽象为["保存","所处页面名_Button_Save"]。这样每个网页都是一个二维的列表。每个控件都是二维列表中的一个列表对象。这种抽象工作只需要完成一次,就可以在软件开发的周期中维护并使用。
如图2所示,在优选的实施例中,解析单元4包括:
一第一判断模块41,用以判断每个子列表中的文本标识是否唯一,并输出判断结果;
一匹配模块44,连接第一判断模块41,当文本标识为唯一时,匹配模块44用以根据预设模式将列表中的每个子列表中的文本标识与源代码中的文本进行匹配,以获取相应的控件属性,根据控件属性获取相应的属性定位文件,并输出;
一第二判断模块42,连接第一判断模块41,当文本标识不是唯一时,第二判断模块42用以判断文本标识对应的代码块是否为JavaScript动态选择代码块,并输出判断结果;
一分离模块45,分别连接第二判断模块42和匹配模块44,当文本标识对应的代码块为JavaScript动态选择代码块时,分离模块45用以根据预设解析库分离文本标识对应的代码段;
一模糊匹配模块43,连接第二判断模块42,当文本标识对应的代码块不是JavaScript动态选择代码块时,模糊匹配模块43用以根据字符串相似度算法(Levenshtein)对文本标识的字符串相似度进行比对,将达到预设标准的文本标识对应的控件属性输出,并将未达到预设标准的文本标识进行标记并保存。
在本实施例中,解析单元4用来接收网页抽象体和网页本身源代码,输出面向测试工具的页面控件定位符文件。基于控件抽象出来的文本标识来匹配源码中的文本,取出需要的控件属性,依据控件定位的方法,如by id,by name,by css,by xpath等,输出能够被自动化测试工具识别并操作的控件定位符文件。
具体地,解析单元4接收的输入为网页的抽象体和网页的源代码。解析单元4能够依据控件文本标识解析松散HTML源代码获得控件属性值,再根据辨识出来的控件类型自动生成可供底层API调用的控件定位符。在进行这一过程之前需采用第一判断模块41判断文本标识符是否唯一,如果唯一,则采用匹配模块44或者对于特殊控件的解析方法,将需要的控件定位符解析出来。如果文本标识符经过过滤处理后仍不唯一,使用预设解析库分离出对应的代码块,通过脚本计算出高频字符串(如果是表格格式则直接选取表头文本)作为代码块的key,将每段代码块的key值与控件定位符变量名的功能标识文本进行相似度对比,选出最相似的key所对应的代码块。再进行次级模式的匹配,获得并输出定位符。
自动化测试工具在回归测试中,Setup阶段运行上述脚本,更新底层API调用的控件定位符,再运行对应的测试步骤,即可得出测试结果。
当同一页面出现多个不同控件,但文本标识一致时,利用模糊匹配模块43使用字符串相似度算法进行字符串相似度对比。这种方法是基于标准的用户界面控件开发的,控件的属性name,value或id的字符串通常都带有一定的含义。在控件文本标识一致的情况下,可以使用控件定位符的变量名和解析出来的属性字符串进行相似度对比,在字符串相似度对比的方法上采用Levenshtein距离算法。经过控件变量名和属性字符串的Levenshtein算法计算,cost值较低的属性字符串即可以认为是需要获取的对象。另外,如果某文本为中文,则将中文字符串映射至英字符串集合中,即可进行相似度算法比较。映射举例:中文字符串“密码”可以映射为:['password','pwd','psw','passwd']。通过分别对比’password’,‘pwd’,‘psw’获得各自的cost值,选取最小的cost值与中文字符‘密码’的相似度值。可以在脚本中建立一个中英文映射库,这一映射库随着软件开发的周期而逐渐成熟。同时经过Levenshtein优选出来的属性值,可以记录其不确定标签,以方便后期定位问题。
在优选的实施例中,预设模式为根据预设的优先级匹配模式将列表中的每个子列表中的文本标识与源代码中的文本进行匹配,以获取相应的控件属性。
进一步地,预设的优先级匹配模式依次递减的顺序依次为:输入(input)同行匹配模式、输入(input)多行匹配模式、选择(select)多行匹配模式、前向同行匹配模式、前向多行匹配模式。
在本实施例中,匹配模块44的预设模式可以是一组带有优先级的字符串模式,结合正则表达式可以从HTML文本中取出对应控件的属性。本实施例中的预设的优先级匹配模式为:input同行匹配模式,input N行匹配模式,select N行匹配模式,前向同行匹配模式,前向N行匹配模式,优先级依次递减。在进行匹配寻找控件属性时,首先会尝试采用input同行匹配模式,如果找到了对应的字符串,则利用正则表达式分组的方法,提取出需要的属性。例如某页面保存按钮按照<input标签开头,以value="保存"结尾即可进行匹配。如果未找到对应的字符串,则使用次优先级的input N行匹配模式,以此类推。少数情况下,控件的文本标识字符串在HTML中位于属性字符串前面,这种情况下使用一般的input或select匹配无法匹配出来,经过轮询到前向匹配模式,可以将属性匹配出来。
Input同行匹配模式:
"(input.*(name|id)=\"(.+?)\".*?>%s)"
Input N行匹配模式,N为4:
"(input.*(name|id)=\"(.+?)\"(.*\n){0,4}.*>%s)"
Select N行匹配模式,N为10:
".*(<(select|SELECT).*(name|id)=\"(.+?)\"(.*\n){0,10}?.*>\s?%s).*"
前向同行匹配模式:
"(>\s?%s.*\n?.*(name|id)=\"(.+?)\")"
前向N行匹配模式:
'(>\s?%s(.*\n){0,4}?.*(name|id)=(\"|\')(.+?)(\"|\'))'
对于本身不带文本字符标识的页面控件,这类控件很特殊,一般是输入框(Editbox),这种情况可以借助上下文的文本标识。同时控件定位符变量名的控件类型中可以辨识该种控件,一旦在控件定位符变量名中包含有特殊控件的控件名,则在进行匹配时,通过在匹配模式中加入该种控件的特殊属性来保证匹配的准确性。如autocomplete,maxlength等属性字符串。另外一种特殊的控件类型:button类型,绝多数情况下不需要进行匹配,就可以用xpath的依据value值的方法直接输出定位符。
在优选的实施例中,预设模式为采用分级匹配模式将列表中的每个子列表中的文本标识与源代码中的文本进行匹配,以获取相应的控件属性。
进一步地,分级匹配模式包括两个阶段:
第一阶段为根据文本标识定位出文本段落;
第二阶段为采用次级匹配模式获取文本段落的属性条目,以获取相应的控件属性。
在本实施例中,分级匹配模式是将匹配的过程分为两个步骤:1.根据提供的文本标识符匹配出大概的文本段落;2.从文本段落中使用次级匹配,找出控件的主要属性。在优先级匹配模式中,使用了正则表达式分组的方法一步获取需要的控件属性。但是匹配效率低下。分级匹配的第一步忽略了页面控件的主要属性文本,只是依据文本标识定位出需要的文本段落。第二步中使用次级匹配模式,可以精准获取所要的属性条目。次级匹配又可以依据需要的控件属性写成不同的匹配语句,如value类型,name类型,id类型等。如下为次级匹配的模式的几种语句:
type属性:
Sub_Patt_TYPE0="(input.*type=\"(.+?)\")"
type属性变体:
Sub_Patt_TYPE1="(input.*type=(.+?)\s)"
value属性:
Sub_Patt_VALUE0=".*(input|option|OPTION).*?value=\"(.+?)\".*?>\s?.*%s"
value属性变体:
Sub_Patt_VALUE1=".*(input|option|OPTION).*?value=(.+?)\s.*?>\s?%s"
id属性:
Sub_Patt_ID0="(.*((input|select).*(id|name)=\"(.+?)\".*>%s))"
id属性变体:
Sub_Patt_ID1="((input|select|SELECT).*?(id|name)=\"(.+?)\")"
在优选的实施例中,预设解析库为采用Java编写的标准通用标记语言解析库(Python HTMLParser)。
在本实施例中,同一网页代码中存在并行的n段代码,相互具有替代性,在运行过程中由JavaScript根据使用者的输入动态选择具体使用哪一段代码。这种特殊的情况通常出现在包含JavaScript的动态页面中。可使用Python HTMLParser解析库,将并行的几段代码摘取出来,存放至临时的字典中。字典的Key为在分离的代码块中具有较高出现频率的文本,并且存在于代码段中,一般为文本段表头一行一列的文本标识,此处可以根据实际操作的经验值进行修改。字典的值为摘取出来对应的代码块。分离代码最终形成如下格式{label1:code block1,label2:code block2,...labeln:code blockn},使用Levenshtein距离算法比对控件定位符存放的变量名和各代码段label的近似度,使用相似度对比摘取出最近似的代码块,再进行二级匹配即可。最后,凡经由模糊匹配模式匹配出的结果都会被框架标记为不确定匹配。
一种控件属性解析方法,应用于上述的控件属性解析系统,包括下述步骤:
步骤1.将列表中重复的文本标识对应的子列表滤除,并输出经过滤后的列表;
步骤2.将列表中的每个子列表中的文本标识与源代码中的文本进行匹配,以获取相应的控件属性,根据控件属性获取相应的属性定位文件,并输出。
在本实施例中,通过把需要控制的控件对象抽象为具体文本标识,预先对网页面控件解析,从而获得控件属性定位文件,提高了自动化开发及测试效率。
基于控件属性解析系统的控件属性解析方法的具体流程如附图1所示,一般的自动化测试执行过程中,预编写的测试脚本调用Web应用程序测试的工具Selenium的网页驱动(Web Driver),而Web Driver需要调用网页的控件定位符,达到识别并控制网页控件的目的。而测试执行前置框架就可以生成页面控件的属性定位文件,为自动化测试做准备工作。
如图3所示,基于控件属性解析系统的控件属性解析方法包括下述步骤:
步骤S1.过滤掉无效文本标识,执行步骤S2;
步骤S2.判断文本标识是否唯一,若是,执行步骤S3;若否,执行步骤S7;
步骤S3.遍历优先级匹配,执行步骤S4;
步骤S4.判断是否需要二级匹配,若是,执行步骤S6;若否,执行步骤S5;
步骤S5.输出定位属性文件,执行步骤S10;
步骤S6.使用子匹配模式进行匹配,执行步骤S5;
步骤S7.判断是否为JavaScript动态选择代码块,若是,执行步骤S8;若否,执行步骤S9;
步骤S8.使用Python HTMLParser分离代码段,执行步骤S3;
步骤S9.使用模糊匹配,执行步骤S5;
步骤S10.传输给自动化测试工具底层API使用。
本技术方案可在回归测试之前更新底层API的变量,避免回归测试的误报,减少了自动化开发和维护的成本。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

Claims (9)

1.一种控件属性解析系统,应用于网页控件的自动化测试中,其特征在于,包括:
一第一存储单元,用以存储一与所述网页控件关联的列表,所述列表中包括复数个子列表,每个所述子列表包括一个控件的文本标识及相应的定位符变量名;
一过滤单元,连接所述第一存储单元,用以将所述列表中重复的文本标识对应的所述子列表滤除,并输出经过滤后的所述列表;
一第二存储单元,用以存储网页的源代码;
一解析单元,分别连接所述过滤单元和所述第二存储单元,用以将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出;
所述解析单元包括:
一第一判断模块,用以判断每个所述子列表中的所述文本标识是否唯一,并输出判断结果;
一匹配模块,连接所述第一判断模块,当所述文本标识为唯一时,所述匹配模块用以根据预设模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出;
一第二判断模块,连接所述第一判断模块,当所述文本标识不是唯一时,所述第二判断模块用以判断所述文本标识对应的代码块是否为JavaScript动态选择代码块,并输出判断结果;
一分离模块,分别连接所述第二判断模块和所述匹配模块,当所述文本标识对应的代码块为JavaScript动态选择代码块时,所述分离模块用以根据预设解析库分离所述文本标识对应的代码段;
一模糊匹配模块,连接所述第二判断模块,当所述文本标识对应的代码块不是JavaScript动态选择代码块时,所述模糊匹配模块用以根据字符串相似度算法对所述文本标识的字符串相似度进行比对,将达到预设标准的所述文本标识对应的控件属性输出,并将未达到预设标准的所述文本标识进行标记并保存。
2.如权利要求1所述的控件属性解析系统,其特征在于,所述子列表包括控件文本标识及与所述控件文本标识对应的控件定位符变量名。
3.如权利要求1所述的控件属性解析系统,其特征在于,所述控件定位符变量名包括与所述控件对应的页面标识,与所述控件对应的控件类型标识及与所述控件对应的功能标识。
4.如权利要求1所述的控件属性解析系统,其特征在于,所述预设模式为根据预设的优先级匹配模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性。
5.如权利要求4所述的控件属性解析系统,其特征在于,所述预设的优先级匹配模式依次递减的顺序依次为:输入同行匹配模式、输入多行匹配模式、选择多行匹配模式、前向同行匹配模式、前向多行匹配模式。
6.如权利要求1所述的控件属性解析系统,其特征在于,所述预设模式为采用分级匹配模式将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性。
7.如权利要求6所述的控件属性解析系统,其特征在于,所述分级匹配模式包括两个阶段:
第一阶段为根据所述文本标识定位出文本段落;
第二阶段为采用次级匹配模式获取所述文本段落的属性条目,以获取相应的控件属性。
8.如权利要求1所述的控件属性解析系统,其特征在于,所述预设解析库为采用Java编写的标准通用标记语言解析库。
9.一种控件属性解析方法,应用于如权利要求1-8中任一所述的控件属性解析系统,其特征在于,包括下述步骤:
步骤1.将所述列表中重复的文本标识对应的所述子列表滤除,并输出经过滤后的所述列表;
步骤2.将所述列表中的每个所述子列表中的所述文本标识与所述源代码中的文本进行匹配,以获取相应的控件属性,根据所述控件属性获取相应的属性定位文件,并输出。
CN201510741234.6A 2015-11-03 2015-11-03 一种控件属性解析系统及方法 Active CN105426305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510741234.6A CN105426305B (zh) 2015-11-03 2015-11-03 一种控件属性解析系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510741234.6A CN105426305B (zh) 2015-11-03 2015-11-03 一种控件属性解析系统及方法

Publications (2)

Publication Number Publication Date
CN105426305A CN105426305A (zh) 2016-03-23
CN105426305B true CN105426305B (zh) 2017-10-31

Family

ID=55504523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510741234.6A Active CN105426305B (zh) 2015-11-03 2015-11-03 一种控件属性解析系统及方法

Country Status (1)

Country Link
CN (1) CN105426305B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066377B (zh) * 2017-01-18 2020-11-17 海信视像科技股份有限公司 基于Android系统的页面元素获取方法及终端设备
CN107015907A (zh) * 2017-03-15 2017-08-04 中国地质大学(武汉) 一种自动准确定位页面元素的系统和方法
CN107329898A (zh) * 2017-06-30 2017-11-07 上海摩软通讯技术有限公司 终端界面自动化测试方法及系统
CN108664392B (zh) * 2018-03-19 2019-08-06 重庆小雨点小额贷款有限公司 一种应用测试方法、装置、终端及存储介质
CN111190574B (zh) * 2018-11-14 2023-03-10 广东万丈金数信息技术股份有限公司 多级联动组件的选项选择方法、装置、设备和存储介质
CN110347585B (zh) * 2019-05-28 2023-06-06 成都美美臣科技有限公司 一种ui自动化测试图片识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402613A (zh) * 2011-12-20 2012-04-04 上海电机学院 网页文本信息过滤系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0206761D0 (en) * 2002-03-22 2002-05-01 Object Media Ltd Software testing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402613A (zh) * 2011-12-20 2012-04-04 上海电机学院 网页文本信息过滤系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
移动QQ Android版本个人中心的设计与实现;陆海洋;《中国优秀硕士学位论文全文数据库》;20150615;第1页第1.1节-第93页第5.4节 *

Also Published As

Publication number Publication date
CN105426305A (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
CN105426305B (zh) 一种控件属性解析系统及方法
US7542958B1 (en) Methods for determining the similarity of content and structuring unstructured content from heterogeneous sources
US11372830B2 (en) Interactive splitting of a column into multiple columns
CN109766540A (zh) 通用文本信息提取方法、装置、计算机设备和存储介质
Raza et al. Automated data extraction using predictive program synthesis
CN104199871B (zh) 一种用于智慧教学的高速化试题导入方法
CN106844658A (zh) 一种中文文本知识图谱自动构建方法及系统
CN106663003A (zh) 用于软件分析的系统和方法
CN109948340B (zh) 一种卷积神经网络和XGBoost相结合的PHP-Webshell检测方法
CN105512285B (zh) 基于机器学习的自适应网络爬虫方法
CN109344250A (zh) 基于医保数据的单病种诊断信息快速结构化方法
CN105095091B (zh) 一种基于倒排索引技术的软件缺陷代码文件定位方法
CN109657114B (zh) 一种抽取网页半结构化数据的方法
CN104699797A (zh) 一种网页数据结构化解析方法和装置
CN104537280B (zh) 基于文本关系相似性的蛋白质交互关系识别方法
CN105956158A (zh) 基于海量微博文本和用户信息的网络新词自动提取的方法
Jian et al. An end-to-end algorithm for solving circuit problems
CN113609246B (zh) 一种网页相似性检测方法及系统
CN108153851A (zh) 一种基于规则和语义的通用论坛主题帖页面信息抽取方法
CN107153610A (zh) 一种程序语句错误检测方法和装置
CN106484676A (zh) 基于句法树和领域特征的生物文本蛋白质指代消解方法
CN109325217A (zh) 一种文件转换方法、系统、装置及计算机可读存储介质
CN108052501A (zh) 一种基于人工智能的实体关系对识别方法及系统
CN103870590B (zh) 具有报错特征的网页识别方法和装置
Cui et al. Combine unsupervised learning and heuristic rules to annotate organism morphological descriptions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201210

Address after: 313028 Industrial Park, balidian Town, Huzhou City, Zhejiang Province

Patentee after: HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.

Address before: 201616 No. 3666 Sixian Road, Songjiang District, Shanghai

Patentee before: Phicomm (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240123

Address after: 423099 China (Hunan) Pilot Free Trade Zone Chenzhou Area, Chenzhou City, Hunan Province, China. No. 3448-1, Linyi Avenue, Zhonglin Technology Enterprise Incubation Base, Bailutang Town, Chenzhou City (Promised Application)

Patentee after: Hunan Chencheng Technology Group Co.,Ltd.

Country or region after: China

Address before: 313028 Industrial Park, balidian Town, Huzhou City, Zhejiang Province

Patentee before: HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right