RobotFramework自定义库Right Click关键字运行时提示找不到问题求助
问题原因及解决方案
1. 移除重复导入的原生SeleniumLibrary
你自定义的ExtendedSeleniumLibrary已经继承了原生SeleniumLibrary,包含了它所有的内置关键字,不需要再单独导入原生库。同时导入两个库会触发命名空间冲突,导致Robot Framework无法正确识别自定义关键字。
修改*** Settings ***块如下:
*** Settings *** # 删掉原生SeleniumLibrary的导入行 Library ExtendedSeleniumLibrary.ExtendedSeleniumLibrary Resource ./ProcessModeler.robot Resource ../../../../Code/test.robot
2. 调用时指定库名前缀(优先推荐)
如果你的项目里有多个包含同名关键字的库,可以在调用时加上库名前缀强制指定来源,避免识别歧义:
Folder tear down navigate to process designer wait until element is visible ${FRAME} 180s select frame ${FRAME} wait until element is visible xpath=//span[text()=" AutomationTestFolder "] ExtendedSeleniumLibrary.Right Click xpath=//span[text()=" AutomationTestFolder "]
3. 确认自定义库的搜索路径
PyCharm的静态识别会包含项目内所有文件,但Robot Framework运行时只会加载PYTHONPATH环境变量、测试用例所在目录下的模块。请确认存放ExtendedSeleniumLibrary类的Python文件路径正确,已经加入运行时的搜索路径。
如果文件和测试用例同目录,可以直接改成相对路径导入:
Library ${CURDIR}/ExtendedSeleniumLibrary.py
4. 清除运行缓存
如果修改过自定义库代码后没有重启运行环境,Robot Framework可能还在加载旧的缓存文件。删除项目下所有.pyc后缀的缓存文件,重启运行环境后再执行测试即可。
内容的提问来源于stack exchange,提问作者Orl13
相关产品推荐
相关产品推荐

