Robot Framework中如何让Suite Setup优先于Library命令执行?
解决Robot Framework中Suite Setup优先于Library加载的问题
Robot Framework的执行逻辑是先加载Settings中声明的所有Library,再执行Suite Setup,所以直接在Settings里写Library的话,必然会先触发库加载,导致依赖未就绪的问题。要实现先执行Suite Setup拉取依赖,再加载自定义库,需要用动态导入库的方式:
步骤1:移除Settings中的Library声明
修改你的Robot文件,去掉直接声明Hello.py的行:
*** Settings *** Suite Setup Call_Libraries ${GIT_Token} # 删除原有的 Library Hello.py 行
步骤2:在Suite Setup关键字中动态导入库
在Call_Libraries关键字里,先完成依赖拉取操作,再用Robot内置的Import Library关键字加载Hello.py:
*** Keywords *** Call_Libraries [Arguments] ${GIT_Token} # 执行拉取依赖的逻辑(比如克隆仓库、下载依赖包等) # 示例:Run Process git pull --token ${GIT_Token} # 动态导入自定义库Hello.py Import Library Hello.py
补充说明
- 如果
Hello.py需要传入初始化参数,直接在Import Library后追加参数即可,比如:Import Library Hello.py ${param1} ${param2} - 确保
Hello.py所在路径在Robot的搜索路径中(可以通过--pythonpath参数指定,或者放在当前执行目录下)
内容的提问来源于stack exchange,提问作者WorkerBee
相关产品推荐
相关产品推荐

