机器人框架“找不到资源文件”错误

rre*_*ene 1 automation robotframework

我设计了这种架构,其中所有测试用例都在 Amazon.robot 文件中,机器人框架的所有低级关键字都将在两个单独的文件中(AmazonGui.robot 和 Commons.robot)

包含所有测试用例的 Amazon.robot 文件:

*** Settings ***
Documentation  This is some basic infor the whole suite
Resource  Resources/AmazonGui.robot
Resource  Resources/Common.robot

*** Variables ***


*** Test Cases ***
User must sign in to check out

    [Documentation]  This is some basic info about test
    [Tags]  Smoke

    Common.Begin Web Test
    AmazonGui.Search for Products
    AmazonGui.Select Product from Search Results
    AmazonGui.Add Product to Cart
    AmazonGui.Begin Checkout
    Common.End Web Test
Run Code Online (Sandbox Code Playgroud)

我还有另外两个具有低关键字的资源文件,所以基本上测试用例(Amazon.robot)正在调用低级关键字文件(Common.robot 和 AmazonGui.robot)。我已将资源文件导入到测试用例文件中。


AmazonGui.robot 文件,包含用于测试用例的低级关键字

*** Settings ***
Library   Selenium2Library

*** Keywords ***

Search for Products
    go to  http://www.amazon.com
    wait until page contains  Your Amazon.com
    input text  id=twotabsearchtextbox  Ferrari 458
    click button    xpath=//*[@id='nav-search']/form/div[2]/div/input
    wait until page contains    results for "Ferrari 458"

Select Product from Search Results
    click link    css=#result_0 a.s-access-detail-page
    wait until page contains    Back to search results

Add Product to Cart
    click button    id=add-to-cart-button
    wait until page contains    Added to Cart

Begin Checkout
    click link    id=hlb-ptc-btn-native
    page should contain element    id=signInSubmit
Run Code Online (Sandbox Code Playgroud)

Common.robot 文件具有通用功能,只需打开和关闭浏览器

*** Settings ***
Library  Selenium2Library

*** Keywords ***

Begin Web Test
     open browser  about:blank  ff


End Web Test
     close browser
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下命令从终端运行脚本时:

C:\development\robot-scripts\amazon>pybot -d results tests/amazon.robot

我收到以下错误:

[ ERROR ] Error in file 'C:\development\robot-scripts\amazon\tests\amazon.robot': Resource file 'Resources\AmazonGui.robot' does not exist.
[ ERROR ] Error in file 'C:\development\robot-scripts\amazon\tests\amazon.robot': Resource file 'Resources\Common.robot' does not exist.
==============================================================================
Amazon :: This is some basic infor the whole suite
==============================================================================
User must sign in to check out :: This is some basic info about test  | FAIL |
No keyword with name 'Common.Begin Web Test' found.
--------------------------------------------------------
Amazon :: This is some basic infor the whole suite                    | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
Run Code Online (Sandbox Code Playgroud)

不太确定,我应该在哪里寻找问题。

机器人框架错误

小智 9

您的测试用例位于名为 tests 的文件夹中。资源文件位于名为 Resources 的不同文件夹中。

当你给

Resources/AmazonGui.robot
Run Code Online (Sandbox Code Playgroud)

它将检查目录tests 中名为Resources 的目录,但实际上该目录存在于tests 目录之外。

../Resources/AmazonGui.robot
Run Code Online (Sandbox Code Playgroud)

在这里,您要求框架离开测试目录并检查名为 Resources 的目录。


Ste*_*hen 7

这个问题是没有为资源文件设置正确的路径。试试这个代码替换旧的?

Resource  ../Resources/AmazonGui.robot
Resource  ../Resources/Common.robot
Run Code Online (Sandbox Code Playgroud)