Summary -

In this topic, we described about the below sections -

In this article, we are going to use the recording feature of Selenium IDE to create a new script. With Selenium IDE, together with recording steps, we can manually add test steps as well.

In general, the test script creation process in Selenium IDE can be classified into four steps -

  • Recording (recording user interactions with the browser).
  • Saving the test suite.
  • Playing back (executing the recorded script).
  • Exporting Test Script.

Let follow the steps one by one to create the first test case of opening "youtube" from google search page -

Recording

Launch Firefox/Chrome browser. Click on the Selenium icon (SE) present on the top right corner of the browser.

First Test Case

It launches the default Selenium IDE interface.

First Test Case

Click on "Create a new project" to create test project.

First Test Case

Enter the name of the project as "TcIdeFirstProject" and click on "Ok.

First Test Case

Navigate to test case panel, Right click on "Untitled" and click on "Rename" option to rename the test case.

First Test Case

Enter the test case name as "open youtube" and click on "Rename" button.

First Test Case

Click on the "Recording" Button present on the top right corner on the IDE to start recording the test case.

First Test Case

It opens the below popup if the project is creating first time.

First Test Case

Enter the base URL and click on "Start Recording" button.

First Test Case

Note! The above two steps are not always shown and only displays when creating the project for the first time.

It opens the Firefox with the base URL like below -

First Test Case

Type "Youtube" in the Google search box and hit "Enter" button to get the search results.

First Test Case

Click on the link "Youtube" provided under the URL https://www.youtube.com It redirects to the Youtube's home page.

First Test Case

During the process, we get the actions notifications performed by the IDE at the bottom right corner of web browser.

Now, go the IDE and click on the "Recording" button to stop recording of the actions.

First Test Case

The Test Editor box now contains the list of all interactions with the browser we made. Now, check all the browser actions made and proceed to the next step of saving the script.

Saving the test suite

Click on the save button present on the right top corner of the menu bar.

First Test Case

Save the entire test suite as "TcIdeFirstProject".

First Test Case

Note! The saved test script is saved in .side format. The test suite can be found at the local disk at the location provided in the above steps.
First Test Case

Playing Back

Click on the "Run Current Test" button exists on the tool bar menu of the IDE.

First Test Case

It executes all interactions with the browser and gives an overall summary of the executed test script.

First Test Case

The Log panel displays the overall summary of the executed test scripts.

First Test Case

Export Test Script

There is no file menu present in the latest version of Selenium IDE interface. So the Export option moved to the test suit box.

Follow the below steps, to export the test case in different languages from selenium IDE -

To see the "Export" option, right click on the test case name or click on "three dots" beside the test case name.

First Test Case

After click on the export button, one pop-up window gets opened and ask to select one of the programming languages like below.

First Test Case

Select one of the language options, check the comment options if required and click on the "EXPORT" button.

First Test Case

Export test case file to the local system and save it with a specific name (as you wish).

First Test Case

After saving the exported file to the local system, open the file with "notepad" or "Notepad++" option to verify the code.

First Test Case

The saved test script looks like below in java language.

First Test Case

// Generated by Selenium IDE
import org.junit.Test; 
import org.junit.After; 
import static org.junit.Assert.*; 
import static org.hamcrest.CoreMatchers.is; 
import static org.hamcrest.core.IsNot.not;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Alert;
import org.openqa.selenium.Keys;
import java.util.*;
import java.net.MalformedURLException; 
import java.net.URL; 
 
public class OpenYoutubeTest {
    private WebDriver driver; 
    private Map vars; 
    JavascriptExecutor js;
    
    @Before  
    public void setUp() { 
        driver = new FirefoxDriver();             
        js= (JavascriptExecutor) driver; 
        vars = new HashMap();
    }
    
    @After 
    public void tearDown() { 
        driver.quit(); 
    } 
    
    @Test 
    public void openYoutube() {  
        driver.get("https://www.google.com/"); 
        driver.manage().window().setSize(new Dimension(1100, 829));  
        driver.findElement(By.name("q")).click();
        driver.findElement(By.name("q")).sendKeys("youtube"); 
        driver.findElement(By.name("q")).sendKeys(Keys.ENTER);
        driver.findElement(By.cssSelector(
                ".g > div > .rc .LC20lb")).click();  
        {      
            WebElement element = driver.findElement(
                By.cssSelector(".ytd-rich-grid-renderer:nth-child(5)
                > #content #thumbnail #img"));  
            Actions builder = new Actions(driver);  
            builder.moveToElement(element).perform();
        }   
        { 
            WebElement element = driver.findElement(By.tagName("body"));
            Actions  builder  = new  Actions(driver); 
            builder.moveToElement(element,  0, 0).perform();
        } 
    } 
} 
      

Note! The above process test case is created with Firefox. Similarly, we can use chrome to create test case. However, the only difference is launching Chrome instead of launching Firefox and remaining process is same for both.