Skip to content Skip to sidebar Skip to footer

How To Navigate To New Browser Window Using Partial Title Text Using Either Python, Or Javascript Or Robot Framework And Selenium

During my tests, we need to click on links that open webpages in new tab. In some cases, we see the test fail due to inclusion of multiple space or tab characters in the title text

Solution 1:

Using the below example the custom keyword will use the current browser and then using a pattern search for the tab and select it. If there are more or less than 1 result, it will fail.

*** Settings ***
Library    SeleniumLibrary
Library    Collections

*** Test Cases ***
Select Window Using Partial Title
    Open Browser    http://www.google.com    chrome

    Click Element    link:About    CTRL
    Sleep    5s
    Title Should Be    Google


    Switch Window Using Title Pattern    Over*
    Title Should Be    Over - Google

    [Teardown]    Close Browser

*** Keywords ***


Switch Window Using Title Pattern
    [Arguments]    ${title_pattern}
    ${current_title}    Get Title            # Save the current  tab title
    ${window_titles}    Get Window Titles    # Cycles through the tabs.
    Switch Window       ${current_title}     # Restores the original tab focus

    ${match_count}      Get Match Count    ${window_titles}    ${title_pattern}

    Run Keyword If    '${match_count}'=='0'    Fail    No Browser Tabs found that meet the "${title_pattern}" pattern.
    Run Keyword If    '${match_count}'>'1'    Fail    Too many Browser Tabs found that meet the "${title_pattern}" pattern.

    ${matches}    Get Matches        ${window_titles}    ${title_pattern}   
    Switch Window    ${matches}[0]

Post a Comment for "How To Navigate To New Browser Window Using Partial Title Text Using Either Python, Or Javascript Or Robot Framework And Selenium"