CN103780448B - 一种控件层代码的生成方法及装置 - Google Patents
一种控件层代码的生成方法及装置 Download PDFInfo
- Publication number
- CN103780448B CN103780448B CN201210406329.9A CN201210406329A CN103780448B CN 103780448 B CN103780448 B CN 103780448B CN 201210406329 A CN201210406329 A CN 201210406329A CN 103780448 B CN103780448 B CN 103780448B
- Authority
- CN
- China
- Prior art keywords
- control
- function
- attribute
- lookup
- node
- 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
Abstract
本发明提供了一种控件层代码的生成方法,包括:控件被选中后,获取所述控件的属性及所述控件的下属各级控件的属性;将获取的控件的属性作为参数值输入到预设的查找模板函数,生成查找函数;调用生成的查找函数,依据所述查找函数中控件的属性找到控件;将找到的控件作为参数值输入到预设的对应控件类型的操作函数,生成控件层代码;本发明还提供一种控件层代码的生成装置。根据本发明提供的技术方案,能够提高控件层代码的生成效率。
Description
【技术领域】
本发明涉及互联网领域的测试技术,尤其涉及一种控件层代码的生成方法及装置。
【背景技术】
目前,UI测试过程中,控件层代码的生成方式主要有两种,一种是由人工编写控件层代码,另一种是工具通过录制操作生成控件层代码。
对于第一种人工编写控件层代码的方式,需要利用鼠标找到控件,得到直观的树状结构,从而找到每个控件的标识或名称,用户依据找到的控件编写代码。对于第二种工具通过录制操作生成控件层代码的方式,用户在互联网应用中进行操作时,工具自动生成控件层代码,然后利用生成的控件层代码反复模拟用户操作;例如,用户在登录框中输入用户名和密码后登录某系统,在用户的输入过程中,工具自动生成代码,然后利用生成的代码反复进行登录系统的操作,实现了人工操作的录制。
上述控件层代码的生成方式存在以下缺陷:
1、人工编写控件层代码的过程非常耗时且需要做许多重复的操作,代码生成效率较低,从而导致UI测试效率较低。
2、所述工具为第三方提供的商业软件,由于工具封装了所有的底层控件和操作,因此控件的可见性、可控行、可编辑性、可读性和复用性较低,而且目前的商业软件对自定义控件的识别率较低,当生成的代码存在较大偏差时,难以进行修改,从而影响UI测试结果。
【发明内容】
本发明提供了一种控件层代码的生成方法及装置,能够提高控件层代码的生成效率。
本发明的具体技术方案如下:
根据本发明一优选实施例,一种控件层代码的生成方法,包括:
控件被选中后,获取所述控件的属性及所述控件的下属各级控件的属性;
将获取的控件的属性作为参数值输入到预设的查找模板函数,生成查找函数;
调用生成的查找函数,依据所述查找函数中控件的属性找到控件;
将找到的控件作为参数值输入到预设的对应控件类型的操作函数,生成控件层代码。
上述方法中,该方法还包括:
预设并存储用于查找控件的查找模板函数;所述查找模板函数的参数包括:控件的父节点的名称或比该父节点更高级节点的名称、控件标识、控件与父节点或控件与比所述父节点更高级节点之间的层数。
上述方法中,该方法还包括:
预设用于操作控件的操作函数,存储所述操作函数、操作函数与控件类型之间的对应关系;
所述操作函数的参数为所述操作函数操作的控件。
上述方法中,所述获取所述控件的属性及所述控件的下属各级控件的属性,具体为:
调用预设的广度优先遍历算法,遍历所述控件的所有儿子控件,以及每个儿子控件的儿子控件,直至遍历完所述控件的所有下属各级控件;
遍历到控件时,调用抓取工具抓取所述控件的属性。
上述方法中,所述控件的属性包括:控件标识、控件名称、控件类型、控件的父节点或比所述父节点更高级节点的名称、控件与父节点或控件与比所述父节点更高级节点之间的层数。
一种控件层代码的生成装置,包括:
获取模块,用于在控件被选中后,获取所述控件的属性及所述控件的下属各级控件的属性;
函数生成模块,用于将获取的控件的属性作为参数值输入到预设的查找模板函数,生成查找函数;
代码生成模块,用于调用生成的查找函数,依据所述查找函数中控件的属性找到控件;还用于将找到的控件作为参数值输入到预设的对应控件类型的操作函数,生成控件层代码。
上述装置中,该装置还包括:
设置模块,用于预设用于查找控件的查找模板函数;
存储模块,用于存储所述查找模板函数;
所述查找模板函数的参数包括:控件的父节点的名称或比该父节点更高级节点的名称、控件标识、控件与父节点或控件与比所述父节点更高级节点之间的层数。
上述装置中,该装置还包括:
所述设置模块,用于预设用于操作控件的操作函数;
所述存储模块,用于存储所述操作函数、操作函数与控件类型之间的对应关系;
所述操作函数的参数为所述操作函数操作的控件。
上述装置中,所述获取模块获取所述控件的属性及所述控件的下属各级控件的属性,具体为:
调用预设的广度优先遍历算法,遍历所述控件的所有儿子控件,以及每个儿子控件的儿子控件,直至遍历完所述控件的所有下属各级控件;
遍历到控件时,调用抓取工具抓取所述控件的属性。
上述装置中,所述控件的属性包括:控件标识、控件名称、控件类型、控件的父节点或比所述父节点更高级节点的名称、控件与父节点或控件与比所述父节点更高级节点之间的层数。
由以上技术方案可以看出,本发明提供的具有以下有益效果:
不需要人工编写控件层代码,就可以自动生成控件层代码,从而提高控件层代码的生成效率,提高整个UI测试的效率。
【附图说明】
图1是本发明实现控件层代码的生成装置的优选实施例的结构示意图;
图2是本发明实现控件层代码的生成方法的优选实施例的流程示意图;
图3是本发明实现控件层代码的生成方法中遍历控件的示意图;
图4是本发明实现控件层代码的生成方法中配置界面的示意图;
图5是本发明实现控件层代码的生成方法中生成代码的示意图。
【具体实施方式】
本发明的基本思想是:控件被选中后,获取所述控件的属性及所述控件的下属各级控件的属性;将获取的控件的属性作为参数值输入到预设的查找模板函数,生成查找函数;调用生成的查找函数,依据所述查找函数中控件的属性找到控件;将找到的控件作为参数值输入到预设的对应控件类型的操作函数,生成控件层代码。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供一种控件层代码的生成装置,图1是本发明实现控件层代码的生成装置的优选实施例的结构示意图,如图1所示,该装置包括:设置模块10、存储模块11、获取模块12、函数生成模块13、代码生成模块14。
基于上述装置,本发明还提供一种控件层代码的生成方法,图2是本发明实现控件层代码的生成方法的优选实施例的流程示意图,如图2所示,该优选实施例包括以下步骤:
步骤201,设置查找模板函数,并为每个控件类型设置对应的操作函数。
具体的,设置模块设置查找模板函数,该查找模板函数用于查找控件,依据该查找模板函数中的参数可以找到对应的控件;其中,查找模板函数包括函数头和函数体。所述函数头包括查找模板函数的属性、查找的控件类型、查找模板函数的名称和查找模板函数的参数,依据不同的控件在查找模板函数中传入不同的参数值,所述参数包括:控件的父节点的名称或比该父节点更高级节点的名称、控件标识、控件与父节点或比该父节点更高级节点的相对位置,该相对位置指的是该控件与父节点或比该父节点更高级节点之间的层数;该函数头对应的具体操作利用函数体表示,函数体可以依据输入的参数找到对应的控件,函数体包括控件的控件类型、控件、对该控件的执行的操作和参数,其中,参数包括控件的父节点的名称或比父节点更高级节点的名称、控件标识和控件与父节点或控件与比父节点更高级节点之间的层数,本优选实施例中,执行的操作为查找控件的操作。
例如,设置的查找模板函数可以为:
其中,public表示该查找模板函数的属性是可在类外部被调用,T为控件类型,TemplateConstructor为查找模板函数的名称,参数名AutomationElement的取值parent表示控件的父节点的名称或比父节点更高级节点的名称,参数名string的取值automationId表示控件标识,参数名int的取值depth表示控件与父节点之间的层数或控件与比父节点更高级节点之间的层数;UIobject表示控件,Finder.FindByID<T>表示对控件类型为T的控件的操作是依据参数查找对应的控件,parent、automationId、depth为参数;returnUIobject表示查找到控件后,向模块返回找到的控件。
设置模块为每个控件类型都设置一个以上操作函数,所述操作函数用于实现对某一控件类型的控件的操作;其中,操作函数包括函数头和函数体,函数头包括操作函数的属性、操作函数的名称和操作函数的参数,依据不同的控件,所述参数值不同,参数值为该操作函数对应的控件;函数体包括该操作函数执行的操作和参数,所述参数为该操作函数对应的控件。
例如,设置的操作函数可以为:
其中,public表示该操作函数可在类外部被调用,void表示该操作函数没有返回值,Click表示操作函数的名称,参数名AutomationElement的取值表示该操作函数对应的控件为window,Mouse.LeftClick(window)表示该操作函数执行的操作是对利用鼠标左键点击window控件。
存储模块存储设置的查找模板函数,并存储所有的操作函数以及操作函数与控件类型的对应关系。
步骤202,控件被选中后,获取该控件的属性及该控件的下属各级控件的属性;
具体的,用户将鼠标移动到一个控件上,选中该控件,并按下Alt+R键,按键信息将被发送到获取模块以触发获取模块执行获取操作;获取模块依据当前鼠标的位置,找到该鼠标所在位置的控件,然后利用预设的抓取工具抓取该控件的属性,控件的属性包括控件标识automationId、控件名称name、控件类型、控件的父节点或比该父节点更高级节点的名称、控件与父节点或控件与比该父节点更高级节点之间的层数等,所述抓取工具可以为对象识别工具UISpy.exe、检查工具Inspect.exe等。
获取模块调用预设的广度优先遍历算法,该广度优先遍历算法将假设当前控件为根控件,然后遍历该根控件的所有儿子控件,然后去遍历第一个儿子控件并遍历该儿子控件的所有儿子控件,再遍历第二个儿子控件并遍历该儿子控件的所有儿子控件,以此类推;每遍历到一个控件,获取模块就调用抓取工具抓取该控件的属性,最终,获取模块可以获取到选中的控件的属性以及该选中的控件的所有下属各级控件的属性,获取模块将获取的控件的属性提供给生成模块。
步骤203,将获取的控件的属性作为参数值输入到预设的查找模板函数,生成查找函数。
具体的,步骤202中只是获取了控件的属性,为了后续能够对控件进行操作,需要找到控件本身,因此,为了找到该控件,需要生成该控件的查找函数。
函数生成模块在从获取模块收到控件的属性后,从存储模块读取查找模板函数,然后将获取的控件的属性作为参数值输入到查找模板函数中,为每个控件都对应生成一个用于查找该控件的查找函数;例如,对于上述的查找模板函数的示例,函数生成模块利用控件的父节点的名称替换parent,利用控件标识替换automationId,利用控件与父节点之间的层数替换depth,从而生成该控件的查找函数;函数生成模块将生成的查找函数提供给代码生成模块。
步骤204,调用生成的查找函数,依据查找函数中控件的属性找到对应的控件,依据找到的控件获取对应的操作函数,将找到的控件作为参数值输入到对应控件类型的操作函数,生成控件层代码。
具体的,代码生成模块调用函数生成模块提供的查找函数,由于查找函数中已经输入作为参数值的控件的属性,因此,查找函数被调用后,可以依据该控件的属性找到对应的控件。
代码生成模块可以利用抓取工具从找到的控件获取该控件的属性,从而得到该控件的控件类型;代码生成模块依据存储模块中存储的操作函数与控件类型的对应关系,从存储模块获取该控件类型对应的操作函数。
代码生成模块将找到的控件作为操作函数的参数值输入到操作函数,生成一个新的函数,该新的函数就是控件层代码,还可以进一步显示生成的控件层代码给用户,供用户查看、修改、导出或保存。
为实现上述方法,如图1所示,所述控件层代码的生成装置中:
设置模块10,用于预设用于查找控件的查找模板函数以及用于操作控件的操作函数;
存储模块11,用于存储所述查找模板函数、所述操作函数、操作函数与控件类型之间的对应关系;
其中,所述查找模板函数的参数包括:控件的父节点的名称或比该父节点更高级节点的名称、控件标识、控件与父节点或控件与比所述父节点更高级节点之间的层数;所述操作函数的参数为所述操作函数操作的控件。
获取模块12,用于在控件被选中后,获取所述控件的属性及所述控件的下属各级控件的属性;
函数生成模块13,用于将获取的控件的属性作为参数值输入到预设的查找模板函数,生成查找函数;
代码生成模块14,用于调用生成的查找函数,依据所述查找函数中控件的属性找到控件;还用于将找到的控件作为参数值输入到预设的对应控件类型的操作函数,生成控件层代码。
其中,所述获取模块12获取所述控件的属性及所述控件的下属各级控件的属性,具体为:调用预设的广度优先遍历算法,遍历所述控件的所有儿子控件,以及每个儿子控件的儿子控件,直至遍历完所述控件的所有下属各级控件;遍历到控件时,调用抓取工具抓取所述控件的属性。
其中,所述控件的属性包括:控件标识、控件名称、控件类型、控件的父节点或比所述父节点更高级节点的名称、控件与父节点或控件与比所述父节点更高级节点之间的层数。
实施例
图3是本发明实现控件层代码的生成方法中遍历控件的示意图,如图3所示,鼠标点击控件“新建幻灯片”,然后用Alt+R键触发获取模块,获取模块获取该控件,并依据该控件,遍历该控件的父节点或比该父节点更高级的节点,并以树的形式列出遍历的控件。这里,用户可以按照需求任意选择控件,凸显自定义性,使得生成的控件层代码具有可读性和可用性。而且,仅显示控件的直系父节点、祖父节点等,直到根节点,而控件的所有下属各级控件则全部显示,因此仅显示相关控件,可以减少冗余,提高性能,方便用户选择。
图4是本发明实现控件层代码的生成方法中配置界面的示意图,如图4所示,可选的,可以在获取模块获取到控件的属性和控件的下属各级控件的属性后,显示获取的所有控件及对应的属性,用于用户对属性进行配置,例如,配置界面中提供注释栏,以便用户根据需求在注释栏中输入注释内容,如此,生成控件层代码后,控件层代码中将有注释,使得其他使用控件层代码的测试人员能够方便理解代码内容;配置界面中还可以提供更多的个性化配置,可以使用自定义的类型,方便用户对控件层代码生成装置的重构。
图5是本发明实现控件层代码的生成方法中生成代码的示意图,点击图4中的generate按钮,即可自动依据控件的属性生成控件层代码,生成的控件层代码如图5所示,该代码可以直接方便的用于编写自动化用例,此外,还可以调用btnAddSlide.Click()函数实现自动点击生成按钮。生成控件层代码后,可以点击装置提供的保存按钮,然后将控件层代码保存到本地的文件中,该文件的命名规则为“文件名.design.cs”,这里为文件名加上后缀“design”,用于与其他代码的文件名“文件名.cs”进行区分,以便后续对自动生成的控件层代码进行修改,而且其他代码的文件也不会被自动化生成的控件层代码的文件所覆盖。
上述技术方案中,控件层代码可以依据查找模板函数和操作函数自动生成,不需要人工编写控件层代码,从而提高控件层代码的生成效率,提高整个UI测试的效率。而且,不需要使用第三方提供的商业软件生成控件层代码,从而提高控件的可见性、可控性、可编辑性、可读性和复用性,即使生成的控件层代码存在较大偏差,也可以由用户进行修改。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种控件层代码的生成方法,其特征在于,该方法包括:
控件被选中后,获取所述控件的属性及所述控件的下属各级控件的属性;
将获取的控件的属性作为参数值输入到预设的查找模板函数,为每个控件都生成一个用于查找该控件的查找函数;其中,所述查找模板函数用于查找控件,依据所述查找模板函数中的参数找到对应的控件;
调用生成的查找函数,依据所述查找函数中控件的属性找到控件;
将找到的控件作为参数值输入到预设的对应控件类型的操作函数,生成控件层代码。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
预设并存储用于查找控件的查找模板函数;所述查找模板函数的参数包括:控件的父节点的名称或比该父节点更高级节点的名称、控件标识、控件与父节点或控件与比所述父节点更高级节点之间的层数。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
预设用于操作控件的操作函数,存储所述操作函数、操作函数与控件类型之间的对应关系;
所述操作函数的参数为所述操作函数操作的控件。
4.根据权利要求1所述的方法,其特征在于,所述获取所述控件的属性及所述控件的下属各级控件的属性,具体为:
调用预设的广度优先遍历算法,遍历所述控件的所有儿子控件,以及每个儿子控件的儿子控件,直至遍历完所述控件的所有下属各级控件;
遍历到控件时,调用抓取工具抓取所述控件的属性。
5.根据权利要求1所述的方法,其特征在于,所述控件的属性包括:控件标识、控件名称、控件类型、控件的父节点或比所述父节点更高级节点的名称、控件与父节点或控件与比所述父节点更高级节点之间的层数。
6.一种控件层代码的生成装置,其特征在于,该装置包括:
获取模块,用于在控件被选中后,获取所述控件的属性及所述控件的下属各级控件的属性;
函数生成模块,用于将获取的控件的属性作为参数值输入到预设的查找模板函数,为每个控件都生成一个用于查找该控件的查找函数;其中,所述查找模板函数用于查找控件,依据所述查找模板函数中的参数找到对应的控件;
代码生成模块,用于调用生成的查找函数,依据所述查找函数中控件的属性找到控件;还用于将找到的控件作为参数值输入到预设的对应控件类型的操作函数,生成控件层代码。
7.根据权利要求6所述的装置,其特征在于,该装置还包括:
设置模块,用于预设用于查找控件的查找模板函数;
存储模块,用于存储所述查找模板函数;
所述查找模板函数的参数包括:控件的父节点的名称或比该父节点更高级节点的名称、控件标识、控件与父节点或控件与比所述父节点更高级节点之间的层数。
8.根据权利要求6所述的装置,其特征在于,该装置还包括:
设置模块,用于预设用于操作控件的操作函数;
存储模块,用于存储所述操作函数、操作函数与控件类型之间的对应关系;
所述操作函数的参数为所述操作函数操作的控件。
9.根据权利要求6所述的装置,其特征在于,所述获取模块获取所述控件的属性及所述控件的下属各级控件的属性,具体为:
调用预设的广度优先遍历算法,遍历所述控件的所有儿子控件,以及每个儿子控件的儿子控件,直至遍历完所述控件的所有下属各级控件;
遍历到控件时,调用抓取工具抓取所述控件的属性。
10.根据权利要求6所述的装置,其特征在于,所述控件的属性包括:控件标识、控件名称、控件类型、控件的父节点或比所述父节点更高级节点的名称、控件与父节点或控件与比所述父节点更高级节点之间的层数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210406329.9A CN103780448B (zh) | 2012-10-23 | 2012-10-23 | 一种控件层代码的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210406329.9A CN103780448B (zh) | 2012-10-23 | 2012-10-23 | 一种控件层代码的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103780448A CN103780448A (zh) | 2014-05-07 |
CN103780448B true CN103780448B (zh) | 2019-04-26 |
Family
ID=50572314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210406329.9A Active CN103780448B (zh) | 2012-10-23 | 2012-10-23 | 一种控件层代码的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103780448B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354483B (zh) * | 2015-07-16 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及电子设备 |
CN108664383B (zh) * | 2017-03-28 | 2021-10-15 | 上海合福信息科技有限公司 | 一种控件测试方法及软件自动测试方法 |
CN107085554B (zh) * | 2017-04-11 | 2019-09-20 | 武汉斗鱼网络科技有限公司 | 一种添加控件标识的方法和装置 |
CN107197070B (zh) * | 2017-06-08 | 2020-03-24 | 杭州友声科技股份有限公司 | 基于事件序列的手机应用ui的广度遍历自动化测试方法 |
CN107544903B (zh) * | 2017-08-04 | 2020-07-03 | 东软集团股份有限公司 | 页面规范检测方法、装置及计算机设备 |
CN110096275B (zh) * | 2018-01-30 | 2023-06-23 | 阿里健康信息技术有限公司 | 一种页面处理方法及装置 |
CN110297752A (zh) * | 2018-03-23 | 2019-10-01 | 华为软件技术有限公司 | 控件元素的获取方法及装置、自动化测试系统、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1988454A1 (en) * | 2007-03-29 | 2008-11-05 | Hitachi Software Engineering Co., Ltd. | Source code generating device |
CN101944027A (zh) * | 2010-09-26 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 一种用户界面生成方法 |
-
2012
- 2012-10-23 CN CN201210406329.9A patent/CN103780448B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1988454A1 (en) * | 2007-03-29 | 2008-11-05 | Hitachi Software Engineering Co., Ltd. | Source code generating device |
CN101944027A (zh) * | 2010-09-26 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 一种用户界面生成方法 |
Non-Patent Citations (1)
Title |
---|
"APS.NET 2.0页面传值方法探析";熊凯;《网络通讯与安全》;20071030(第20期);第4.4节内容 |
Also Published As
Publication number | Publication date |
---|---|
CN103780448A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103780448B (zh) | 一种控件层代码的生成方法及装置 | |
US11386156B1 (en) | Threshold establishment for key performance indicators derived from machine data | |
CN102426519B (zh) | 基于关联数据的bpel模板和服务的复用方法及其系统 | |
CN104484216A (zh) | 服务接口文档和在线测试工具生成方法、装置 | |
CN102135938A (zh) | 一种软件产品测试方法及系统 | |
CN102521120A (zh) | 一种软件自动化测试系统及方法 | |
CN101488085A (zh) | 软件接口测试方法和装置 | |
CN102053912A (zh) | 一种基于uml图形对软件进行自动化测试的装置及方法 | |
CN103294805B (zh) | 数据仓库个性化维度表的创建方法和装置 | |
CN109284152A (zh) | 一种菜单可视化配置方法、设备及计算机可读存储介质 | |
US20170192407A1 (en) | Method and apparatus for enabling model driven navigation | |
CN106484892A (zh) | 数据操作方法及装置 | |
US20230102947A1 (en) | Providing operations in accordance with worksheet relationships and data object relationships | |
KR100910336B1 (ko) | 논리 프로세스 및 물리 프로세스 모델을 맵핑한 비즈니스 프로세스 모델을 관리하기 위한 시스템 및 방법 | |
Chaturvedi et al. | Service evolution analytics: change and evolution mining of a distributed system | |
CN108073720A (zh) | 应用于大数据系统的数据质量管理系统及方法 | |
CN103678349A (zh) | 一种垃圾数据过滤方法和装置 | |
US10360208B2 (en) | Method and system of process reconstruction | |
CN110362792A (zh) | 将rn文件转换为小程序文件的方法、装置及转换设备 | |
CN103593188A (zh) | 一种用于仪器所见即所得菜单的管理系统及管理方法 | |
US9063959B2 (en) | Decomposing XML schema documents into subsets | |
CN115562993A (zh) | 测试脚本录制方法和装置、电子设备及存储介质 | |
CN106503216A (zh) | 支持分层的元数据同步方法及元数据同步装置 | |
Vicari et al. | Engineering and operation made easy-a semantics and service oriented approach to building automation | |
Kragas et al. | Continuous Improvement through Real-Time Data Integration into Reservoir Management Workflows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |