Robot Framework对接Django配置失败报模块不存在及驱动异常问题
问题解决步骤
初始报错解决
你在test.robot的Settings块错误将Django配置项MIDDLEWARE_CLASSES作为测试库导入,提供Start Django、Stop Django关键字的是DjangoLibrary。
修改test.robot中的库导入配置:
将
Library MIDDLEWARE_CLASSES ${HOSTNAME} ${PORT} path=pipeline/pipeline manage=pipeline/manage.py settings=pipeline.settings
替换为
Library DjangoLibrary ${HOSTNAME} ${PORT} path=pipeline/pipeline manage=pipeline/manage.py settings=pipeline.settings
更新后报错解决
1. PosixPath不可迭代报错
错误原因:Django 3.2默认使用Path对象拼接数据库路径,对应版本的robotframework-djangolibrary对Path对象兼容性不足,执行数据库操作时尝试对Path对象做字符串判断触发报错。
修改settings.py中DATABASES配置,将Path对象转为字符串格式:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
2. geckodriver不存在报错
错误原因:你配置了使用Firefox浏览器执行Selenium测试,系统缺少Firefox对应的驱动geckodriver,或驱动未加入系统环境变量PATH。
二选一解决即可:
- 继续使用Firefox:下载对应系统和Firefox版本的geckodriver,解压后放到系统PATH包含的目录下
- 换用Chrome浏览器:下载对应Chrome版本的chromedriver放到PATH目录下,同时将
test.robot中${BROWSER} firefox改为${BROWSER} chrome
内容的提问来源于stack exchange,提问作者shorif2000
相关产品推荐
相关产品推荐

