Robot Framework:为啥套件设置似乎无法正常工作?
Posted
技术标签:
【中文标题】Robot Framework:为啥套件设置似乎无法正常工作?【英文标题】:Robot Framework: why suite setup seems not to be working properly?Robot Framework:为什么套件设置似乎无法正常工作? 【发布时间】:2018-06-25 18:43:51 【问题描述】:我在 java 上使用 RF(通过 Hi-Fi selenium-java 实现)。我目前有一个 Java 类,我在其中实现了一个名为 Driver Setup 的关键字来设置我的浏览器驱动程序的路径。
问题是,我应该能够在 __init__.robot
中进行套件设置和拆卸,但似乎有些事情并没有像我预期的那样工作。我的套件设置是设置 selenium 驱动程序路径(我的 Driver Setup
关键字)。所以我这样做了:
*** Settings ***
Suite Setup Driver Setup
Test Setup Open Browser $my app url chrome
Test Teardown Close Browser
但是,我似乎无法执行Driver Setup
,因为我得到:Parent suite setup failed: No keyword with name 'Driver Setup' found.
但是,如果我执行Test Setup
而不是套件设置,则一切正常并且测试运行成功。
所以作为一种解决方法,我必须这样做:
*** Settings ***
Test Setup Run Keywords Driver Setup AND Open Browser $my app url chrome
Test Teardown Close Browser
对于上下文:
我的实现驱动设置的java类放在/src/main/java/mypackage/MyKeywords.java
。
在/src/test/robotframework/acceptance
目录中,我有一个全局资源文件。同样在/src/test/robotframework/acceptance
中,我有一个目录,其中包含一个测试套件 (Tests.robot)、一个 __init__.robot 初始化文件和一个用于高级关键字和变量的 Resources.robot 文件。
这几乎总结了我的目录设置:
├───main
│ ├───java
│ │ └───mypackage
│ │ MyKeywords.java
│ │
│ └───resources
└───test
├───java
├───resources
│ chromedriver.exe
│
└───robotframework
└───acceptance
│ GlobalResources.robot
└───someApplicationFeature
Resources.robot
Tests.robot
__init__.robot
我在 GlobalResources.robot
中调用 SeleniumLibrary 和我自己的库,因为我希望它们可用于所有测试套件,所以我这样做了:
*** Settings ***
Library SeleniumLibrary
Library mypackage.MyKeywords
那么...为什么我的自定义关键字不适用于套件设置?
【问题讨论】:
澄清一下,您是说Suite Setup Driver Setup
不起作用,但在同一个文件中Test Setup Driver Setup
起作用?
没错。如果我为“测试设置”更改“套件设置”,我的测试就会运行。如果我将其保留为“套件设置”,则会出现“未找到名称为“驱动程序设置”的关键字”错误。万一它改变了任何东西,我正在使用 Maven 来运行我的项目(自动导入 RF 和 selenium 依赖项)。
【参考方案1】:
-下载最新版chrome驱动并更新chrome。
-将最新的 chrome 驱动程序移动到路径所在的文件夹。 (例如 mv chromedriver /usr/local/bin)
【讨论】:
以上是关于Robot Framework:为啥套件设置似乎无法正常工作?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Robot Framework 从测试套件运行特定的测试用例