MeterSphere开源持续测试平台拥有非常强大的插件集成机制,用户可以通过插件实现平台能力的拓展,借助插件或脚本实现多种功能。在测试过程中,测试人员有时需要通过SSH协议登录至服务器,以获取某些配置文件和日志文件,或者启动其他服务、执行脚本等,MeterSphere平台提供了插件和脚本两种方式帮助测试人员能够方便地实现这些操作。
以下是在MeterSphere开源持续测试平台中通过SSH(Secure Shell,安全外壳协议)登录服务器的具体方法和注意事项。
方法一:使用MeterSphere平台提供的SSH插件登录服务器
使用MeterSphere平台提供的SSH插件,能够简单、快捷地通过SSH登录服务器。这一方法对测试人员的代码能力要求较低,而且用例维护成本也比较小。
1. 获取插件
MeterSphere平台提供的SSH插件可以在MeterSphere的GitHub页面(https://github.com/metersphere)下载,也可以扫描MeterSphere官方网站(metersphere.io)底部的技术交流群二维码入群获取。
2. 安装插件
为了在MeterSphere中实现通过SSH登录服务器,需要将下载好的SSH插件上传至MeterSphere平台。
上传路径:在MeterSphere首页左侧导航栏中依次选择“系统设置”→“系统”→“插件管理”,选择“点击上传”按钮。
选择“点击上传”按钮后,在“导入”对话框内的“使用场景”栏目中选择“接口测试”选项。
注意事项
为了避免使用插件时出现异常,建议在上传插件后重新启动system-setting服务。
3. 使用插件实现SSH登录服务器及其相关操作
① SSH插件上传完毕后,可以新建一个场景来测试是否能够通过SSH登录服务器。
新建场景的路径:在MeterSphere首页左侧导航栏中选择“接口测试”选项,在“接口自动化”选项卡中点击场景列表右侧的“+”按钮,选择“创建场景”选项。
② 在场景详情页面中,点击界面右下角的“+”按钮,在弹出的菜单中选择“模拟请求”选项,页面会出现该节点的相关服务器登录信息以及具体的操作命令输入栏,输入服务器信息和操作命令。
③ 服务器信息和操作命令输入完毕后,在场景详情页面点击“调试”按钮即可测试能否通过SSH登录服务器。
注意事项
如果按照上述步骤操作后仍无法通过SSH登录服务器,则可能需要在场景详情页面补充Use return code、Use TTY、Print Standard、Error output信息。
方法二:使用BeanShell脚本登录服务器
MeterSphere平台的前后置脚本支持包括BeanShell、Groovy、JavaScript、Python在内的多种语言。下面我们将以事先准备好的代码片段为例,介绍通过BeanShell脚本实现SSH登录服务器的具体方法。
1. 执行ls命令
下图中是使用BeanShell脚本实现SSH登录服务器的代码样例,在代码中需要执行ls命令。
2. 在MeterSphere平台的“自定义代码片段”中进行测试
为了在MeterSphere中实现通过SSH登录服务器,需要在MeterSphere中自定义代码片段。
点击MeterSphere首页左侧导航栏的“项目设置”选项,选择“自定义代码片段”选项。
在弹出的“更新代码片段”对话框中,选择右侧的脚本语言,指定添加的代码片段为“beanshell”;然后,把代码复制到“代码片段”选项卡中;最后,在“名称”输入栏内填写代码片段的名称,并且点击页面右下角的“确定”按钮。
在“更新代码片段”对话框中点击“测试”按钮,进行测试。
代码执行完成后,可以在“更新代码片段”对话框中的“执行结果”选项卡下实时查看到执行的结果。
注意事项
① 通过BeanShell脚本实现SSH登录服务器时,需要下载JSch包,并且将其上传至MeterSphere平台。
下载地址为:https://nowjava.com/jar/version/com/jcraft/jsch.html;
② 上传路径:在MeterSphere首页左侧导航栏中依次选择“项目设置”→“文件管理“;
③ 在“文件管理”页面点击“添加文件”按钮,上传JSch包。上传完成后,点击“操作”列下的眼睛式样按钮;
④ 在弹出窗口内将“加载Jar包“选项设置为开启状态即可。