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](img/recording-first-test-case1.png)
It launches the default Selenium IDE interface.
![First Test Case](img/recording-first-test-case2.png)
Click on "Create a new project" to create test project.
![First Test Case](img/recording-first-test-case3.png)
Enter the name of the project as "TcIdeFirstProject" and click on "Ok.
![First Test Case](img/recording-first-test-case4.png)
Navigate to test case panel, Right click on "Untitled" and click on "Rename" option to rename the test case.
![First Test Case](img/recording-first-test-case5.png)
Enter the test case name as "open youtube" and click on "Rename" button.
![First Test Case](img/recording-first-test-case6.png)
Click on the "Recording" Button present on the top right corner on the IDE to start recording the test case.
![First Test Case](img/recording-first-test-case7.png)
It opens the below popup if the project is creating first time.
![First Test Case](img/recording-first-test-case8.png)
Enter the base URL and click on "Start Recording" button.
![First Test Case](img/recording-first-test-case9.png)
It opens the Firefox with the base URL like below -
![First Test Case](img/recording-first-test-case11.png)
Type "Youtube" in the Google search box and hit "Enter" button to get the search results.
![First Test Case](img/recording-first-test-case12.png)
Click on the link "Youtube" provided under the URL https://www.youtube.com It redirects to the Youtube's home page.
![First Test Case](img/recording-first-test-case13.png)
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](img/recording-first-test-case14.png)
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](img/save-first-test-case1.png)
Save the entire test suite as "TcIdeFirstProject".
![First Test Case](img/save-first-test-case2.png)
![First Test Case](img/save-first-test-case3.png)
Playing Back
Click on the "Run Current Test" button exists on the tool bar menu of the IDE.
![First Test Case](img/run-first-test-case1.png)
It executes all interactions with the browser and gives an overall summary of the executed test script.
![First Test Case](img/run-first-test-case2.png)
The Log panel displays the overall summary of the executed test scripts.
![First Test Case](img/run-first-test-case3.png)
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](img/export-first-test-case1.png)
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](img/export-first-test-case2.png)
Select one of the language options, check the comment options if required and click on the "EXPORT" button.
Export test case file to the local system and save it with a specific name (as you wish).
![First Test Case](img/export-first-test-case4.png)
After saving the exported file to the local system, open the file with "notepad" or "Notepad++" option to verify the code.
![First Test Case](img/export-first-test-case5.png)
The saved test script looks like below in java language.
![First Test Case](img/export-first-test-case6.png)
// 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();
}
}
}