其他测试框架 请教 Robotframework 问题,执行用例后提示 no keyword with name xxxxx

jimmy · 2021年12月01日 · 最后由 ChasingV 回复于 2021年12月03日 · 4708 次阅读

1、运行机器:存在 python2.7、python3.6 版本,同理 pip → 2.7,pip3 → 3.6。其中:
①robotframework 的所有包(包括 robotframe、selenium2library 等)通过 pip3 安装成功
②直接进入 python3 的 shell 环境,import selenium2library 无异常

2、用例
*** Settings ***
Library Selenium2Library

*** Test Cases ***
test1
Open Browser https://www.baidu.com/ Chrome # 打开百度
Close Browser

3、执行报错
输出

4、通过 export 将包路径也加到 path 中,但未能解决问题

不知是否有朋友遇到过同类情况,指点一二。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 6 条回复 时间 点赞

你的第三步在引入这个 library 的时候已经报错了。
我们是用的 seleinumLibrary ,没有这个问题

selenium2library 4 年前就停止更新了,用这个吧https://github.com/robotframework/SeleniumLibrary

Jerry li 回复

感谢回答。但即便改用 seleniumLibrary 后,仍是同样报错。

最终解决:Robotframework 与 SeleniumLibrary 版本不适配。初始时 RF 版本是 3.1.2,而 seleniumlibrary 安装了最新版(5.x),由此最新版的一些关键字发生改变,导致异常。在初始提问题时,如果列出包的版本的话,可能大佬们能一眼看出端倪,也是一个收获。

遇到这类问题 no keyword with name xxxxx,我一般都是检查这些
1.看引入资源 library 的路径是否有差异
2.看执行用例时加载的环境地址是否一致
如果还是不行,就只能检查 对应引入资源包中 keyword 是否存在。rf 的关键字名称规范一般不会变更,包括最新的 4.2.2 版本中,还是沿用以前的

Python3 安装 robotframework-Selenium2Library 后使用 robotframework 引入包会出现部分关键字无法识别比如:Open Browser、Input Text、click element 等,通过将 robotframework 版本降级仍存在无法识别关键字问题,通过面向百度得知 selenium2library 和 seleniumlibrary 的版本必须一致以 3.X 版本开始,因此问题得以解决。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册