我正在Robot Framework中编写一个测试用例,在中,我必须将文件从本地机器(windows(复制到远程服务器(linux(,或者在该位置创建一个新文件。我使用了多个sudo su -
命令将用户切换到根用户以访问所需的主机。因此,我无法使用SSH Library
中的Put File
关键字上传文件。通过执行带有Write
关键字的命令,我已经到达了所需的文件夹位置。由于没有任何选择(这是我在Robot Framework方面所知有限的情况下意识到的(,我开始用vi <filename>
命令创建一个新文件。我还达到了文件的INSERT模式,但是我无法将文本编辑到文件中。
有人能建议我如何使用吗
- 在执行多个SU命令后,将文件从本地windows机器复制到远程linux服务器(切换用户(
- 创建一个新的文本文件并输入内容
请参阅:正在创建/复制的新文件是一个证书文件。因此,我不希望在我的测试套件文件中写入证书的全部内容
整个测试用例看起来像这个
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}
在步骤检查身份验证证书中,检查证书是否存在(如果存在(->删除当前证书并创建新证书(创建新文件或从本地上传(,如果没有,则创建新证书
尽管这可能不理想,但能够实现我想用做的事情
echo "content" > newFilename
echo "update content" >> newFileName