1

我正在 Robot Framework 中编写一个测试用例,在其中,我必须将文件从本地机器(windows)复制到远程服务器(linux)或在该位置创建一个新文件。我使用了多个sudo su -命令将用户切换到root 用户以访问所需的主机。因此,我无法使用Put File关键字 fromSSH Library上传文件。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步骤中,检查证书是否存在,如果存在 -> 删除当前证书并创建新证书(创建新文件或从本地上传),如果不存在则创建新证书

4

1 回答 1

1

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

echo "content" > newFilename
echo "update content" >> newFileName
于 2021-07-02T11:46:25.397 回答