在MeterSphere中如何实现SSH登录服务器


在测试过程中很多时候会遇到,需要通过SSH协议登录到服务器上获取某些配置文件或者日志文件,或者启动其他服务/脚本执行等等。MeterSphere测试平台可以提供多种方式实现此功能。下面介绍使用MeterSphere测试平台实现此要求相关操作和注意事项。

1、MeterSphere平台的SSH插件

使用平台提供的SSH插件能简单、快捷地实现上述需求,并且对测试人员代码要求和用例维护成本都相对较低。

1.1 获取插件

此插件可以到https://github.com/metersphere 下载,如果这里没有找到,可以到MeterSphere厂商索要插件,方式:https://fit2cloud.com/ 打电话或者扫码厂商的支持二维码,进入厂商的交流群索要即可。

1.2 安装插件

路径:MeterSphere的系统设置>>系统>>插件管理》》上传插件
在这里插入图片描述
在上传插件时,类型需要选择为【接口测试】
在这里插入图片描述

注意事项

在上传插件后,建议重新启动【system-setting】服务,否则插件使用时会有异常。
在这里插入图片描述

1.3 通过插件实现SSH登录服务器及相关操作

1、插件上传后,我们新建一个场景,专门测试此功能,路径如下:选择【接口测试>>接口自动化>>创建场景】
在这里插入图片描述
2、进入场景详情页面,选择右下角的加号【+】,在弹出的菜单中选择【模拟请求】,左侧出现该节点相关服务器登录信息以及具体的操作命令即可
在这里插入图片描述
点击【调试】或者【执行】即可完成。

注意事项

在这里插入图片描述

2、使用MeterSphere前后置脚本实现SSH服务器及操作

MeterSphere V2+版的前后置脚本是支持多语言的:beanshell、groovy、javascript、python。
在这里插入图片描述
现在使用beanshell脚本的方式实现SSH登录服务器及相关操作。

2.1 beanshell代码:实现SSH登录并执行ls命令

下面代码样例是beanshell脚本实现SSH登录服务器,并且执行ls命令。

import com.jcraft.jsch.*;


        try {
            JSch jsch = new JSch();

            // 设置SSH连接的用户名、主机和端口
            String username = "用户名";
            String host = "主机地址";
            int port = 22;

            // 创建SSH会话
            Session session = jsch.getSession(username, host, port);

            // 设置SSH会话的密码
            String password = "登录密码";
            session.setPassword(password);

            // 禁用SSH主机密钥检查
            session.setConfig("StrictHostKeyChecking", "no");

            // 建立SSH连接
            session.connect();

            // 打开SSH通道
            Channel channel = session.openChannel("exec");

            // 设置执行的命令
            String command = "ls";

            // 在SSH通道中执行命令
            ((ChannelExec) channel).setCommand(command);

            // 获取命令执行的输出流
            channel.setInputStream(null);
            ((ChannelExec) channel).setErrStream(System.err);

            // 连接SSH通道
            channel.connect();

            // 读取命令执行的输出
            InputStream in = channel.getInputStream();
            byte[] buffer = new byte[1024];
            while (true) {
                while (in.available() > 0) {
                    int bytesRead = in.read(buffer, 0, 1024);
                    if (bytesRead < 0) break;
                    System.out.print(new String(buffer, 0, bytesRead));
                    String ss = new String(buffer, 0, bytesRead);
                   
                }
                if (channel.isClosed()) {
                    if (in.available() > 0) continue;
                    System.out.println("Exit status: " + channel.getExitStatus());
                    break;
                }
                try {
                    Thread.sleep(1000);
                } catch (Exception ee) {
                    ee.printStackTrace();
                    // 在metersphere执行控制台直接打印
            		log.info("异常");
                }
            }

            // 关闭SSH通道和会话
            channel.disconnect();
            session.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
            // 在metersphere执行控制台直接打印
            log.info("失败");
        }

2.2在MeterSphere“代码片段”里测试

在这里插入图片描述
在这里插入图片描述

注意事项

需要下载【JSch】包,并且把该包上传到MeterSphere平台。
上传jar的路径:【项目设置>>文件管理】
在这里插入图片描述
选择【添加文件】上传JSch包
在这里插入图片描述
点击jar包后面的【眼睛】图标,设置【开启】jar包用于接口测试
在这里插入图片描述

经验:在MeterSphere也尝试了Python脚本去实现SSH登录,但是没有成功,一直有异常,脚本在本地执行都没有问题。大家如果在MeterSphere用Python脚本实现的,请多多指教。

Metersphere 是一款开源持续测试平台,它支持与数据库的连接,以便执行测试和管理测试数据。如果你想通过 SSH 连接数据库,通常是指通过安全的命令行界面远程连接到服务器上的数据库服务。但如果你是在谈论 Metersphere 自身如何连接数据库,那就需要按照以下步骤配置数据库连接。 1. 找到配置文件:Metersphere 的配置文件一般位于其安装目录下,通常是一个名为 `application.properties` 的文件。 2. 配置数据库连接信息:在这个配置文件,你需要设置数据库连接的相关信息,比如数据库类型、地址、端口、用户名、密码、数据库名等。 下面是一个配置文件的数据库连接配置示例: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/metersphere?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=yourpassword spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 重启 Metersphere 服务:修改配置文件后,需要重启 Metersphere 服务,以便让新的配置生效。 4. 检查数据库连接:重启服务后,可以通过访问 Metersphere 平台看是否能够正常工作,以此验证数据库连接是否成功。 注意:以上步骤假设你已经有一个运行的数据库服务,并且 Metersphere 支持该类型的数据库。确保数据库服务允许从 Metersphere 所在服务器的 IP 地址进行连接。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值