Robot Framework - SSH 库 - 在远程服务器上编辑文件

Robot Framework - SSH library - Editing a file on remote server

我正在 Robot Framework 中编写一个测试用例,我必须将文件从本地计算机 (windows) 复制到远程服务器 (linux) 或创建一个新的一个在该位置。 我使用了多个 sudo su - 命令将用户切换到 root 用户 以访问所需的主机。因此,我无法使用 SSH Library 中的 Put File 关键字上传文件。通过使用 Write 关键字执行命令,我已经到达了所需的文件夹位置。 由于没有其他选项(这就是我对机器人框架知识有限的认识),我开始使用 vi <filename> 命令创建一个新文件。我也达到了文件的插入模式,但是我无法将文本编辑到文件中。

有人可以告诉我我该怎么做吗

  1. 在多个 SU 命令(切换用户)后将文件从本地 windows 机器复制到远程 linux 服务器
  2. 创建一个新的文本文件并输入内容。

请参阅:正在创建/复制的新文件是证书文件。因此我不想在我的测试套件文件中写入证书的全部内容

整个测试用例看起来像这样

First Jump1
    Log    Starting the connection to AWS VM
    # Connection to VM with Public Key
    Connection To VM    ${hostname}    ${username} 
    Send Command    sudo su -
    Send Command    su - <ServiceUser1>
    # Reached the Detination server
    Send Command    whoami  
    Send Command    ss -tln | grep 127.0.0.1:40
    # Connecting to Particular ZIP
    Send Command    sudo -u <ServiceUser2> /usr/bin/ssh <ServiceUser2>@localhost -p <port>
    Send Command    sudo su -
    # Check Auth Certificate
    Send Command    mosquitto_pub -h ${mq_host} -p ${mq_port} -u ${mq_username} -P ${mq_password}

在步骤Check Auth Certificate中,检查证书是否存在,如果存在 -> 删除当前证书并创建新证书(创建新证书文件或从本地上传),如果没有,则创建一个新证书

虽然它可能不理想,但能够实现我想做的事情

echo "content" > newFilename
echo "update content" >> newFileName