Robot Framework 如何从 "Test Cases" 中的库中获取选择器值

How in Robot Framework get selector value from library in "Test Cases"

伙计们。 我是 Robot Framework 的新手,可能我的问题看起来很简单,但我找不到正确的解决方案。

我有一个测试:

*** Settings ***
Documentation  Login Scenarios
Library  ExtendedSelenium2Library
Library  Resources/LoginPage.py
Resource  Resources/Common.robot
Library  Resources/TopMenuPage.py
Suite Setup  Begin Web Test
Suite Teardown  End Web Test

*** Variables ***
${USERNAME}  user
${PASSWORD}  password

*** Test Cases ***
Login With Valid Credentials
  [Documentation]  Login With Valid Credentials
  [Tags]  Functional
  LoginPage.input_username   ${USERNAME}
  LoginPage.input_password   ${PASSWORD}
  LoginPage.click_sign_in_button
  ${test}  TopMenuPage.get_selectors
  page should contain link  ${test['logoutButton']}
  [Teardown]  click link  css=[ng-click="mainCtrl.logout()"]

我有一个我的图书馆 (TopMenuPage.py) 代码:

selectors = {
    "logoutButton": "css=[ng-click=\"mainCtrl.logout()\"]",
    "welcome": "binding=mainCtrl.user.name"
}

class TopMenuPage(object):
    def get_selectors(self):
        return selectors

如何以正确的方式让我的选择器进入测试? 例如:

page should contain link  TopMenuPage.get_selectors['logoutButton']

感谢您的回复。

你不能做 page should contain TopMenuPage.get_selectors['logoutButton'] 因为 page should contain 需要一个字符串作为参数,而不是函数调用。您将需要调用 TopMenuPage.get_selectors 并将结果保存在变量中,然后使用该变量。