CN108763066A - 一种词槽设计的自然语言测试脚本编辑方法及测试机器人 - Google Patents
一种词槽设计的自然语言测试脚本编辑方法及测试机器人 Download PDFInfo
- Publication number
- CN108763066A CN108763066A CN201810460213.0A CN201810460213A CN108763066A CN 108763066 A CN108763066 A CN 108763066A CN 201810460213 A CN201810460213 A CN 201810460213A CN 108763066 A CN108763066 A CN 108763066A
- Authority
- CN
- China
- Prior art keywords
- test
- control
- resourceid
- script
- word
- 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
Classifications
-
- 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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种词槽设计的自然语言测试脚本编辑方法及测试机器人。其中该测试方法包括以下步骤:根据被测试软件的业务需求编写测试脚本,在测试脚本中设置词槽;根据所述测试脚本中已经设置的词槽,准备多组测试数据;选择其中一组或者多组测试数据,替换到测试脚本的词槽中,形成可执行的测试脚本;将所述测试脚本发送到运行设备运行对所述被测试软件进行测试。其将测试数据与测试脚本分离,从而能够单独输入测试数据。而且测试数据及测试脚本可以采用自然语言输入,对使用者技术要求低,降低软件测试难度,便于测试数据和测试用例的整合,提高测试效率。
Description
技术领域
本发明涉及软件测试技术领域,具体是一种词槽设计的自然语言测试脚本编辑方法及测试机器人。
背景技术
软件测试,是确保质量的一种手段。伴随着互联网经济的大潮,各个公司都在拓展自身在移动端的业务,确保移动App的质量必须得到足够的重视。另一方面,软件的测试成本大也是一个需要面对的问题,很多刚刚成立的小公司,如果资金不足,很难在软件测试这一块做足够的工作。另一方面,如果测试不足,软件质量问题流入的市场,解决的代价将会无法估量。所以很多公司就会遇到这个矛盾,在软件测试的投入上左右为难。
传统的测试流程,测试专家先编写测试计划,再进行需求分析、编写测试用例,准备测试环境,最后执行,而且每次测试用例的更换都需要对原测试脚本进行修改,耗费时间且技术要求高。
发明内容
本发明的目的在于提供一种测试机器人测试用例构建方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种词槽设计的自然语言测试脚本编辑方法,包括以下步骤:
根据被测试软件的业务需求编写测试脚本,并且在所述测试脚本中设置词槽;
根据所述测试脚本中已经设置的词槽,准备多组测试数据;
选择其中一组或者多组测试数据,替换到测试脚本的词槽中,形成可执行的测试脚本;
将所述测试脚本发送到运行设备运行对所述被测试软件进行测试。
其中一个实施例的词槽设计的自然语言测试脚本编辑方法中,所述词槽的数量为多个。
其中一个实施例的词槽设计的自然语言测试脚本编辑方法中,通过中文编写所述测试脚本,且执行内容包括:点击控件、输入文字、滑动控件、拖拽控件、条件等待、验证点、截图、返回上一层。
其中一个实施例的词槽设计的自然语言测试脚本编辑方法中,通过中文脚本实现点击操作,包括:
通过Image点击{控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间};
通过OCR点击第{顺序数字}个{控件的显示文字};
通过位置点击[{坐标x轴},{坐标y轴}];
通过ResourceID点击{控件ResourceID属性值}的第{顺序数字}个子控件;
通过ResourceID点击{控件ResourceID属性值};
通过Text点击{控件Text属性}。
其中一个实施例的词槽设计的自然语言测试脚本编辑方法中,所述通过中文脚本实现滑动操作,包括:
不断{上、或下、或左、或右}滑,直到通过ResourceID发现{控件ResourceID属性值} 出现;
不断{上、或下、或左、或右}滑,直到通过Text发现{控件Text属性值}出现;
不断{上、或下、或左、或右}滑,直到通过OCR发现{控件的显示文字}出现;
不断{上、或下、或左、或右}滑,直到通过Image发现{控件的截图文件名}出现;
通过Image从{起始控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间}滑动到{目标控件的截图文件名的{左上角、或右上角、或右下角、或左下角、或中间};
通过OCR从第{顺序数字}个{起始控件的显示文字}滑动到第{顺序数字}个{目标控件的显示文字};
通过ResourceID从{起始控件ResourceID属性值}滑动到{目标控件ResourceID属性值};
通过Text从{起始控件Text属性值}滑动到{目标控件Text属性值};
通过位置从[{起始点坐标x轴},{起始点坐标y轴}]滑动到[{目标点坐标x轴},{目标点坐标y轴}]。
其中一个实施例的词槽设计的自然语言测试脚本编辑方法中,所述通过中文脚本实现的拖拽操作,包括:
通过Image从{起始控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间}拖拽到{目标控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间};
通过OCR从第{顺序数字}个{起始控件的显示文字}拖拽到第{顺序数字}个{目标控件的显示文字};
通过ResourceID从{起始控件ResourceID属性值}拖拽到{目标控件ResourceID属性值};
通过Text从{起始控件Text属性值}拖拽到{目标控件Text属性值}。
其中一个实施例的词槽设计的自然语言测试脚本编辑方法中,通过中文脚本实现的输入操作,包括:
通过ResourceID输入短信验证码到{控件ResourceID属性值};
通过OCR输入短信验证码到第{顺序数字}个{控件的显示文字};
通过ResourceID输入{需要输入的文字}到{控件ResourceID属性值};
通过Text输入{需要输入的文字}到{控件Text属性};
通过OCR输入{需要输入的文字}到第{顺序数字}个{控件的显示文字};
通过软键盘点击{需要输入的软键盘字符}。
通过中文脚本实现的等待操作,包括:
等待{时间数字}s;
通过ResourceID等待{控件ResourceID属性值}出现,最多等待{时间数字}s;
通过Text等待{控件Text属性值}出现,最多等待{时间数字}s;
通过OCR等待{控件的显示文字}出现,最多等待{时间数字}s;
通过Image等待{控件的截图文件名}出现,最多等待{时间数字}s;
通过中文脚本实现的验证点操作包括:
通过ResourceID验证{控件ResourceID属性值}是否存在-[{验证点名称}];
通过Text验证{控件Text属性}是否存在-[{验证点名称}];
通过Image验证{控件的截图文件名;}是否存在-[{验证点名称}];
通过OCR验证{控件的显示文字}是否存在-[{验证点名称}];
通过ResourceID验证{控件ResourceID属性值}的值是否是{控件Text属性值}-[{验证点名称}]。
基于同一发明构思,还提供一种词槽设计的自然语言测试脚本编辑方法的测试机器人,利用前述任一实施例所述的词槽设计的自然语言测试脚本编辑方法进行测试脚本的编写,且在编写测试脚本后,测试机器人会自动将每条测试用例的测试脚本中的词槽分析,转存到测试数据的数据库,并且会在单独的测试数据管理页面提供增加、删除、查找、修改的操作。
其中一个实施例的词槽设计的自然语言测试脚本编辑方法的测试机器人中,测试脚本和测试数据是隔离的,一条测试用例的脚本可以有多组测试数据。
本发明的词槽设计的自然语言测试脚本编辑方法,在编辑测试脚本时,会根据被测试软件的业务需求设置词槽,后续可通过所述词槽输入测试数据,完成测试脚本。将测试数据与测试脚本分离,从而能够单独输入测试数据。当需要修改测试脚本时,可直接对词槽中的数据进行修改,而本方法自动将输入的测试数据与测试脚本其他部分进行整合,形成可执行的测试脚本。因此,根据业务需求编写测试脚本后,可重复多次利用,而且测试脚本可以采用自然语言输入,对使用者技术要求低,降低软件测试难度,便于测试数据和测试用例的整合,提高测试效率。
附图说明
图1为一实施例词槽设计的自然语言测试脚本编辑方法的流程图;
图2为一实施例被测软件的业务谱图。
图3为一实施例的应用词槽设计的自然语言测试脚本编辑方法的测试机器人的***框架图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
参见图1,一实施例的词槽设计的自然语言测试脚本编辑方法包括以下步骤:
S100,根据被测试软件的业务需求编写测试脚本,并且在所述测试脚本中设置词槽。
所述业务需求是指实现被测试软件的功能的需求,如图2所示,一个银行***软件中的功能包括注册、登录、查询、转账等功能。注册需要①输入用户名、手机号、密码②点击注册。则需要在用户名位置、手机号位置及密码位置设置词槽。则注册中登录需要①输入用户名、密码②点击登录。同样登录测试脚本中需要设置用户名及密码的词槽。查询需要①打开我的②选择我的银行卡,并选择其中一张,③点击查询余额。该查询功能中则需要设置银行***的词槽,可以允许输入多个银行***。转账需要①输入对方姓名、银行卡信息、电话号码②选择转出卡,输入金额③提交,输入验证码,确认转账。转账功能则需要在对方姓名、银行卡信息以及金额等位置设置词槽,供编辑测试用例时在词槽中输入测试数据。
S200,根据所述测试脚本中已经设置的词槽,准备多组测试数据。如对于上述的(用户名,密码)词槽,也即(user_name,user_password)可以准备多组测试数据:“name1”、“password1”;“name2”、“password2”。
S300,选择其中一组或者多组测试数据,替换到测试脚本的词槽中,形成可执行的测试脚本。
需要说明的是,本词槽设计的自然语言测试脚本编辑方法可以以测试软件的方式运行,利用该测试软件可以直接对被测试软件进行测试。则该步骤将测试数据替换到测试脚本中是一种自动执行的过程,使用者输入测试数据后,本方法的测试软件可以自动将输入的测试数据替换到脚本中对应词槽的位置,从而使整个测试脚本构成完整可执行的测试脚本。
以注册为例,测试脚本的编写以及词槽的设置如下:
需要使用到脚本编写说明中的语句:
通过ResourceID输入{需要输入的文字}到{控件ResourceID属性值};
通过ResourceID点击{控件ResourceID属性值};
实际编写的脚本如下:
通过ResourceID输入{user_phone}到com.jianshu.haruki:id/et_tel;
通过ResourceID输入{user_password}到com.jianshu.haruki:id/et_password;
通过ResourceID点击com.jianshu.haruki:id/btn_register_1 user_phone\user_password就是词槽,分析测试用例后,自动将这两个词槽分析出来,并且在测试数据管理页面展示并输入测试数据。
针对这两个词槽可以输入多组测试数据,如:①15906217298\123456②15711320734\123456。
S400,将测试脚本发送到运行设备运行对被测试软件进行测试。
所述运行设备包括PC端,智能手机等移动终端,这些运行设备中预先都会安装需要进行测试的软件,本方法将测试脚本发送给运行设备,由运行设备控制运行被测软件。
具体实施过程中,可发送自然语言、中文的测试脚本到控制器,由控制器将带词槽的中文测试脚本脚本和测试数据进行组合构成可执行的测试脚本构成可执行的测试脚本。例如,一种安装到手机终端的APP,可以将所述测试脚本发送到每台手机的控制器,控制器是一台操作***为Linux的电脑,负责控制手机,安装、卸载App,执行自动化等等操作。
中文脚本执行程序则存储在控制器中,一旦接受到中文脚本,就会读取脚本并分析脚本每个步骤的动作,抽取测试数据,并将动作和数据转换成手机能理解的程序指令发送到手机上执行。
本实施例的词槽设计的自然语言测试脚本编辑方法通过词槽设计,将测试数据与测试脚本分离,从而能够单独输入测试数据。当需要修改测试用例时,可直接对词槽中的数据进行修改,而本方法自动将输入的测试数据与测试脚本其他部分进行整合,形成可执行的测试脚本。因此,根据业务需求编写测试脚本后,可重复多次利用,而且测试数据及测试脚本均可以采用自然语言输入,对使用者技术要求低,降低软件测试难度,便于测试数据和测试用例的整合,提高测试效率。
需要说明的是,根据被测软件的业务需求,测试脚本中设置的词槽的数量会有多个。而且根据测试脚本中已经设置的词槽,准备相应的测试数据时,对同一词槽准备两个以上相应的测试数据。
在本实施的脚本编辑方法中,使用者可以根据需要输入多组测试数据,则构成多个测试用例,从而在后续将测试脚本发送给运行设备时,可以同时将多个测试用例对应的测试脚本发送给不同的运行设备运行。对被测试软件同时进行不同测试数据的测试。测试更全面,测试效率更高。
在以往的自动化测试的执行中,一直需要专门的人去编写测试脚本,而且编写人员需要具备代码编写的能力,常用的编程语言是java、python、c++等,而这些编程语言造成使用自动化不容易上手的问题。
在本方法中,可以使用中文编写脚本的语法。具体语法如下:
输入:
通过ResourceID输入短信验证码到{控件ResourceID属性值}
通过OCR输入短信验证码到第{顺序数字}个{控件的显示文字}
通过ResourceID输入{需要输入的文字}到{控件ResourceID属性值}
通过Text输入{需要输入的文字}到{控件Text属性}
通过OCR输入{需要输入的文字}到第{顺序数字}个{控件的显示文字}
通过软键盘点击{需要输入的软键盘字符}
等待:
等待{时间数字}s
通过ResourceID等待{控件ResourceID属性值}出现,最多等待{时间数字}s
通过Text等待{控件Text属性值}出现,最多等待{时间数字}s
通过OCR等待{控件的显示文字}出现,最多等待{时间数字}s
通过Image等待{控件的截图文件名,比如test.png,则记录为’#test#’}出现,
最多等待{时间数字}s
点击:
通过Image点击{控件的截图文件名,比如test.png,则记录为’#test#’}的{左
上角、右上角、右下角、左下角、中间(五选一)}
通过OCR点击第{顺序数字}个{控件的显示文字}
通过位置点击[{坐标x轴},{坐标y轴}]
通过ResourceID点击{控件ResourceID属性值}的第{顺序数字}个子控件
通过ResourceID点击{控件ResourceID属性值}
通过Text点击{控件Text属性}
滑动:
不断{上、下、左、右(四选一)}滑,直到通过ResourceID发现{控件ResourceID
属性值}出现
不断{上、下、左、右(四选一)}滑,直到通过Text发现{控件Text属性值}出现
不断{上、下、左、右(四选一)}滑,直到通过OCR发现{控件的显示文字}出现
不断{上、下、左、右(四选一)}滑,直到通过Image发现{控件的截图文件名,比如test.png,则记录为’#test#’}出现
通过Image从{起始控件的截图文件名,比如test.png,则记录为’#test#’} 的{左上角、右上角、右下角、左下角、中间(五选一)}滑动到{目标控件的截图文件名,比如test.png,则记录为’#test#’}的{左上角、右上角、右下角、左下角、中间(五选一)}
通过OCR从第{顺序数字}个{起始控件的显示文字}滑动到第{顺序数字}个{目标控件的显示文字}
通过ResourceID从{起始控件ResourceID属性值}滑动到{目标控件ResourceID属性值}
通过Text从{起始控件Text属性值}滑动到{目标控件Text属性值}
通过位置从[{起始点坐标x轴},{起始点坐标y轴}]滑动到[{目标点坐标x 轴},{目标点坐标y轴}]
拖拽:
通过Image从{起始控件的截图文件名,比如test.png,则记录为’#test#’} 的{左上角、右上角、右下角、左下角、中间(五选一)}拖拽到{目标控件的截图文件名,比如test.png,则记录为’#test#’}的{左上角、右上角、右下角、左下角、中间(五选一)}
通过OCR从第{顺序数字}个{起始控件的显示文字}拖拽到第{顺序数字}个{目标控件的显示文字}
通过ResourceID从{起始控件ResourceID属性值}拖拽到{目标控件ResourceID属性值}
通过Text从{起始控件Text属性值}拖拽到{目标控件Text属性值}
验证点:
通过ResourceID验证{控件ResourceID属性值}是否存在-[{验证点名称}]
通过Text验证{控件Text属性}是否存在-[{验证点名称}]
通过Image验证{控件的截图文件名,比如test.png,则记录为’#test#’}是否存在-[{验证点名称}]
通过OCR验证{控件的显示文字}是否存在-[{验证点名称}]
通过ResourceID验证{控件ResourceID属性值}的值是否是{控件Text属性值}-[{验证点名称}]
其他:
返回
截图
其中,ResourceID、Text是控件的属性值,适合适用于标准控件;OCR、Image,网页或者游戏的显示文字或者图片,需要另外调用文字识别服务和图像识别服务。
在实际的编写脚本的时候,会把这些脚本录入到业务图谱的操作节点中,并且脚本会根据业务需求在脚本中设置词槽,例如:
通过ResourceID输入{user_name}到com.xxx.xxx:id/et_tel;
通过ResourceID输入{user_password}com.xxx.xxx:id/et_password。
后续使用者则可以通过点击、滑动、拖拽等方式输入测试数据,以及通过自然语言在词槽中输入文字、验证点、等待时长等。
基于同一发明构思,本发明还提供一种应用测试脚本编辑方法的测试机器人,其利用前述任一实施例的词槽设计的自然语言测试脚本编辑方法进行测试脚本的编写,且在编写测试脚本后,测试机器人会自动将每条测试用例的测试脚本中的词槽分析,转存到测试数据的数据库,并且会在单独的测试数据管理页面提供测试数据的增加、删除、查询及修改的操作。
且本测试机器人中,测试脚本和测试数据是隔离的,一条测试脚本可以有多组数据。
如图3所示,一具体实例中,测试机器人包括展示层、***层、工具层以及数据层,所述展示层为测试机器人测试平台,所述***层包括业务图谱管理、测试用例管理、测试数据管理以及测试任务管理,所述工具层包括自然语言理解、文字识别、图像识别、UIAutomator 以及JUnit,所述数据层包括业务图谱、测试用例、测试数据以及测试报告。
通过该测试机器人进行软件测试包括以下步骤:
步骤一、在测试机器人图谱录入页面录入图谱,新建一个节点,编辑节点内容,节点种类包含场景节点、操作节点、结果节点,并且在通过拖动的方式构建节点之间的关系。
在其他实施例中,也可以通过CSV文件导入的方式构建业务图谱,在CSV文件中记录节点的类型、节点之间的关系,通过一键导入的方式直接构成业务图谱。
也可以再通过解析日志,分析出用户的使用路径,将所有的用户的使用路径合并构建图谱。
步骤二、测试机器人***自动根据业务图谱,遍历分析出所有的测试用例,并且组合所有测试用例所需要的脚本,而且会根据权重,得到软件产品的测试主路径。如注册、登录、查询、转账的场景就会分拆除以下四条用例:
a、①输入用户名、手机号、密码;②点击注册;
b、①输入用户名、手机号、密码;②点击注册;③输入用户名、密码;④点击登录;
c、①输入用户名、手机号、密码;②点击注册;③输入用户名、密码;④点击登录;⑤打开我的;⑥选择我的银行卡,并选择其中一张;⑦点击查询余额;
d、①输入用户名、手机号、密码;②点击注册;③输入用户名、密码;④点击登录;⑤输入对方姓名、银行卡信息、电话号码;⑥选择转出卡,输入金额;⑦提交,输入验证码,确认转账。
其中,第三条和第四条用例涉及到的用例比较多,***分析的结果就是关键路径。
步骤三、在构建图谱过程中,会将相应步骤的中文脚本记录到节点中(执行时,会有专门的中文脚本执行程序分析并执行中文脚本),并且根据相应步骤需要填写的测试数据。在中文脚本中准备词槽,用于测试数据的录入管理。
步骤四、图谱构建完成后,测试机器人***将自动遍历图谱数据库,将自动分拆测试用例,提取测试路径,并存储到测试用例库中,可以展示管理测试用例。
步骤五、在测试用例分析分拆完之后,就可以针对每条测试用例录入测试数据,一条测试用例支持录入多组测试数据,比方说,登录的测试用例,可以使用两组用户名及密码对这条用例来进行测试。
步骤六、测试执行时,可以根据选择的测试用例以及测试数据组合,将测试数据替换至测试脚本的词槽中,形成正在可执行的中文脚本。
测试执行,选择需要测试的测试用例和测试数据,***自动将测试数据填入测试脚本的词槽中,构成完整的可执行的中文脚本。存到任务分发服务器上,等待任务分发。每条脚本存在对应的场景目录,每个目录代码一个场景,目录名称为测试场景名;场景目录下存储该场景的所有测试用例的脚本,每个测试用例的脚本存储为一个文本文件,文件名为测试用例的名称,遇到一条测试用例选择多组数据的情况,文件名则为测试用例名称和测试数据组名称组合。
测试任务分发方式包含:全部执行、随机执行。
全部执行:将所有的测试脚本全部分发到每台手机,保证每台手机执行到所有的测试脚本。
随机执行:将所有的测试脚本随机分发到每台手机,保证所有的测试脚本能执行一次。
测试任务分发到每台手机的控制器,控制器是一台操作***为Linux的电脑,负责控制手机,安装、卸载App,执行自动化等等操作。中文脚本执行程序则存储在控制器中,一旦接受到中文脚本,就会读取脚本并分析脚本每个步骤的动作,抽取测试数据,并将动作和数据转换成手机能理解的程序指令发送到手机上执行。
步骤七,生成测试报告,对应用的性能、功能、兼容问题进行全面记录并分析。执行脚本时,会产生应用运行过程中的性能数据、***日志、脚本日志、应用截图。测试机器人将汇总所有手机执行的结果,生成一份测试报告。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (11)
1.一种词槽设计的自然语言测试脚本编辑方法,其特征在于,包括以下步骤:
根据被测试软件的业务需求编写测试脚本,并且在所述测试脚本中设置词槽;
根据所述测试脚本中已经设置的词槽,准备多组测试数据;
选择其中一组或者多组测试数据,替换到测试脚本的词槽中,形成可执行的测试脚本;
将所述测试脚本发送到运行设备运行对所述被测试软件进行测试。
2.根据权利要求1所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,所述词槽的数量为多个。
3.根据权利要求1所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,通过中文编写所述测试脚本,且执行内容包括:点击控件、输入文字、滑动控件、拖拽控件、条件等待、验证点、截图、返回上一层。
4.根据权利要求3所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,通过中文脚本实现点击操作,包括:
通过Image点击{控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间};
通过OCR点击第{顺序数字}个{控件的显示文字};
通过位置点击[{坐标x轴},{坐标y轴}];
通过ResourceID点击{控件ResourceID属性值}的第{顺序数字}个子控件;
通过ResourceID点击{控件ResourceID属性值};
通过Text点击{控件Text属性}。
5.根据权利要求3所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,所述通过中文脚本实现滑动操作,包括:
不断{上、或下、或左、或右}滑,直到通过ResourceID发现{控件ResourceID属性值}出现;
不断{上、或下、或左、或右}滑,直到通过Text发现{控件Text属性值}出现;
不断{上、或下、或左、或右}滑,直到通过OCR发现{控件的显示文字}出现;
不断{上、或下、或左、或右}滑,直到通过Image发现{控件的截图文件名}出现;
通过Image从{起始控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间}滑动到{目标控件的截图文件名的{左上角、或右上角、或右下角、或左下角、或中间};
通过OCR从第{顺序数字}个{起始控件的显示文字}滑动到第{顺序数字}个{目标控件的显示文字};
通过ResourceID从{起始控件ResourceID属性值}滑动到{目标控件ResourceID属性值};
通过Text从{起始控件Text属性值}滑动到{目标控件Text属性值};
通过位置从[{起始点坐标x轴},{起始点坐标y轴}]滑动到[{目标点坐标x轴},{目标点坐标y轴}]。
6.根据权利要求3所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,所述通过中文脚本实现的拖拽操作,包括:
通过Image从{起始控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间}拖拽到{目标控件的截图文件名}的{左上角、或右上角、或右下角、或左下角、或中间};
通过OCR从第{顺序数字}个{起始控件的显示文字}拖拽到第{顺序数字}个{目标控件的显示文字};
通过ResourceID从{起始控件ResourceID属性值}拖拽到{目标控件ResourceID属性值};
通过Text从{起始控件Text属性值}拖拽到{目标控件Text属性值}。
7.根据权利要求3所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,通过中文脚本实现的输入操作,包括:
通过ResourceID输入短信验证码到{控件ResourceID属性值};
通过OCR输入短信验证码到第{顺序数字}个{控件的显示文字};
通过ResourceID输入{需要输入的文字}到{控件ResourceID属性值};
通过Text输入{需要输入的文字}到{控件Text属性};
通过OCR输入{需要输入的文字}到第{顺序数字}个{控件的显示文字};
通过软键盘点击{需要输入的软键盘字符}。
8.根据权利要求3所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,通过中文脚本实现的等待操作,包括:
等待{时间数字}s;
通过ResourceID等待{控件ResourceID属性值}出现,最多等待{时间数字}s;
通过Text等待{控件Text属性值}出现,最多等待{时间数字}s;
通过OCR等待{控件的显示文字}出现,最多等待{时间数字}s;
通过Image等待{控件的截图文件名}出现,最多等待{时间数字}s。
9.根据权利要求3所述的词槽设计的自然语言测试脚本编辑方法,其特征在于,通过中文脚本实现的验证点操作包括:
通过ResourceID验证{控件ResourceID属性值}是否存在-[{验证点名称}];
通过Text验证{控件Text属性}是否存在-[{验证点名称}];
通过Image验证{控件的截图文件名}是否存在-[{验证点名称}];
通过OCR验证{控件的显示文字}是否存在-[{验证点名称}];
通过ResourceID验证{控件ResourceID属性值}的值是否是{控件Text属性值}-[{验证点名称}]。
10.一种词槽设计的自然语言测试脚本编辑方法的测试机器人,其特征在于,利用权利要求1至9任一项所述的词槽设计的自然语言测试脚本编辑方法进行测试脚本的编写,且在编写测试脚本后,测试机器人会自动将每条测试用例的测试脚本中的词槽分析,转存到测试数据的数据库,并且会在单独的测试数据管理页面提供增加、删除、查找、修改的操作。
11.根据权利要求10所述的词槽设计的自然语言测试脚本编辑方法的测试机器人,其特征在于,测试脚本和测试数据是隔离的,一条测试用例的脚本可以有多组测试数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810460213.0A CN108763066A (zh) | 2018-05-15 | 2018-05-15 | 一种词槽设计的自然语言测试脚本编辑方法及测试机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810460213.0A CN108763066A (zh) | 2018-05-15 | 2018-05-15 | 一种词槽设计的自然语言测试脚本编辑方法及测试机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108763066A true CN108763066A (zh) | 2018-11-06 |
Family
ID=64006804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810460213.0A Pending CN108763066A (zh) | 2018-05-15 | 2018-05-15 | 一种词槽设计的自然语言测试脚本编辑方法及测试机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763066A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840212A (zh) * | 2019-02-19 | 2019-06-04 | 百度在线网络技术(北京)有限公司 | 应用程序的功能测试方法、装置、设备及可读存储介质 |
CN114025027A (zh) * | 2021-11-02 | 2022-02-08 | 浙江三维万易联科技有限公司 | 数据传输脚本的运行方法、装置、存储介质和电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150278075A1 (en) * | 2014-03-26 | 2015-10-01 | Mckesson Financial Holdings | Apparatuses, methods, and computer program products for conducting automated tests |
CN106326121A (zh) * | 2016-08-22 | 2017-01-11 | 上海亿账通互联网科技有限公司 | 测试脚本的自动生成方法及终端 |
CN106371994A (zh) * | 2016-09-04 | 2017-02-01 | 南京理工大学 | 基于自然语言处理的动态移动app测试方法 |
CN106484613A (zh) * | 2016-09-13 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种基于fitnese的接口自动化测试框架 |
CN107608874A (zh) * | 2016-07-12 | 2018-01-19 | 博彦科技股份有限公司 | 测试方法和装置 |
-
2018
- 2018-05-15 CN CN201810460213.0A patent/CN108763066A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150278075A1 (en) * | 2014-03-26 | 2015-10-01 | Mckesson Financial Holdings | Apparatuses, methods, and computer program products for conducting automated tests |
CN107608874A (zh) * | 2016-07-12 | 2018-01-19 | 博彦科技股份有限公司 | 测试方法和装置 |
CN106326121A (zh) * | 2016-08-22 | 2017-01-11 | 上海亿账通互联网科技有限公司 | 测试脚本的自动生成方法及终端 |
CN106371994A (zh) * | 2016-09-04 | 2017-02-01 | 南京理工大学 | 基于自然语言处理的动态移动app测试方法 |
CN106484613A (zh) * | 2016-09-13 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种基于fitnese的接口自动化测试框架 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840212A (zh) * | 2019-02-19 | 2019-06-04 | 百度在线网络技术(北京)有限公司 | 应用程序的功能测试方法、装置、设备及可读存储介质 |
CN114025027A (zh) * | 2021-11-02 | 2022-02-08 | 浙江三维万易联科技有限公司 | 数据传输脚本的运行方法、装置、存储介质和电子装置 |
CN114025027B (zh) * | 2021-11-02 | 2023-10-03 | 三维通信股份有限公司 | 数据传输脚本的运行方法、装置、存储介质和电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752606B2 (en) | Software development tool using a structured format to generate software code | |
US9361069B2 (en) | Systems and methods for defining a simulated interactive web page | |
US6360332B1 (en) | Software system and methods for testing the functionality of a transactional server | |
US6587969B1 (en) | Software system and methods for testing the functionality of a transactional server | |
EP2958061A1 (en) | Method of developing an application for execution in a workflow management system and apparatus to assist with generation of an application for execution in a workflow management system | |
CN108647147A (zh) | 一种利用图谱分析执行自动化测试机器人及其使用方法 | |
CN110941467A (zh) | 数据处理方法、装置及*** | |
US9979822B1 (en) | Method and system for specifying and processing telephony sessions | |
CN110286974A (zh) | 基于h5页面的应用配置方法、装置、设备及存储介质 | |
BRPI0615572A2 (pt) | designação, ajuste e descoberta de parámetros para documentos de planilha | |
JPH06119292A (ja) | ホストアクセステーブル構築方法及びデータ処理サブシステム | |
CN105930344B (zh) | 一种基于产品研制流程的数据库应用***快速开发平台 | |
US20060047723A1 (en) | Custom database system and method of building the same | |
CN109634570A (zh) | 前后端集成开发方法、装置、设备及计算机可读存储介质 | |
CN110297761A (zh) | 返回数据的获取方法、装置、计算机设备及存储介质 | |
CN101739279A (zh) | 资费管理配置自动化 | |
CN112988165A (zh) | 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质 | |
CN108763066A (zh) | 一种词槽设计的自然语言测试脚本编辑方法及测试机器人 | |
US20100011018A1 (en) | Custom database system and method of building the same | |
Gault et al. | Beginning Oracle Application Express 4.2 | |
US20210124752A1 (en) | System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface | |
CN109891410B (zh) | 用于新的会话对话***的数据收集 | |
US20230195792A1 (en) | Database management methods and associated apparatus | |
CN115713309A (zh) | 内审*** | |
US20080022258A1 (en) | Custom database system and method of building and operating the same |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |
|
RJ01 | Rejection of invention patent application after publication |