Forum Discussion

Robert_Williams's avatar
Robert_Williams
New Contributor
11 years ago
Solved

Trying to run the same test (keyword) over multiple pages

Hi, I have a web page I am trying to test, that has multiple pages all slightly different from eachother. There is a large list of features, and each page has a subset of those features.

 

My site has ~50 different configuration pages, that display about 10 features each from the list of around 30 different 'fields'. So for example, one of the pages has name, date, and a data field, while another has only name and data.

 

So if I was to make a test for each page for each field, it would take years. Now I am trying to make a test for a specific feature (like a name field), and make that test dynamic enough that I can run it for each configuration page that happens to have a name field.

 

Ideally i would like to make each test take in a variable that says which page to test, so that I only have to make 30 tests, and then just make a overall test runner so that page 1 can run test a,b, and d .. page 2 run test a, and c.

 

Ok, now for the problem

 

Each test records each click or command with the full path to the page, and I cannot find how to make that a variable

 

Aliases.browser.pageSettingsA.panel.panel.panel2.panel.panelRightSideArea.textbox

|-----------------------------------------|  <- This part needs to be dynamic

 

Am i just missing something, or should these all be script tests (slower to make, but might be what i have to do)?

 

Thanks in advance for the help, and let me know if I didnt explain something well enough.

 

-Robert Williams

  • After a few tries, it turns out you need to only wrap the parameter in the eval() call. 

     

    eval(KeywordTests.SettingsTest.parameters.aliasbase).panel.panel.panel2.panel.panelRightSideArea.textbox

     

     

    THANK YOU for the help by the way, that issue was making me really dread testing this product.

     

    Kind Regards,

     

    -Robert Williams

     

2 Replies

  • Marsha_R's avatar
    Marsha_R
    Icon for Champion Level 3 rankChampion Level 3

    Use a string parameter to pass in the base, for example, call it aliasbase

     

    Then, for your example, you would use this to refer to that particular object:

    eval(keywordtests.yourtestname.parameters.aliasbase.panel.panel.panel2.panel.panelRightSideArea.textbox) 

     

     

     

     

     

     

     

     

     

     

     

     

    • Robert_Williams's avatar
      Robert_Williams
      New Contributor

      After a few tries, it turns out you need to only wrap the parameter in the eval() call. 

       

      eval(KeywordTests.SettingsTest.parameters.aliasbase).panel.panel.panel2.panel.panelRightSideArea.textbox

       

       

      THANK YOU for the help by the way, that issue was making me really dread testing this product.

       

      Kind Regards,

       

      -Robert Williams