机器人框架中如何从“测试用例”中的库中获取选择器值

时间:2017-02-09 16:15:17

标签: robotframework pageobjects

人。 我是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']

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

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