Right Click Context Menu example

We will show how to work with context menu by taking a simple example. In the below example, we will first Right click on the element and the select the required option from the list of values. In the example we have also switched to an alert to verify if we have successfully clicked on the required link by using TestNG asserts

We will take the help of WebDriver action class and perform Right Click. the below is the syntax :

Right click context menu

Actions action = new Actions(driver).contextClick(element);
action.build().perform();
Below are the Steps we have followed in the example:

1. Identify the element
2. Wait for the presence of Element
3. Now perform Context click
4. After that we need to select the required link.

package com.pack.rightclick;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.StaleElementReferenceException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class RightClickExample {

WebDriver driver;

String URL = “http://medialize.github.io/jQuery-contextMenu/demo.html”;

@BeforeClass
public void Setup() {
driver = new FirefoxDriver();
driver.manage().window().maximize();
}

@Test
public void rightClickTest() {
driver.navigate().to(URL);
By locator = By.cssSelector(“.context-menu-one.box”);
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(ExpectedConditions.presenceOfElementLocated(locator));
WebElement element=driver.findElement(locator);
rightClick(element);
WebElement elementEdit =driver.findElement(By.cssSelector(“.context-menu-item.icon.icon-edit>span”));
elementEdit.click();
Alert alert=driver.switchTo().alert();
String textEdit = alert.getText();
Assert.assertEquals(textEdit, “clicked: edit”, “Failed to click on Edit link”);
}

public void rightClick(WebElement element) {
try {
Actions action = new Actions(driver).contextClick(element);
action.build().perform();

System.out.println(“Sucessfully Right clicked on the element”);
} catch (StaleElementReferenceException e) {
System.out.println(“Element is not attached to the page document ”
+ e.getStackTrace());
} catch (NoSuchElementException e) {
System.out.println(“Element ” + element + ” was not found in DOM ”
+ e.getStackTrace());
} catch (Exception e) {
System.out.println(“Element ” + element + ” was not clickable ”
+ e.getStackTrace());
}
}

@AfterClass
public void tearDown() {
driver.quit();
}
}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s