背景:
本地运行Robot FrameWork框架中py脚本正常,代码通过Git上传服务器后,jenkins运行脚本出现异常,可能环境问题导致。代码调试原操作步骤是修改本地脚本,通过Git合并到分支并提交代码,Jenkins再运行代码。如果一次无法调试成功,需要多次重复该操作过程,过程较为繁琐。
解决方案:
在代码运行服务器上找到工程目录,修改代码,进行联调
例子:
1)服务器找到待调试文件,当前调试文件为Log_Get.robot。代码工程目录/opt/jenkins/workspace/shc/test-shc-portal-sit可通过jenkins控制台输出日志找到(见图一),从服务器进入到该工程,找到Log_Get.robot文件(见图二)

图一

图二
2)通过Vim命令进入Log_Get.robot文件编辑代码,修改保存后通过pybot命令运行RF脚本(见图三)。其中标签"Eazy"进入Log_Get.robot文件后,在用例Tags处添加(见图4),通过 "-i Eazy" 命令进行过滤,只运行Eazy标签的用例,便于调试

图三

图四
3)调试py文件,当前调试文件为tools.py文件。进入目录和编辑文件方式和步骤1)和2)相同,通过Vim命令进入tools.py文件,在最后一行增加打印操作(见图五),该操作是检查为什么RF脚本调用DateCalculation()方法失败,确保在服务器上运行DateCalculation()是正常的,通过python命令运行py文件进行调试(见图六)

图五

图六