17. Simulate pressing of Multiple Keys (using chord)

One of the nice feature in selenium webdriver is it allows us to simulate pressing of multiple keys using a method called "chord"


Here is the explanation of chord method:

Simulate pressing many keys at once in a "chord". Takes a sequence of Keys.XXXX or strings; appends each of the values to a string, and adds the chord termination key (Keys.NULL) and returns the resultant string. 
In the below example i am going to show how to perform Copy and Paste using Selenium webdriver using Actions + Keys + chord.

Below is scenario:
1. Open https://accounts.google.com/signup
2. Type something in FirstName
3. Copy the content in FirstName field (CTRL+c)
4. Paste same thing in LastName field (CTRL+v

Note: Similar way you can use different keywords.

package Others;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class chord_keyword { 
            public WebDriver driver; 
            @Test
            public void testKeys_Chord() throws Exception {
                        driver.get("https://accounts.google.com/signup");
                        //Element definitions for FirstName and LastName
                        WebElement txtFName=driver.findElement(By.name("FirstName"));
                        WebElement txtLName=driver.findElement(By.name("LastName"));
                        //Type "webdriver" in First Name
                        txtFName.sendKeys("webdriver");
                        //Create an object for Actions Class
                        Actions a = new Actions(driver);
                        //select the value which is typed in FirstName field
                        a.sendKeys(txtFName, Keys.chord(Keys.CONTROL,"a")).perform();
                        //Performing copy action using CTRl+C
                        a.sendKeys(Keys.chord(Keys.CONTROL,"c")).perform();
                        //Performing paste action using CTRL+V in LastName field
                        a.sendKeys(txtLName, Keys.chord(Keys.CONTROL,"v")).perform();
                        Thread.sleep(2000);
            }

            @BeforeClass
            public void beforeClass()
            {
                        System.setProperty("webdriver.chrome.driver", "D:\\Softwares\\chromedriver_win32\\chromedriver.exe");   
                        driver = new ChromeDriver();
                        driver.manage().window().maximize();
                        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            }

            @AfterClass
            public void afterClass() throws Exception
            {
                        driver.quit();
            }

}

3 comments:

  1. thanks sharing valuable concepts of selenium and thanks for all efforts :)

    ReplyDelete
  2. hi does keys.chord work in Chrome? I use version 83

    ReplyDelete
  3. I have been searching for a useful post like this on salesforce course details, it is highly helpful for me and I have a great experience with this Salesforce Training who are providing certification and job assistance. Salesforce institute training in Gurgaon

    ReplyDelete