如何从另一个文件调用xpath?

时间:2018-12-30 14:18:06

标签: robotframework

有2个文件

  1. Testcase / feature1.robot
  2. POM / feature2.robot

feature1.robot

*** Settings ***
Library  SeleniumLibrary
Resource  ../POM/feature2.robot

*** Variables ***
${username}  xxxxxxxx
${password}  xxxxxxxx

*** Keywords ***
Login in DataRPM
    #[Arguments]   ${username}  ${password}
    Input Text   ${email_id}  ${username}

feature2.robot

*** Settings ***
Documentation    This contains all the locaters of Login Page

*** Variables ***
${email_id}  xxxxxxxx

但是在这里,我不想使用变量部分中提到的email_id定位符。如果我在此功能文件中提到${email_id},则可以继续进行而不会出现任何错误。我想在POM目录下的feature2.robot文件中使用定位器。然后我要从feature2.robot调用变量。

我已经提到了feature1.robot中的路径,但是仍然出现错误。

  

[错误]文件feature1.robot'中的错误:资源文件'path'包含   一个不允许的测试用例表。

2 个答案:

答案 0 :(得分:2)

该错误是非常有害的,虽然您未显示使用情况,但您可能已在 feature2.robot 中实现了测试用例,在这种情况下,它是一个套件文件

但是您尝试将 feature2.robot 用作资源文件,并且由于错误消息指出,不允许资源文件具有测试用例表。< / p>

您应该创建第三个文件,例如 POM / locators.robot

*** Settings ***
Documentation    This contains all the locaters of Login Page

*** Variables ***
${email_id}  xxxxxxxx

并在 feature1.robot feature2.robot 中使用它,例如:

Resource  ../POM/locators.robot

Resource  locators.robot

从Robot Framework 3.1 *.resource开始,支持文件扩展名,因此,如果您使用的是3.1版,则应使用 locators.resource 来更明确地说明此文件是资源文件,并且不是测试套件。

答案 1 :(得分:1)

您的问题尚不清楚,但是,我将尝试仅使用您的代码并稍加修改就显示无错误的示例。

feature1.robot

*** Settings ***
Resource  ../Data/Feature2.robot

*** Variables ***
${username}  pankaj
${password}  xxxxxxxx

*** Test Cases ***
Login
    Login in DataRPM

*** Keywords ***
Login in DataRPM
    #[Arguments]   ${username}  ${password}
    log to console   ${email_id}
    log to console   ${username}

Feature2.robot

*** Settings ***
Documentation    This contains all the locaters of Login Page

*** Variables ***
${email_id}  pankajigec26@gmail.com

如果您运行 feature1.robot ,您将不会遇到任何错误。

对于您的情况,请检查您是否正在运行粘贴在此处的相同代码。