机器人系统 是局域linux,一种基于命令行接口的机器人测试系统及测试方法

一种基于命令行接口的机器人测试系统及测试方法

【技术领域】

[0001]本发明涉及机器人测试领域,具体是一种基于命令行接口的机器人测试系统。

【背景技术】

[0002]近年来,智能机器人技术飞速发展,其构造及软件越来越复杂,多学科交叉的特点也越来越明显。为了保证智能机器人的质量,需要对机器人进行测试。传统主要是由人工测试,人工测试劳动强度大、效率也比较低,并且成本也比较高,因此使用计算机程序来测试智能机器人已成为一种发展趋势。传统机器人测试,是采用测试装置对机器人进行测试,例如中国专利申请CN 102939592A公开的一种测试装置,但是没有提供一个通用的测试系统,可扩展性低,成本高。

【发明内容】

[0003]本发明要解决的问题是提供一种基于命令行接口的机器人测试系统,该测试系统具有可扩展性,可动态添加自动化测试脚本,实现对机器人的自动化测试,稳步地保证了机器人的质量,有效地提高效率和准确度,降低成本。

[0004]本发明公开的一种基于命令行接口的机器人测试系统,包括操作系统、通信模块、命令解析及执行模块、测试脚本的语言、测试脚本语言的环境和命令行接口,所述命令行接口用于为机器人新增的功能添加命令。

[0005]作为上述技术方案的进一步改进,所述通信模块提供一种通信方式,该通信方式用于测试机和被测试机器人之间的通信。

[0006]进一步改进,所述通信方式adb、SSH或telnet。

[0007]另一种改进,所述环境用于执行所述测试脚本。

[0008]利用上述技术方案所述的测试系统进行测试的方法,包括以下步骤:

1)连接测试机与被测试机器人;

2)在测试机登录被测试机器人的运行环境;

3)在被测机器人的运行环境上运行机器人命令行接口的的命令;

4)机器人接收到被测机器人的命令后,查询并调用该命令注册的执行函数,该执行函数与机器人内部系统模块通信,输出被测机器人的状态及各子系统状态,供测试脚本分析;

5)测试脚本分析被测机器人的状态及各子系统状态,输出测试报告。

[0009]利用上述技术方案所述的测试系统增加新的测试功能的方法,包括以下步骤:

1)利用被测机器人子系统实现新功能;

2)定义新功能命令格式;

3)调用由子系统实现的新功能接口,实现新功能的命令;

4)添加新功能的命令到被测机器人命令接口系统。

[0010]进一步的,在所述步骤4)添加新功能的命令到被测机器人命令接口系统后,利用上述技术方案所述的测试方法验证新功能的命令是否添加成功。

[0011]本发明的一种基于命令行接口的机器人测试系统及测试方法,提供了一个通用的测试系统及配套的测试、增加新功能测试的方法,可扩展性强,大大提高了测试效率和测试系统的适用范围,降低了测试成本。

【附图说明】

[0012]图1是本发明的机器人测试系统的框图;

图2是新增功能加入测试系统的流程图。

【具体实施方式】

[0013]下面结合附图,对本发明提出的一种基于命令行接口的机器人测试系统进行详细说明。

[0014]如图1所示,为实现本发明所述的机器人测试系统,使用一台测试机I和一台被测机器人2。所述测试机I优选具有命令行接口、通信模块、测试脚本、测试脚本语言的环境的一台计算机,该计算机可以安装Windows或者Linux。通过命令行接口开发人员可以为机器人新增的功能添加命令,测试人员可以通过在命令行终端输入命令,对机器人进行测试。通信模块提供一种通信方式(比如:adb,telnet等),使得运行在测试机I上测试脚本可以向被测机器人2发送命令,并且该命令的执行结果可以通过这种通信方式返回给测试机上的测试脚本。提供一个书写这些测试脚本的语言(比如:dos/bat, tcl/expect, Python等),通过这些脚本语言根据测试用例书写自动化测试脚本程序。提供运行这些脚本语言运行的环境,执行这些自动化测试脚本,完成对机器人一些功能的自动化测试。通信模块包括,测试机I和被测试机器人2通过通信模块客户端5和服务端6进行通信。启动测试机I和被测试机器人2之后,机器人2开启通信服务监听测试机I测试脚本发送过来的连接。在测试机I运行一些测试脚本3,这些测试脚本3将通过通信模块5发送命令到机器人2端。机器人2通过通信模块6接收到命令后,交由命令解析及执行模块4对命令进行解析,匹配到相应的命令并调用相应命令执行函数,该执行函数与机器人内部各系统通信,对机器人进行操作,并将操作结果通过通信模块返回给测试机I端。测试机I通过通信模块5接收到来自机器人2执行的结果,并交由测试脚本3对其分析,如果机器人如期望的在执行命令,就说明测试是通过的,否则测试失败。最终的测试结果以报告的形式打印出来。

[0015]为了更加清晰地描述图1的过程,以自动测试机器人是否进入工作状态为例,具体如下:

1.一台安装了 Windows系统的计算机,默认提供DOS BAT脚本语言及运行环境,通信方式采用ADB (调试桥),准备好ADB客户端程序,如adb.exe。

[0016]2.机器人系统是基于Android系统,默认提供Linux Shell运行环境及ADB通信服务。对于基于其他移动操作系统的机器人也可适用。

[0017]3.让测试机计算机与被测机器人连接到同一局域网内(使用广域网,比如国际互联网Internet,也可实现,并可以实现远程测试,本实施例优选局域网),并且可以互相连通,测试机运行adb connect〈host〉与被测机器人建立连接,通过ADB devices列出连接设备,再使用adb shell登录到被测机器人shell运行环境上,或者直接在adb shell后加机器人命令执行,格式为:adb shell〈机器人命令〉。

[0018]4.在被测机器人shell运行环境上运行机器人命令行接口的查询机器人的状态的命令 robot—cli show—system—status 或 DOS 环境下直接 adb shell robot—cli show—system—status。

[0019]机器人命令有两种模式,一种是SHELL模式,一种是交互模式。SHELL模式运行robot—cli〈机器人命令〉。交互模式只运行robot—cli进入交互界面“>”,再输入〈机器人命令>。

[0020]机器人命令之查询机器人的状态的命令robot—cli show—system—status。

[0021]命令格式:show—system—status [search string]

命令描述:show whole system and all of sub-systems status 实例:显示系统状态

>show—system—status State

[State] Work [SubState] Busy [State] Work [SubState] Idle [State] Work [SubState] Busy [State] Work [SubState] Busy [State] Work [SubState] Idle [State] Work [SubState] Idle

>

机器人接收到机器人的状态查询命令后,在所有机器人命令数组中查询,如果找到,调用该命令注册的执行函数,该执行函数与机器人内部系统模块通信,并将机器人的状态及各子系统状态打印出来,供测试脚本分析。

[0022]机器人命令接口数据结构: struct robot_cli_cmd {

const char ^c

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值