我在 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
那么...为什么我的自定义关键字不适用于套件设置?
最佳答案
- 下载最新版本的chrome驱动程序并更新chrome。
- 将最新的 chrome 驱动程序移动到路径所在的文件夹。 (例如 mv chromedriver/usr/local/bin)
关于java - 机器人框架 : why suite setup seems not to be working properly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48291730/