Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
tutorial:scripting_state_model [2020/07/17 21:26]
admin [Initialization scripts]
tutorial:scripting_state_model [2020/11/25 21:33]
admin [Web App Automation]
Line 112: Line 112:
    $SYS.log('Random phone#: ' + $RANDOM.randPhone('999-999-9999') );    $SYS.log('Random phone#: ' + $RANDOM.randPhone('999-999-9999') );
        
 +==== Web App Automation====
 +For test automation, for example web application you would activate //Selenium// plugin.  Once you have the plugin activated, you will be able to use //$SELENIUM// to interact with your web application through //Selenium/WebDriver//
 +
 +For example:
 +
 +   $SELENIUM.getWebDriver().findElement(org.openqa.selenium.By.id('Water').click();
 +
 +=== Page Object===   
 +You could also use //PAGES// tab to define page object:
 +   //PAGES Script
 +   import org.openqa.selenium.By;
 +   mainPage = $SYS.addPage('MainPage')
 +   elem = mainPage.addElement('DrinkWater', By.id('Water'))
 +   elem.addAction('click', { elem, params ->
 +      $SELENIUM.getWebDriver().findElement(elem.locator).click();
 +   })
 +   
 +Then in //TRIGGERS// tab, you can do this:
 +   $SYS.page('MainPage').element('DrinkWater').perform('click');
 +   
 +=== Find Element Locator ===
 +Web element locator can be xpath, css or by id, etc. as supported by //Selenium//.
 +
 +There are many browser add-on/extension tools that can help you find locators for web element very easily.  Check out [[../externalsources | External Sources]] for a list of such tools.
 + 
 ===== User variables ===== ===== User variables =====
  
Line 166: Line 191:
  
 ===== Initialization scripts ===== ===== Initialization scripts =====
-Often times you may want to pass some configuration settings to your model scripts, for example, the AUT url which might change depending on if you are running your model against your development environment or QA environment +Often times you may want to pass some configuration settings to your model scripts, for example, the AUT url which might change depending on if you are running your model against your development environment or QA environment or for this tutorial, maybe we want to change the threshold value of the random number the system must generate -  which we have hard-coded to 5. 
  
 You could certainly accomplish this by setting //Environment Variable// via //$SYS.getEnvVar(...)// However a better option is to set a user variable for which the initial value can be set dynamically before the model execution starts.   //Initialization scripts// accomplishes just that. You could certainly accomplish this by setting //Environment Variable// via //$SYS.getEnvVar(...)// However a better option is to set a user variable for which the initial value can be set dynamically before the model execution starts.   //Initialization scripts// accomplishes just that.