CN111221610B - 一种页面元素采集方法和装置 - Google Patents
一种页面元素采集方法和装置 Download PDFInfo
- Publication number
- CN111221610B CN111221610B CN202010005089.6A CN202010005089A CN111221610B CN 111221610 B CN111221610 B CN 111221610B CN 202010005089 A CN202010005089 A CN 202010005089A CN 111221610 B CN111221610 B CN 111221610B
- Authority
- CN
- China
- Prior art keywords
- page
- offspring
- acquisition
- elements
- acquiring
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种页面元素采集方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;从代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。该实施方式基于采集需求进行代码提取以生成采集模板,以此批量采集页面元素,不同于手工逐个录制采集的方式,加快了页面元素的采集速度,提升采集效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种页面元素采集方法和装置。
背景技术
软件开发领域中的UI(User Interface,用户界面)测试工作重复性大,例如新功能以及变更功能的多轮次测试、未变动功能的回归测试等。若将人力从重复劳动中解脱出来,不仅能够有效节约人力资源、降低成本,还能避免不同人员实施所带来的质量不稳定问题。
目前市面上主流的UI自动化测试产品、工具或框架,主要都是通过录制脚本或手工点选页面来逐个采集页面元素以及生成步骤脚本,例如QTP(Quick Test Professional,自动化测试工具)或Selenium IDE(开源Web自动化测试工具)。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
1)需直接根据目标元素(即锁定的页面元素)的属性或目标元素的外层元素(即父元素、祖父元素等)定义锁定条件,无法通过定义锚点元素(即目标元素的上一级元素,用以锁定目标元素)使用更稳定的锁定条件;
2)只能逐个产生对页面元素定义(即定位页面元素的路径和条件),不支持批量生成;
3)基于手动采集页面元素方式,当页面元素较多时逐个采集较为耗时。
发明内容
有鉴于此,本发明实施例提供一种页面元素采集方法和装置,至少能够解决现有技术中页面元素特征定义层次过于单一,以及元素录制采集效率低的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种页面元素采集方法,包括:
接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;
基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。
可选的,从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代,包括:
从所述代码所处位置开始,获取与所述代码存在父子关系、且结构与所述语法结构相似的后代;
从所述后代所处位置开始,获取与所述后代存在父子关系、且结构与所述语法结构相似的第一后代。
可选的,所述从所述后代所处位置开始,获取与所述后代存在父子关系、且结构与所述语法结构相似的第一后代,包括:
从所述后代所处位置开始,确定与所述后代处于兄弟关系、且与所述代码存在父子关系的后续兄弟;
从所述后续兄弟所处位置开始,获取与所述后续兄弟存在父子关系、且结构与所述语法结构相似的第二后代。
可选的,在所述得到页面元素之后,还包括;
获取所述后代的左值和右值;其中,所述左值和所述右值表示位于赋值运算符两侧的两个值;
将所述左值作为所述页面元素的页面元素定义的左值,将所述右值作为所述页面元素定义中左值的属性值;其中,所述页面元素定义表示定位页面元素的路径和条件。
可选的,在所述得到页面元素之后,还包括:分析所述页面元素的特征,基于所述特征构建第一采集模板,以利用所述第一采集模板对所述页面进行页面元素采集,得到所述页面中的所有页面元素。
可选的,在所述得到页面元素之后,还包括:响应于对至少一个页面元素的选择操作,以在所述页面中,基于预定颜色对所述至少一个页面元素进行高亮显示。
可选的,在所述得到页面元素之后,还包括:确定对象库中与所述页面对应的树节点,将所述页面元素添加至所述树节点的子节点中,以构建所述页面和所述页面元素组成的树形结构。
可选的,在构建所述页面和所述页面元素组成的树形结构之后,还包括:
接收对单个页面元素的编程语言定义或可扩展标记语言定义;
基于与所述编程语言对应的第一颜色或与所述可扩展标记语言对应的第二颜色,对所述树形结构中与所述单个页面元素对应的子节点进行着色。
可选的,在构建所述页面和所述页面元素组成的树形结构之后,还包括:
响应于对所述对象库中页面元素的选择操作,确定所提取的页面元素的类型,获取对所述类型的操作步骤;其中,操作步骤为一个页面操作行为;
按照对页面元素的选择顺序对所述操作步骤进行排序组合,以生成操作动作;
接收对所述操作动作中各个操作步骤的测试数据输入,执行测试得到测试结果。
可选的,在生成操作动作之后,还包括:
响应于对所述操作动作中至少一个操作步骤的变更操作,基于所述变更操作中的变更信息,对所述操作动作进行更新。
为实现上述目的,根据本发明实施例的另一方面,提供了一种页面元素采集装置,包括:
需求接收模块,用于接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
代码获取模块,用于从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;
元素采集模块,用于基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。
可选的,所述代码获取模块,用于:
从所述代码所处位置开始,获取与所述代码存在父子关系、且结构与所述语法结构相似的后代;
从所述后代所处位置开始,获取与所述后代存在父子关系、且结构与所述语法结构相似的第一后代。
可选的,所述代码获取模块,用于:
从所述后代所处位置开始,确定与所述后代处于兄弟关系、且与所述代码存在父子关系的后续兄弟;
从所述后续兄弟所处位置开始,获取与所述后续兄弟存在父子关系、且结构与所述语法结构相似的第二后代。
可选的,还包括元素定义模块,用于;
获取所述后代的左值和右值;其中,所述左值和所述右值表示位于赋值运算符两侧的两个值;
将所述左值作为所述页面元素的页面元素定义的左值,将所述右值作为所述页面元素定义中左值的属性值;其中,所述页面元素定义表示定位页面元素的路径和条件。
可选的,还包括第一元素采集模块,用于:分析所述页面元素的特征,基于所述特征构建第一采集模板,以利用所述第一采集模板对所述页面进行页面元素采集,得到所述页面中的所有页面元素。
可选的,还包括元素高亮模块,用于:响应于对至少一个页面元素的选择操作,以在所述页面中,基于预定颜色对所述至少一个页面元素进行高亮显示。
可选的,还包括对象库模块,用于:确定对象库中与所述页面对应的树节点,将所述页面元素添加至所述树节点的子节点中,以构建所述页面和所述页面元素组成的树形结构。
可选的,还包括元素着色模块,用于:
接收对单个页面元素的编程语言定义或可扩展标记语言定义;
基于与所述编程语言对应的第一颜色或与所述可扩展标记语言对应的第二颜色,对所述树形结构中与所述单个页面元素对应的子节点进行着色。
可选的,还包括测试模块,用于:
响应于对所述对象库中页面元素的选择操作,确定所提取的页面元素的类型,获取对所述类型的操作步骤;其中,操作步骤为一个页面操作行为;
按照对页面元素的选择顺序对所述操作步骤进行排序组合,以生成操作动作;
接收对所述操作动作中各个操作步骤的测试数据输入,执行测试得到测试结果。
可选的,还包括步骤变更模块,用于:
响应于对所述操作动作中至少一个操作步骤的变更操作,基于所述变更操作中的变更信息,对所述操作动作进行更新。
为实现上述目的,根据本发明实施例的再一方面,提供了一种页面元素采集电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的页面元素采集方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的页面元素采集方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:根据采集需求在当前页面上快速并批量采集页面元素;基于在对象库中选定的页面元素及其类型,批量生成操作步骤,保存为脚本并测试,实现Web端UI自动化测试,缩短了测试脚本编写时间,提高自动化测试适用性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种页面元素采集方法的主要流程示意图;
图2是示例填报信息模板的示意图;
图3(a)和图3(b)是两张相似页面的示意图;
图4是定义采集模板的人机交互界面示意图;
图5是根据本发明实施例的一种可选的页面元素采集方法的流程示意图;
图6是根据本发明实施例的另一种可选的页面元素采集方法的流程示意图;
图7是java定义的页面元素示例示意图;
图8是xml定义的页面元素示例示意图;
图9是针对不同Java定义和xml定义的页面元素显示不同颜色的示例示意图;
图10是根据本发明实施例的又一种可选的页面元素采集方法的流程示意图;
图11是根据本发明实施例的一种页面元素采集装置的主要模块示意图;
图12是本发明实施例可以应用于其中的示例性***架构图;
图13是适于用来实现本发明实施例的移动设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明涉及Web端UI自动化测试应用领域。虽QTP也可以实现UI自动化测试,但由于其使用的vb不是面向对象的语言,且运行速度较慢,因此本发明主要基于Selenium进行UI自动化测试对象库工具的构建。
对于本发明所涉及的词语,做解释如下:
页面元素:泛指Web端页面的组成部分,可以为控件、相对独立的一串文字或图片等。
文档对象模型(Document Object Model,DOM):为处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。
XML(Extensible Markup Language,可扩展的标识语言):标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
div元素:用以为html(hypertext markup language,超文本标记语言)文档内(block-level)的内容提供结构和背景的元素。
参见图1,示出的是本发明实施例提供的一种页面元素采集方法的主要流程图,包括如下步骤:
S101:接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
S102:从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;
S103:基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。
上述实施方式中,对于步骤S101和S102,测试主要分为单元测试、接口测试和UI功能测试。在项目中,UI功能测试是每个项目中任务量最大的测试类型,也是版本交付前最后的版本质量检测环节。
一个采集模板可以对应多项采集需求,例如“填报信息模板”包含“填报信息项”和“按钮”两项采集需求,并基于这两项采集需求,从页面源码中提取相应的代码,参见图2所示。
对于单个采集需求,首先基于人工从页面的源码中查看其对应的代码,包括后代、后续兄弟等关系定义、tag标签、tag的属性和属性值等。
以代码为例,具体阐述实施过程(此处仅为示例):
1)锁定符合下述条件的代码,tag为div、id为pane-base、包含tag为label且class为el-form-item_label的代码;
2)根据采集需求从页面html源码中查找对应的代码,作为初始元素,得到<divrole="tabpanel"id="pane-base"aria-labe1ledby="tab-base"class="e1-tab-pane-wrap">;
3)接着在该初始元素的后代中查找与该初始元素语法结构相同(或相似)的后代,并定义为锚点元素,得到<1abel for="personName"class="el-form-item__label"style="width:Srem;">…</label>;
需要说明的是,本发明中的锚点元素为具有唯一特征且和目标元素之间具有固定关系的元素。其作用为:因为其具有唯一特征,所以能够准确锁定;因为其与目标元素之间具有固定关系,所以通过锁定锚点元素即可锁定到目标元素。
4)查找与锚点元素处于兄弟关系、且与初始元素存在父子关系的后续兄弟(即tag为div的同级后续码),并将其定义为中间元素(即中间过渡元素),得到<div class="el-form-item__content">;
5)在中间元素的后代中,查找与初始元素语法结构相同的后代(即第二后代,Tag为input),并将其定义为目标元素,得到<input type="text"autocomplete="off"class="el-input__inner cuetom">。
需要说明的是,锚点元素一定是中间元素,用以从初始元素到目标元素的查找过渡,但中间元素并不一定是锚点元素,例如后续兄弟。
同一页面中多个目标元素的特征可能相同,例如class属性为el_input_inner,在页面的多个输入框元素中都一样。
在为目标元素定义的特征不唯一的情况下,可以将唯一特征转移到其他元素中,以作为锚点元素。例如,目标元素没有唯一特征,但中间元素2具有唯一特征for=personName,可以根据该唯一特征锁定中间元素2,之后再根据目标元素与中间元素2之间的“后代”或“父子”关系,锁定目标元素。
基于上述目标元素和锚点元素之间的元素定义方式,在目标元素属性不唯一的情况下,可以基于中间元素的唯一特征进行锚点元素确定,无需使用序号锁定元素,避免在页面中的信息项发生变动时,所有页面元素定义需重新调整序号的情况。
由上可知,采集需求需要从页面源代码中的初始元素开始,根据其与中间元素之间的父子关系,进行锚点元素锁定,并根据锚点元素确定后续兄弟元素以及目标元素,进而得到最终采集结果。
以图2中的“填报信息项”为例,所得锚点元素为第2个中间元素,锁定当前页面中符合条件(父子关系和语法结构)的“初始元素”的“后代”,最终提取“后代”的“后续兄弟”的“后代”。
进一步需要说明的是,图2和图3示例仅为一种情况,即基于初始元素查找后代、再基于后代的后续兄弟进行后代查找。实际操作中,代码形式多样,因此所构建采集模板的方式较为多样:
1)由于代码通常为树形结构,当初始元素不存在后代时,可以基于初始元素查找其父代码、再基于父代码的父兄弟代码再次进行父代码查找,之后进行采集模板构建;
2)但若不存在父代码和后代时,还可以基于其兄弟代码进行采集模板构建。
再进一步的,本次采集只得到了与采集需求对应的页面元素。实际操作中,还可以基于这些页面元素对该页面进行所有页面元素采集,具体地:
1)首先基于人工从页面中挑选一个或多个符合采集需求的页面元素;
2)查看这些页面元素所对应的源代码,以归纳这些页面元素的唯一特征,确定唯一特征与页面元素之间的关系,并以此创建采集模板(即第一采集模板);
3)通过该采集模板,锁定页面中所有符合要求的页面元素,锁定过程为:
①从初始元素开始,经过中间元素锁定页面上的所有锚点元素(即符合模板中锚点元素定义的所有元素);
②针对每个锚点元素,继续经过中间元素,进行目标元素锁定。
对于一个***或平台而言,使用的前端控件大多数是统一的,因此较多页面的html结构存在一定的相似性,相似页面可以采用同一采集模板进行页面元素采集,例如查询功能页面和信息填报功能页面。
参见图3(a)和图3(b)所示,两个页面均包含诸多信息填报项,除信息项标题不同外,在CSS(Cascading Style Sheets,层叠样式表)层展现风格、DOM结构等方面都较为相似。
对于步骤S103,预先设置采集模板生成界面,参见图4所示,以根据初始元素、锚点元素、中间元素以及目标元素生成的采集模板,之后利用采集模板对当前页面进行元素采集,得到采集结果。
“按钮”采集需求的处理方式与“填报信息项”同理,其实施过程在此不再赘述。最终基于与“填报信息项”对应的采集模板以及与“按钮”对应的采集模板,生成与整体需求对应的采集模板。
需要说明的是,采集页面元素通常为对页面中所有页面元素的采集,例如页面中包含10个输入框,采集得到这10个输入框的页面元素,所得采集模板也是与这10个输入框的代码相应的。
虽实际操作中,可以仅选择其中部分输入框作为采集需求,但为减少采集模板的生成次数,通常利用采集模板采集到所有符合条件的页面元素,例如这10个输入框的页面元素,之后在此基础上支持人工删减。
在工作人员查看页面元素时,为便于查看该页面元素在页面中所处的位置,可以对其进行高亮显示(例如黄绿色、黄色)。例如,点击“高亮按钮”将元素“姓名”在当前页面上高亮显示,若选择多个页面元素,则根据选择顺序进行逐个高亮。
上述实施例所提供的方法,基于采集需求进行代码提取以生成采集模板,以此批量采集页面元素,不同于手工逐个录制采集的方式,加快了页面元素的采集速度,提升采集效率。
参见图5,示出了根据本发明实施例的一种可选的页面元素采集方法流程示意图,包括如下步骤:
S501:接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
S502:从所述代码所处位置开始,获取与所述代码存在父子关系、且结构与所述代码的语法结构相似的后代;
S503:从所述后代所处位置开始,确定与所述后代处于兄弟关系、且与所述代码存在父子关系的后续兄弟;
S504:从所述后续兄弟所处位置开始,获取与所述后续兄弟存在父子关系、且结构与所述语法结构相似的第二后代;
S505:基于所述代码、所述后代、所述后续兄弟和和所述第二后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素;
S506:获取所述后代的左值和右值;其中,所述左值和所述右值表示位于赋值运算符两侧的两个值;
S507:将所述左值作为所述页面元素的页面元素定义的左值,将所述右值作为所述页面元素定义中左值的属性值;其中,所述页面元素定义表示定位页面元素的路径和条件。
上述实施方式中,对于步骤S501~S504可参见图1所示步骤S101~S102的描述,步骤S505可参见图1所示步骤S103的描述,在此不再赘述。
上述实施方式中,对于步骤S506,中间元素(即后代)定义的条件包含左值、右值及其关系。如图2中“填报信息项”采集需求的“初始元素”应当符合条件:html标签(tagName)为div,并且id为pane-base。
左值和右值表示位于赋值运算符两侧的两个值:
1)左值,指的是如果一个表达式可以引用到某一个对象,并且该对象是一块内存空间且可以被检查和存储,那么该表达式就可以作为左值;
2)右值,指的是引用了一个存储在某个内存地址里的“数据”。
由上可知,左值引用对象,而对象在程序中通常会设有名字或者通过名字访问到,所以左值又可以表示程序中必须设有一个特定名字引用。而右值引用的是地址里的内容,所以右值又可以表示程序中没有特定名字引用到的值。
对于步骤S507,需要说明的条件定义为:
1)左值为“对象名称取值”:该条件表示将右值作为采集到的页面元素的对象名称。例如rightvalue=文本,在采集需求中,该条件表示对于采集到的多个页面元素,取其文本作为其对象名称;
以代码为例:
<label for="personName"class="el-form-item__label"style="width:4.5rem;">
::before
姓名
</label>
其左值的对象名称取值为“姓名”。
2)左右值关系为“to等于”:该条件表示将为采集到的页面元素定义增加条件,新增条件的左值为当前条件的左值,新增条件的右值为页面元素的左值定义的属性值,两者关系为“等于”。
以图3中的锚点元素(第一个后代)为例,新增条件针对于页面元素而言,其为页面元素定义中的锁定路径及条件为:
<Condition rightvalue="label"leftvalue"tagName"left2RightRel="等于"/>
<Condition rightvalue="el-form-item_label"leftvalue="class"left2RightRel="等于">
将以下代码作为新增条件加入到页面元素定义中:
<Condition rightvalue=""leftvalue="for"left2RightRel="to等于"/>
新增条件的左值即为“for”,作为页面元素定义新增条件的左值;右值为“personName”,作为页面元素html中对应的属性值,两者存在“to”的等价对应关系。
通过上述操作,能够对采集结果中的页面元素进行对象名称赋值,并自动为锚点元素增加for属性的定位条件。
上述实施例所提供的方法,可以基于中间元素的左值、右值及其关系,对页面元素进行页面元素定义和编辑,且支持对输入条件的扩展,作为新增条件进行定义。
参见图6,示出了根据本发明实施例的另一种可选的页面元素采集方法流程示意图,包括如下步骤:
S601:接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
S602:从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;
S603:基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素;
S604:确定对象库中与所述页面对应的树节点,将所述页面元素添加至所述树节点的子节点中,以构建所述页面和所述页面元素组成的树形结构。
上述实施方式中,对于步骤S601~S603可参见图1所示步骤S101~S103的描述,在此不再赘述。
上述实施方式中,对于步骤S604,采集结果通常包含有该页面中的所有页面元素,但其中有些工作人员可能暂不需要,可以通过界面中设置的Delete按钮进行删减操作。
对于删减后的页面元素,工作人员在确认核对后,可以点击“添加到对象库”按钮以将页面元素添加到对象库中。
由于对象库中可能包含有所有页面的页面元素,为避免元素混淆,可以将本次采集到的页面元素,添加至与该页面对应的树节点的子节点中,例如登录页面树节点的密码、登录名等子节点。
需要说明的是,对象库中的页面和页面元素呈现两层树形结构,用以表示页面包含的页面元素。添加至对象库的页面元素,需确定添加到哪个页面或者新页面中,通常是添加至采集的页面中。
进一步的,本发明还支持对页面元素的java定义和xml定义,其中:
1)Java定义:参见图7所示,主要面向java编程人员,对于一些定位或操作较为特殊的页面元素,可以直接通过java语言基于selenium实现,例如下级菜单需要点击上级菜单后才会显示;
2)xml定义:参见图8所示,主要面向测试人员(无需考虑是否具备编程能力),以尽量降低UI自动化测试的学习成本。
对于页面元素采集过程中的代码、后代、后续兄弟、第一后代以及第二后代的操作,均使用与xml定义相同的模式进行采集需求定义。
本发明无需编写严格符合编程语法结构的xml文件,工作人员可以通过人机交互界面,操作完成对页面元素的定义输入,且支持对xml定义的单个页面元素进行维护。
进一步的,对于不同Java定义和xml定义的页面元素,在对象库的树形结构中可以呈现有不同的颜色。参见图9所示,java定义的页面元素呈现为浅色,而xml定义的页面元素呈现为黑色。
上述实施例所提供的方法,以树形结构展现页面和页面元素之间的结构关系,支持页面元素的java定义和xml定义以及在树形结构中以不同颜色展示,以此进行页面元素区分。
参见图10,示出了根据本发明实施例的又一种可选的页面元素采集方法流程示意图,包括如下步骤:
S1001:接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
S1002:从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;
S1003:基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素;
S1004:确定对象库中与所述页面对应的树节点,将所述页面元素添加至所述树节点的子节点中,以构建所述页面和所述页面元素组成的树形结构;
S1005:响应于对所述对象库中页面元素的选择操作,确定所提取的页面元素的类型,获取对所述类型的操作步骤;其中,操作步骤为一个页面操作行为;
S1006:按照对页面元素的选择顺序对所述操作步骤进行排序组合,以生成操作动作;
S1007:接收对所述操作动作中各个操作步骤的测试数据输入,执行测试得到测试结果。
上述实施方式中,对于步骤S1001~S1003可参见图1所示步骤S101~S103的描述,步骤S1004可参见图6所示步骤S604的描述,在此不再赘述。
上述实施方式中,对于步骤S1005,本发明中的步骤对应于一个页面操作行为,例如:
1)在姓名输入框中输入姓名文本;
2)在性别选择框中选择性别;
3)在年龄输入框中输入数字文本;
4)在身份证输入框中输入身份证编号文本;
5)在民族选择框中选择民族;
6)点击“提交”按钮
7)判断是否出现提示,若为成功提示则表示执行成功,否则执行失败。
对象库中包含Web端UI自动化脚本需要用到的所有页面元素,工作人员可以在该对象库中进行页面元素选择。且每个页面元素都预先定义了类型,例如输入文本、下拉选择、按钮、单选框、复选框等,不同类型的页面元素具有不同的操作步骤,例如选择性别。
对于步骤S1006,本发明中的动作对应于一连串的步骤,通常为页面中一套具有业务意义的操作步骤,例如上述1)~7)组成的提交申请动作。
本发明预先对每种页面元素类型配置了默认操作步骤。在选定对象树中的一个或多个页面元素之后,根据为页面元素的类型配置的默认操作顺序或者对页面元素的选择顺序,自动排序生成操作动作。
此外,可以支持操作步骤自定义或更改操作,如删除、添加、调整步骤顺序或者将步骤修改为其他步骤,并修改相应的步骤参数。
对于步骤S1007,生成操作动作后可以执行测试操作,并在测试完毕后生成测试报告。工作人员可以从测试报告中获取操作步骤、操作事件等执行过程信息,此外,若执行失败会触发失败提醒,例如截图显示错误。
本发明可以指定测试数据源,工作人员将测试数据写入该测试数据源中,例如excel中。也可以为选择的页面元素生成excel测试文件模板sheet,即将页面元素名称作为列标题,例如测试任务配置说明、测试要点等,便于在excel上组织测试数据。或者提供参数便于用户直接定义需要使用的测试数据值。
另外,需要说明的是,本发明中的一次操作步骤是指模拟一次人机交互。交互类型较多,可以是对指定页面元素的操作(如点击、信息填入等),也可以是等待等不涉及页面元素的人机交互。
操作步骤实际为对页面元素的java交互,不同的java方法可以实现不同的操作步骤,从而组合形成步骤库。如输入文本(参数:测试数据来源、页面元素),在参数指定的页面元素中输入测试数据来源文本。
上述实施例所提供的方法,基于页面元素的类型批量并快速对页面元素的操作步骤进行排序,生成操作动作,不同于手工录制逐个生成步骤,加快了脚本生成速度,提高了UI测试效率。
参见图11,示出了本发明实施例提供的一种页面元素采集装置1100的主要模块示意图,包括:
需求接收模块1101,用于接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
代码获取模块1102,用于从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;
元素采集模块1103,用于基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。
本发明实施装置中,所述代码获取模块1102,用于:
从所述代码所处位置开始,获取与所述代码存在父子关系、且结构与所述语法结构相似的后代;
从所述后代所处位置开始,获取与所述后代存在父子关系、且结构与所述语法结构相似的第一后代。
本发明实施装置中,所述代码获取模块1102,用于:
从所述后代所处位置开始,确定与所述后代处于兄弟关系、且与所述代码存在父子关系的后续兄弟;
从所述后续兄弟所处位置开始,获取与所述后续兄弟存在父子关系、且结构与所述语法结构相似的第二后代。
本发明实施装置还包括元素定义模块1104(图中未标出),用于;
获取所述后代的左值和右值;其中,所述左值和所述右值表示位于赋值运算符两侧的两个值;
将所述左值作为所述页面元素的页面元素定义的左值,将所述右值作为所述页面元素定义中左值的属性值;其中,所述页面元素定义表示定位页面元素的路径和条件。
本发明实施装置还包括第一元素采集模块1105(图中未标出),用于:分析所述页面元素的特征,基于所述特征构建第一采集模板,以利用所述第一采集模板对所述页面进行页面元素采集,得到所述页面中的所有页面元素。
本发明实施装置还包括元素高亮模块1106(图中未标出),用于:
响应于对至少一个页面元素的选择操作,以在所述页面中,基于预定颜色对所述至少一个页面元素进行高亮显示。
本发明实施装置还包括对象库模块1107(图中未标出),用于:
确定对象库中与所述页面对应的树节点,将所述页面元素添加至所述树节点的子节点中,以构建所述页面和所述页面元素组成的树形结构。
本发明实施装置还包括元素着色模块1108(图中未标出),用于:
接收对单个页面元素的编程语言定义或可扩展标记语言定义;
基于与所述编程语言对应的第一颜色或与所述可扩展标记语言对应的第二颜色,对所述树形结构中与所述单个页面元素对应的子节点进行着色。
本发明实施装置还包括测试模块1109(图中未标出),用于:
响应于对所述对象库中页面元素的选择操作,确定所提取的页面元素的类型,获取对所述类型的操作步骤;其中,操作步骤为一个页面操作行为;
按照对页面元素的选择顺序对所述操作步骤进行排序组合,以生成操作动作;
接收对所述操作动作中各个操作步骤的测试数据输入,执行测试得到测试结果。
本发明实施装置还包括步骤变更模块1110(图中未标出),用于:
响应于对所述操作动作中至少一个操作步骤的变更操作,基于所述变更操作中的变更信息,对所述操作动作进行更新。
另外,在本发明实施例中所述装置的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。
图12示出了可以应用本发明实施例的示例性***架构1200。
如图12所示,***架构1200可以包括终端设备1201、1202、1203,网络1204和服务器1205(仅仅是示例)。网络1204用以在终端设备1201、1202、1203和服务器1205之间提供通信链路的介质。网络1204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1201、1202、1203通过网络1204与服务器1205交互,以接收或发送消息等。终端设备1201、1202、1203上可以安装有各种通讯客户端应用。
终端设备1201、1202、1203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1205可以是提供各种服务的服务器,例如对用户利用终端设备1201、1202、1203所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。
需要说明的是,本发明实施例所提供的方法一般由服务器1205执行,相应地,装置一般设置于服务器1205中。
应该理解,图12中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图13,其示出了适于用来实现本发明实施例的终端设备的计算机***1300的结构示意图。图13示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,计算机***1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有***1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括需求接收模块、代码获取模块、元素采集模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,元素采集模块还可以被描述为“采集页面元素的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码;
从所述代码所处位置开始,获取与所述代码的语法结构相似的后代和所述后代的第一后代;
基于所述代码、所述后代和所述第一后代,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。
根据本发明实施例的技术方案,根据采集需求在当前页面上快速并批量采集页面元素;基于在对象库中选定的页面元素及其类型,批量生成操作步骤,保存为脚本并测试,实现Web端UI自动化测试,缩短了测试脚本编写时间,提高自动化测试适用性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (11)
1.一种页面元素采集方法,其特征在于,包括:
接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码,作为初始元素;
在该初始元素的后代中查找与该初始元素语法结构相同的后代,并定义为锚点元素;
查找与锚点元素处于兄弟关系、且与初始元素存在父子关系的后续兄弟,并将其定义为中间元素;
在中间元素的后代中,查找与初始元素语法结构相同的后代,并将其定义为目标元素;
基于所述初始元素、所述锚点元素、所述中间元素和所述目标元素,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。
2.根据权利要求1所述的方法,其特征在于,在所述得到页面元素之后,还包括;
获取所述锚点元素的左值和右值;其中,所述左值和所述右值表示位于赋值运算符两侧的两个值;
将所述左值作为所述页面元素的页面元素定义的左值,将所述右值作为所述页面元素定义中左值的属性值;其中,所述页面元素定义表示定位页面元素的路径和条件。
3.根据权利要求1所述的方法,其特征在于,在所述得到页面元素之后,还包括:
分析所述页面元素的特征,基于所述特征构建第一采集模板,以利用所述第一采集模板对所述页面进行页面元素采集,得到所述页面中的所有页面元素。
4.根据权利要求1所述的方法,其特征在于,在所述得到页面元素之后,还包括:
响应于对至少一个页面元素的选择操作,以在所述页面中,基于预定颜色对所述至少一个页面元素进行高亮显示。
5.根据权利要求1所述的方法,其特征在于,在所述得到页面元素之后,还包括:
确定对象库中与所述页面对应的树节点,将所述页面元素添加至所述树节点的子节点中,以构建所述页面和所述页面元素组成的树形结构。
6.根据权利要求5所述的方法,其特征在于,在构建所述页面和所述页面元素组成的树形结构之后,还包括:
接收对单个页面元素的编程语言定义或可扩展标记语言定义;
基于与所述编程语言对应的第一颜色或与所述可扩展标记语言对应的第二颜色,对所述树形结构中与所述单个页面元素对应的子节点进行着色。
7.根据权利要求5所述的方法,其特征在于,在构建所述页面和所述页面元素组成的树形结构之后,还包括:
响应于对所述对象库中页面元素的选择操作,确定所提取的页面元素的类型,获取对所述类型的操作步骤;其中,操作步骤为一个页面操作行为;
按照对页面元素的选择顺序对所述操作步骤进行排序组合,以生成操作动作;
接收对所述操作动作中各个操作步骤的测试数据输入,执行测试得到测试结果。
8.根据权利要求7所述的方法,其特征在于,在生成操作动作之后,还包括:
响应于对所述操作动作中至少一个操作步骤的变更操作,基于所述变更操作中的变更信息,对所述操作动作进行更新。
9.一种页面元素采集装置,其特征在于,包括:
需求接收模块,用于接收对页面的采集需求,在所述页面的源代码中获取与所述采集需求对应的代码,作为初始元素;
代码获取模块,用于在该初始元素的后代中查找与该初始元素语法结构相同的后代,并定义为锚点元素;
查找与锚点元素处于兄弟关系、且与初始元素存在父子关系的后续兄弟,并将其定义为中间元素;
在中间元素的后代中,查找与初始元素语法结构相同的后代,并将其定义为目标元素;
元素采集模块,用于基于所述初始元素、所述锚点元素、所述中间元素和所述目标元素,生成采集模板,利用所述采集模板对所述页面进行元素采集,得到页面元素。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010005089.6A CN111221610B (zh) | 2020-01-03 | 2020-01-03 | 一种页面元素采集方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010005089.6A CN111221610B (zh) | 2020-01-03 | 2020-01-03 | 一种页面元素采集方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221610A CN111221610A (zh) | 2020-06-02 |
CN111221610B true CN111221610B (zh) | 2023-07-04 |
Family
ID=70810584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010005089.6A Active CN111221610B (zh) | 2020-01-03 | 2020-01-03 | 一种页面元素采集方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221610B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036426A (zh) * | 2021-11-25 | 2022-02-11 | 深圳视界信息技术有限公司 | 一种网页数据采集方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633019A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 一种页面事件采集方法和装置 |
CN110489625A (zh) * | 2019-07-29 | 2019-11-22 | 北京百分点信息科技有限公司 | 一种网页数据采集模板的生成方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346743B2 (en) * | 2008-09-18 | 2013-01-01 | International Business Machines Corporation | Configuring data collection rules in a data monitoring system |
CN103226599B (zh) * | 2013-04-23 | 2018-09-28 | 翁杰 | 一种精确提取网页内容的方法及*** |
CN104331512B (zh) * | 2014-11-25 | 2017-10-20 | 南京烽火星空通信发展有限公司 | 一种bbs页面自动采集方法 |
CN105279089B (zh) * | 2015-10-30 | 2017-12-12 | 中国人民财产保险股份有限公司 | 一种获取页面元素的方法及装置 |
CN105447139B (zh) * | 2015-11-20 | 2021-05-11 | 广州华多网络科技有限公司 | 一种数据采集统计方法及其***、终端、服务设备 |
US10706358B2 (en) * | 2016-05-13 | 2020-07-07 | Cognitive Scale, Inc. | Lossless parsing when storing knowledge elements within a universal cognitive graph |
RU2638710C1 (ru) * | 2016-10-10 | 2017-12-15 | Акционерное общество "Лаборатория Касперского" | Способы обнаружения вредоносных элементов веб-страниц |
CN107562620B (zh) * | 2017-08-24 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种埋点自动设置方法和装置 |
CN107729475B (zh) * | 2017-10-16 | 2021-07-02 | 深圳视界信息技术有限公司 | 网页元素采集方法、装置、终端与计算机可读存储介质 |
CN110275705A (zh) * | 2019-06-19 | 2019-09-24 | 北京三快在线科技有限公司 | 生成预加载页面代码的方法、装置、设备及存储介质 |
-
2020
- 2020-01-03 CN CN202010005089.6A patent/CN111221610B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633019A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 一种页面事件采集方法和装置 |
CN110489625A (zh) * | 2019-07-29 | 2019-11-22 | 北京百分点信息科技有限公司 | 一种网页数据采集模板的生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111221610A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318628B2 (en) | System and method for creation of templates | |
CN111241454B (zh) | 一种生成网页代码的方法、***和装置 | |
US20210034336A1 (en) | Executing a process-based software application in a first computing environment and a second computing environment | |
US9218269B2 (en) | Testing multiple target platforms | |
EP2151773B1 (en) | Synchronous to asynchronous web page conversion | |
US20130338995A1 (en) | Practical natural-language human-machine interfaces | |
US20120166480A1 (en) | Xpath-based selection assistance of gui elements during manual test script authoring for xml-based applications | |
CN110928763A (zh) | 测试方法、装置、存储介质及计算机设备 | |
US9817811B2 (en) | Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method | |
US11714625B2 (en) | Generating applications for versatile platform deployment | |
US11301366B2 (en) | Test automation systems and methods using logical identifiers | |
US11556702B2 (en) | Orchestration of crud operations for a hierarchical web service data model in a spreadsheet | |
US20220350857A1 (en) | Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors | |
US20210117313A1 (en) | Language agnostic automation scripting tool | |
US9678856B2 (en) | Annotated test interfaces | |
CN111221610B (zh) | 一种页面元素采集方法和装置 | |
US20200167049A1 (en) | Context menu fragment management | |
US11010140B2 (en) | Integration of workflow and logical data objects using visual programming | |
US20240037325A1 (en) | Ability to add non-direct ancestor columns in child spreadsheets | |
US20080320412A1 (en) | Document Processing Device and Document Processing Method | |
US11570230B1 (en) | System and method for creating a protocol-compliant uniform resource locator | |
US20230367471A1 (en) | System and Method for Specifying Properties for a Protocol-Compliant Uniform Resource Locator | |
US20230418828A1 (en) | System and method for creating a filtering protocol-compliant uniform resource locator | |
US11526336B2 (en) | Community-oriented, cloud-based digital annealing platform | |
US20230350965A1 (en) | System and Method for Validating a Protocol-Compliant Uniform Resource Locator |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220922 Address after: 12 / F, 15 / F, 99 Yincheng Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120 Applicant after: Jianxin Financial Science and Technology Co.,Ltd. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |