在Robotframework中,如何选择特定的selenium网格节点

时间:2014-04-17 01:54:11

标签: selenium grid selenium-grid robotframework

我有selenium网格与在robotframework中开始的测试中的本地和远程节点一起工作。我不想在机器人测试中控制selenium启动,我只是想让我访问一个使用网关的selenium节点,这是一个被测设备(DUT)。我想基本上在testbed1中的desired_criteria~ = mgmt,testbed1中的client-interface访问特定节点。每个测试台需要一个网格吗?我似乎需要将网格与特定的测试平台相关联,并为管理界面运行另一个selenium。

Client ----------- DUT --------- Server
  node      |       | mgmt interface
192.168/24  |       | 
            |       |
       localhost ---- 10.0.1.1
     hub + node + robot runner

我尝试为客户端节点指定platform = LINUX,为本地节点指定platform = UNIX,而在开放浏览器中不工作。现在尝试使用robotframework_selenium2library,因为我认为这是一个下降!

https://github.com/detro/ghostdriver/blob/master/README.md可能提供一种分离实例的方法,但它仍然是在特定节点上运行的一个实例,如果我在客户端浏览器上禁用firefox并将其用于管理员访问它将给我我需要的东西 - (黑客!黑客!毛球)。

1 个答案:

答案 0 :(得分:1)

解决这个问题的关键是要知道在调用open_browser时要引用的selenium实例,并且可以通过显式引用Selenium远程RC client_web.open_browser或使用关键字集库搜索顺序来控制。

*** Settings ***
Library  SeleniumLibrary  120  ${CLIENT_IP}  ${SELENIUM_SERVER_PORT}  WITH NAME  client_web

*** Variables ***
${MANAGER_BROWSER}   Firefox
${BROWSER}   Firefox

*** Test Cases ***
Verify Two Browsers Using Search Order
    [Setup]  Test Case Setup
    [Tags]  noncritical  
    Set Library Search Order  SeleniumLibrary
    ${wb_index} =  Open Browser  ${DUT}  ${MANAGER_BROWSER}
    Set Library Search Order  client_web
    ${wb_index} =  Open Browser  ${facebook}  ${BROWSER}
    Maximize Browser Window
    Select Window  main
    Wait Until Page Contains  ${page text}  10s
    Log  browser-index:${wb_index}
    Comment  Set suite variable Manager_Browser with call to open specific browser
    [Teardown]  Local Test Case Teardown