Robot Framework:Selenium Library - 未考虑带有关键字的自定义资源文件

Robot Framework : Selenium Library - Custom Resource File with keywords are not taking into account

所以我有一个以 selenium 库作为设置的机器人项目,我目前正在 eclipse-ide 上执行。为了便于使用,我创建了一个包含单独变量和关键字的资源文件。它工作正常,能够 运行 项目早点正常。但是突然间我不知道发生了什么,但是资源文件没有被 considered,即使路径没有显示错误。让我分享一下片段。

这是资源文件:

*** Settings ***
Library    SeleniumLibrary    


*** Variables ***

@{URL}  https://www.google.com   https://www.gmail.com


*** Keywords ***
URL_NavigationToGoogle
    Open Browser    ${URL}[0]  chrome
    Maximize Browser Window
    Set Browser Implicit Wait    10

这是带有测试用例的机器人文件:

*** Settings ***
Library    SeleniumLibrary       
Suite Setup    Log    Suite Setup    
Suite Teardown    Log    Suite Teardown    
Test Setup    Log    Test Setup    
Test Teardown    Log    Test Teardown   
Resource    ../../ResourceFile/Keywords_and_Variables.robot 
Default Tags    Google Page Test cases


    *** Test Cases ***
    
    Test_Case-1
        [Tags]  Entering google web page
        URL_NavigationToGoogle

这是输出:

Test_Case-1                                                           | FAIL |
No keyword with name 'URL_NavigationToGoogle' found.
------------------------------------------------------------------------------

无法确定确切的问题,但这之前工作得很好。我想知道为什么它现在不起作用以及如何解决这个问题。任何帮助,将不胜感激。让我知道您的想法以及我做错了什么,或者是否需要更改任何内容。

谢谢, 桑德什堪萨斯州

基本上这里的问题几乎肯定与资源路径或文件名有关。

确保问题已解决且不再出现的简单方法是在开始测试之前在命令提示符下或通过批处理文件调整 PYTHONPATH 变量。如果文件位置在变量中,导入可以简单地完成

Resource    Keywords_and_Variables.robot

在导入任何未打包的自定义 Python 库时,这种方法也是最简单的,因为如果没有 PYTHONPATH 变量中的位置,您将无法将它们作为库导入。

要设置变量,只需使用

set PYTHONPATH = <path/to/resources/>;%PYTHONPATH%

;%PYTHONPATH% 确保不会丢失任何先前的更改,您只需向其中添加新位置。

通常我有一个包含测试文件的批处理文件,每当执行测试时,我首先 运行 批处理脚本,然后才开始机器人测试。

举个例子,如果 运行从命令提示符开始,你会这样做。

  1. 将资源文件导入您的脚本
*** Settings ***
Library    SeleniumLibrary       
Suite Setup    Log    Suite Setup    
Suite Teardown    Log    Suite Teardown    
Test Setup    Log    Test Setup    
Test Teardown    Log    Test Teardown   
Resource    ResourceFile/Keywords_and_Variables.robot  # Path not needed if already in PYTHONPATH
Default Tags    Google Page Test cases
  1. 打开CMD
  2. 输入set PYTHONPATH=<path/to/resourcefile>;%PYTHONPATH -- 将<>替换为相对于当前位置的实际路径
  3. 正常启动测试

如果愿意,也可以将 PYTHONPATH 设置为 Windows PATH 的环境变量。


或者,您的问题与 PYTHONPATH 无关,而是您的资源文件中存在语法错误,这会阻止导入。