一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试工具的运行方法、电子设备及存储介质与流程

2022-08-02 22:14:13 来源:中国专利 TAG:


1.本发明实施例涉及测试工具优化领域,特别涉及测试工具的运行方法、电子设备及存储介质。


背景技术:

2.现有用于验收测试和验收测试驱动开发(atdd,acceptance test driven development)的通用测试自动化框架,例如robot framework,具有易于使用的表格测试数据语法,并使用关键字驱动的测试方法。测试功能可以通过使用python或java实现的测试库进行扩展,用户可以使用与创建测试用例相同的语法,从而现有的关键字创建新的更高级别的关键字。
3.然而,现有的测试工具在用户测试过程中查询关键字时,需要用户根据查询到的关键字手动输入相关的关键字信息,即需要进行大量无意义的重复动作,影响测试效率,降低用户体验


技术实现要素:

4.本发明实施方式的目的在于提供一种测试工具的运行方法,提高测试工具的工作效率,优化用户体验。
5.为解决上述技术问题,本发明的实施方式提供了一种测试工具的运行方法,包括以下步骤:获取待检索参数;根据所述待检索参数显示第一窗口,所述第一窗口用于显示根据所述待检索参数获取的关键字,所述关键字不少于一组;从所述第一窗口显示的关键字中确定目标关键字;将所述目标关键字的关键字信息自动填充至预设位置。
6.本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的测试工具的运行方法。
7.本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的测试工具的运行方法。
8.本技术所提供的实施方式,支持在测试工具的使用中,根据检索参数查询关键字予以显示,并在显示的关键字中确定目标关键字,进而自动填充目标关键字的关键字信息;使得用户不需要手动将关键字参数输入,减少不必要的重复工作,提高测试工具的测试效率,优化用户体验。
附图说明
9.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
10.图1是根据本技术一个实施方式提供的测试工具的运行方法的流程图;
11.图2是根据本技术一个实施方式提供的测试工具的初始化的示意图;
12.图3是根据本技术一个实施方式提供的测试工具的运行方法的示意图;
13.图4是根据本技术一个实施方式提供的电子设备的示意图。
具体实施方式
14.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
15.本技术实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本技术的描述中,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列部件或单元的系统、产品或设备没有限定于已列出的部件或单元,而是可选地还包括没有列出的部件或单元,或可选地还包括对于这些产品或设备固有的其它部件或单元。本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
16.当前robot framework是用于验收测试和验收测试驱动开发(atdd,acceptance test driven development)的通用测试自动化框架。它具有易于使用的表格测试数据语法,并使用关键字驱动的测试方法。它的测试功能可以通过使用python或java实现的测试库进行扩展,用户可以使用与创建测试用例相同的语法,从现有的关键字创建新的更高级别的关键字。ride是使用wxpython库编写的robot framework的图形界面。为自动化用例的可视化编写提供了可能。包括测试套件edit区、测试套件text edit区、测试套件run区、测试用例edit区、测试用例text edit区,测试用例run区。在用了编写方面,它允许使用用户自定义的外部关键字并提供关键字查询功能。
17.但二者在关键字使用方面存在如下不足:仅提供了内置的关键字与用户在套件内部封装的关键字查询功能,而不支持用户自定义的外部关键字查询功能;用户查询到关键字后无法自动填充,影响测试效率。
18.本发明的一个实施方式涉及一种测试工具的运行方法。具体流程如图1所示。
19.步骤101,获取待检索参数;
20.步骤102,根据待检索参数显示第一窗口,第一窗口用于显示根据待检索参数获取的关键字,关键字不少于一组;
21.步骤103,从第一窗口显示的关键字中确定目标关键字;
22.步骤104,将目标关键字的关键字信息自动填充至预设位置。
23.本实施例中,支持在测试工具的使用中,根据检索参数查询关键字予以显示,并在显示的关键字中确定目标关键字,进而自动填充目标关键字的关键字信息;使得用户不需要手动将关键字参数输入,减少不必要的重复工作,提高测试工具的测试效率,优化用户体
验。
24.下面对本实施方式的测试工具的运行方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
25.在步骤101中,获取待检索参数。所述待检索参数与测试工具需要测试的关键字内容有关,例如所述待检索参数为测试工具需要测试的目标关键字的一部分等,即此处不需要获取目标关键字的完整状态。
26.在一个例子中,获取待检索参数,包括:在输入参数中确定待检索参数;其中,在输入参数中出现查询标识的情况下,查询标识与预设字符之间的参数为待检索参数,预设字符包括空格;输入参数为测试工具接收的外部输入数据。即,可以根据查询标识和预设字符,在接收到的外部输入数据中确定待检索参数,查询标识例如为“.”。可以理解的是,在待检索输入界面存在其他显示数据时,需要空格作为预设字符,将本次的待检索参数与其他显示数据间隔开,避免对于外部输入数据出现识别错误,此处的空格也可以替换为其他能实现相同意义的字符串;而在待检索输入界面不存在其他数据,也就是本次输入为首次输入时,由于界面不存在干扰,因此所述预设字符可以为标识界面数据开端的字符串。
27.具体地,在待检索输入界面首次输入时,可以取“.”(查询标识)之前的输入参数作为待检索参数;在非首次输入时,可以取最后一个“.”(查询标识)与最后一个空格(预设字符)之间的输入参数作为待检索参数。
28.在一个例子中,获取待检索参数之前,包括:根据指令提供输入界面,输入界面用于接收自定义参数;根据自定义参数更新数据库,更新后的数据库用于供测试工具实现关键字检索。例如,指令可以为用户点击预设区域或者预设标识,在用户点击后会弹出输入界面;自定义参数与用户自定义的外部关键字有关,可以直接为外部关键字。
29.在一个例子中,自定义参数,包括:外部关键字的文件路径及名称;根据自定义参数更新数据库,包括:根据外部关键字的文件路径及名称获取外部关键字及外部关键字对应的参数列表;将外部关键字及外部关键字对应的参数列表加入数据库,用于完成数据库的更新。即,本实施方式中,支持外部关键字和外部关键字对应的参数列表输入至数据库,极大程度上扩展数据库的参数含量,保证测试工具的测试功能。具体地,在接收输入的界面输入自定义的外部关键字的名称和文件路径,能够根据这两者查询到具体的外部关键字及其对应的参数列表,从而能够导入并更新数据库。
30.在一个例子中,根据外部关键字的文件路径及名称获取外部关键字及外部关键字对应的参数列表之后,还包括:将外部关键字及外部关键字对应的参数列表存储为map结构;其中,将外部关键字的名称和外部关键字所在的文件名作为map结构的key,将外部关键字对应的参数列表作为map结构的value进行存储。即,除了将获取到的外部关键字即其对应的参数列表存储至数据库用于进行查询之外,还能够将上述信息存储为map查询结构,能够提高关键字查询的效率。具体地,一般基于数据库的查询流程为将数据库的部分内容存储至程序的运行内存中,若在该内存没有查到,则进入数据库进行查找;但在本实施方式中,将待查询的数据存储为map结构,则直接在程序的运行内存可以通过map结构进行关键字或者关键字对应的参数列表的查找,不需要进一步在数据库中查询,且map结构查询效率高。
31.在一个例子中,待检索参数,包括:目标关键字所在文件的文件名。即可以仅获取
目标关键字所在文件的文件名,所述测试工具通过文件名联想目标关键字;极大程度上降低用户的记忆或输入工作量,提高用户体验。
32.在步骤102中,根据待检索参数显示第一窗口,第一窗口用于显示根据待检索参数获取的关键字,关键字不少于一组。即在获取待检索参数后,测试工具能够通过联想得到第一窗口,第一窗口中显示通过待检索参数得到的关键字信息,例如包括关键字及关键字对应的参数列表;且至少显示一组关键字及所对应的参数列表。
33.在一个例子中,根据待检索参数显示第一窗口,包括:根据待检索参数,从测试工具的数据库中获取不少于一组关键字;根据关键字显示第一窗口。即,第一窗口中的关键字是通过待检索参数从测试工具的数据库中查询获取的,此处可以为模糊查询联想得到多组与待检索参数相关的关键字展示于第一窗口上,以供用户进行选取确定,降低用户的输入工作量。尤其是当目标关键字为用户自定义的关键字时,由于本实施例中的数据库可以是根据外部关键字及参数列表更新后得数据库,更能够满足用户得个性化需求,提升用户体验。
34.在一个具体实现中,在用户打开用例的时候进行初始化,初始化过程将用例中的library对应的关键字和参数列表存入数据库。如图2所示。
35.在步骤103中,从第一窗口显示的关键字中确定目标关键字;即,可以根据第一窗口所显示的内容,辅助确定目标关键字。例如,第一窗口的显示内容可以为:关键字名称、关键字功能、关键字对应的参数列表及关键字所在的文件名;其中关键字功能可以为文字概述,关键字所在的文件名用于标识关键字的实际存储位置,由于允许存在同名关键字,但不同文件下存储的同名关键字含义并不相同,在通过关键字功能概述无法在同名关键字中选择目标关键字的情况下,可以采用文件名选择目标关键字。
36.在步骤104中,将目标关键字的关键字信息自动填充至预设位置。也就是将通过待检索参数进行模糊查询,并最终选择确认的目标关键字填充至预设位置,其中还可以填充目标关键字对应的参数列表或所述参数列表中的部分参数。例如,若待检索参数为目标关键字的部分内容,则能够直接填充,对原输入内容进行补充完善。
37.在一个例子中,预设位置位于待检索参数的查询标识后。也就是可以将查询到的目标关键字及目标关键字对应的部分或全部参数填充至作为查询标识的“.”之后,在待检索参数为目标关键字所在文件名的情况下,界面更加简洁工整,且格式固定便于所述测试工具进行识别。
38.如图3所示,在一个具体实现中,用户在测试用例edit区域输入testfile.(testfile为目标关键字对应的文件名),系统弹出该文件内所有的关键字名称和参数列表供用户选择,用户选中对应的关键字后,“.”后面自动填充上目标关键字名称,其后几个显示单位自动填充上对应的参数列表。
39.在一个例子中,在从第一窗口显示的关键字中确定了目标关键字的情况下,关闭第一窗口。也就是完成了关键字选择之后,关闭展示模糊查询所找到的关键字信息,便于用户进行观察确定,也便于测试工具进行识别。其中,第一窗口的关闭指令可以是用户对于目标关键字的选择操作,例如用户点击目标关键字之后,则第一窗口关闭。此外,用户也可以对目标关键字对应的参数列表中的内容进行选择,该参数列表也展示在第一窗口中,在用户选择所述参数列表中的某一参数时,最终填充内容可以为目标关键字与该参数,不填充
完整参数列表。可以理解的是,也允许对于参数的选择等同于对目标关键字的选择,即选择某一参数后,最终填充目标关键字和完整的参数列表,上述选择过程均支持基于实际需求进行相关设定。
40.在一个具体实现中,利用sqlite作为数据库来存储关键字信息,数据库有两张表,一张是libraries表字段分别为id,argumets,last_updated,其中id的值为为外部关键字所在的文件的路径如c:\automation\testfile.py,arguments值为参数列表,last_updated为存入数据库的实际时间;另一张是keywords表,表字段分别为name,doc,arguments,library_name,library,其中name存的是关键字名称,doc存的是关键字功能的解释说明,argument存的是关键字需要的参数列表,library_name存的是关键字所在的文件名,library为关键字存储的文件。
41.本实施例只需在打开用例目录初始化的时候,获取用例settings部分,用于接收外部输入;获取library后的的py文件,对其进行解析,以py文件名(即外部关键字所在文件的文件名)和外部关键字的名称作为map的key,参数列表作为value进行存储,也可以将其写入到数据库表keywords中。
42.在目标关键字的查询过程中,存在判断过程,如果用户输入了“.”则弹出一个popup框,popup框的内容来源为,以用户输入的点之前的值如testfile作为keywords数据库表的library_name字段的值去查询数据库,以数据表(为keywords)第一列的name作为popup框第一列的值,以数据表中第三列arguments的值作为popup框第二列的值,以数据表中第二列doc的值作为popup框第三列的值;还可以以数据表第四列的library_name的值作为popup框第四列的值。当用户点击popup框上第一列某个关键字的时候,popup框消失,系统自动将用户选中的关键字填充到.之后,同时将参数依次填充到该关键字之后的每个格子之后。
43.即,当用户在测试用例edit区域输入testfile.并按回车的时候(testfile为自定义关键字所在的文件名称),系统弹出一个popup框,popup框中以表格的形式显示,第一列为testfile文件中的关键字名称,第二列为该关键字需要用到的参数名称,参数与参数之间用|分隔,第三列为关键字的功能说明;第四行为关键字所在的文件的文件名。当用户点击到想要的关键字名称之后,popup框消失,系统自动将用户选中的关键字填充到.之后,同时将参数依次填充到该关键字之后的每个格子之后。
44.在一个例子中,在robotframework-ride的测试用例settings区域,点击library,在弹出框中输入外部自定义关键字的文件路径及名称如testfile.py,点击ok;在测试用例edit区域,输入testfile.按回车,此时弹出testfile文件中所有方法的关键字名称及参数列表;单击选中目标关键字名称,popup框消失;系统回到edit区域,可以看到testfile.后面自动填充了关键字method,其后的几个格子中也填充了对应的默认参数名;还可以根据用户需求对参数进行调整,例如修改对应的参数名称为实际的参数名称。
45.在本支持在测试工具的使用中,根据检索参数查询关键字予以显示,并在显示的关键字中确定目标关键字,进而自动填充目标关键字的关键字信息;使得用户不需要手动将关键字参数输入,减少不必要的重复工作,提高测试工具的测试效率,优化用户体验。对于外部导入的关键字,用户只需输入文件名即可实现快速填充,无需通过手动查找,提高了脚本编写的效率。
46.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
47.本发明的一个实施方式涉及一种电子设备,如图4所示,包括至少一个处理器201;以及,与所述至少一个处理器201通信连接的存储器202;其中,所述存储器202存储有可被所述至少一个处理器201执行的指令,所述指令被所述至少一个处理器201执行,以使所述至少一个处理器201能够执行上述的测试工具的运行方法。
48.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
49.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
50.本发明的一个实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
51.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
52.本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献