我需要自动化一个测试。测试本身是(由我自己)用MatLab编写的,有5个阶段,每个阶段以将一个值设置为一个整数(uint16_t和uint8_t)结束,并以一条消息结束。我必须将这5个整数和5个字符串传递给PowerShell脚本,因为Jenkins只能运行PowerShell或Python脚本,但我不完全确定如何才能实现这一点。我从来没有使用过PS,也没有做过任何脚本编写,互联网上也没有多少关于如何用PowerShell运行一个matlab脚本的内容。(也许我应该检查一下运行matlab脚本的批处理文件脚本。)
到目前为止,我找到的唯一选择是用MATLAB写入一个(临时)文件,然后从它读取(并删除它),它可以是一个.txt文件,或者最好是.csv文件(尽管Mathworks不推荐使用csvwrite
),但这不是很可靠。有没有人能提出其他更直接的方法来传递它?MatLab文件不是一个函数,但可以使其成为将这些变量作为输出的文件。此外,如果将整数转换为另一种整数类型,也是可以的。
1条答案
按热度按时间rdlzhqv91#
就像@TessellatingHeckler所说的那样,方法是
$results = matlab.exe yourscript
。这里是一个例子,如果你想在启动测试时有更多的功能,比如没有显示窗口,以批处理模式运行,或者等待到MATLAB执行结束。
然后,您可以使用awk或任何其他您想要的工具来解析结果。