如何在docker中使用robot框架执行本地测试并将输出保存到主机
我从一个docker文件创建了一个docker映像,该文件有一个运行robot framework就绪的环境。我想使用docker映像运行一个本地文件,并在本地保存测试的输出 我知道我可以在运行映像和执行测试时挂载文件如何在docker中使用robot框架执行本地测试并将输出保存到主机,docker,robotframework,Docker,Robotframework,我从一个docker文件创建了一个docker映像,该文件有一个运行robot framework就绪的环境。我想使用docker映像运行一个本地文件,并在本地保存测试的输出 我知道我可以在运行映像和执行测试时挂载文件 $ docker create -ti -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot 然后我知道从docke
$ docker create -ti -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot
然后我知道从docker保存一个文件是cp
我有两个问题,我知道一旦我停止docker的实例,文件就会被删除,或者更好地说,当我再次启动mage时,是它的另一个实例。如果我进入docker映像中装载文件并运行测试,我知道输出文件会保存在根目录中
Output: /output.xml
Log: /log.html
Report: /report.html
如何将这些文件output.xml、log.html和report.xml保存到主机中。我希望我可以使用一个命令来运行测试和保存。我希望我对docker解释得足够好,这对docker来说是非常新的。只需使用以下命令运行一个容器:
docker run --name mytests -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot
并使用我们设置的名称
抓取内容:
docker cp mytests:/output.xml .
docker cp mytests:/log.html .
docker cp mytests:/report.html .
然后,您可以使用以下命令删除已停止的容器:
docker rm mytest
此外,使用这种方法,您将不会面临文件权限和所有权问题。谢谢您,但我可以问一下如何实际运行using-name标记吗
unknown-shorthand标志:'n'in-name
我在复制您的命令时得到这个,我知道--name,但它仍然不起作用,它必须是--name
。那么问题出在哪里呢?docker run--name mytest-v Desktop/testWithRobot/robottest.robot:/test/robottest.robot dc3dcfee60 robot test/robotest.robot
我运行这个命令,得到[错误]解析“test/robottest.robot”失败:要执行的文件或目录不存在。