Wednesday, June 26, 2024

Common Keyboard Operations Using Actions Class

Common Keyboard Operations Using Actions Class

In Selenium WebDriver, the Actions class can be used to perform various keyboard operations. The Actions class provides methods to interact with keyboard keys, allowing you to perform complex actions such as key press and release, sending keys to elements, and combining multiple key actions.

·  Key Down: Press and hold a key.

·  Key Up: Release a key.

·  Send Keys: Send a sequence of keys to an element.

·  Combining Key Actions: Combine multiple key actions such as Ctrl+C (copy), Ctrl+V (paste), etc.

 

 

package ActionsBasics;

 

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;

 

public class KeyBoardRelatedOpertaions1 {

 

            public static void main(String[] args) throws InterruptedException {

//                    

                        System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");

                        // . Represents current project folder name

 

                        //                     //open chrome browser

                        WebDriver  driver =  new ChromeDriver();               

               driver.get("file:///C:/brahma/Practise/SelniumPractiseNew/SampleWebpage.html");                       

 

 

                        // Move mouse over 'first name' text box and click and send some  data

                        //    1                                        2             3

                        Actions act  = new Actions(driver);

                        WebElement firstNameTxtBoxEle=  driver.findElement(By.id("fid"));

                        act.moveToElement(firstNameTxtBoxEle).click().sendKeys("Rama").perform();

 

                        Thread.sleep(2000);

                        // press 'tab'  and enter some value in 'new texbox'

                        act.sendKeys(Keys.TAB).perform();

                        Thread.sleep(2000);

 

                        // Send data to currently focussed ele

                        act.sendKeys("Sita").perform();                    

                        Thread.sleep(2000);

 

                        // press tab

                        act.sendKeys(Keys.TAB).perform();

 

                        Thread.sleep(2000);

                        //enter some value in 'last name'     

                        act.sendKeys("Rao").perform();

 

                        // HW press tab  and enter 'rao' in 'MIDDLE NAME' text box

 

                        //HW  press tab and enter 'user -1' in 'user name' field

 

                        ////HW  press tab 2 times and enter 'mercury' in 'new password field

 

 

                        System.out.println("ends");

 

 

 

 

            }

 

}

 

 

 

 

package ActionsBasics;

 

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;

 

public class KeyBoardRelatedOpertaionsTabSpace {

 

            public static void main(String[] args) throws InterruptedException {

//                    

                        System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");

                        // . Represents current project folder name

 

                        //                     //open chrome browser

                        WebDriver  driver =  new ChromeDriver();               

               driver.get("file:///C:/brahma/Practise/SelniumPractiseNew/SampleWebpage.html");                       

 

 

                        // Move mouse over 'first name' text box and click and send some  data

                        Actions act  = new Actions(driver);

                        WebElement firstNameTxtBoxEle=  driver.findElement(By.id("fid"));

                        act.moveToElement(firstNameTxtBoxEle).click().sendKeys("Rama").perform();

 

 

                        // send 'mecrury '  in 'new password field

                        // clicking new password ele  and send data

                        driver.findElement(By.id("pid2")).sendKeys("mercury");                

                        Thread.sleep(2000);

                       

                        // press tab

                        act.sendKeys(Keys.TAB).perform();

 

                        Thread.sleep(2000);              

                        //press "space" btn from keyboard - select male radio button

                        act.sendKeys(Keys.SPACE).perform();

 

                        Thread.sleep(2000);

 

                        // press tab from keyboard -- so focus on Female radio button

                        act.sendKeys(Keys.TAB).perform();

 

                        Thread.sleep(2000);

                        //  Press space from k/b  - to select 'Female' radio btn

                        act.sendKeys(Keys.SPACE).perform();

                        Thread.sleep(2000);

 

                        //HW  press tab and press space button from k/b - selects -'Electronics' chk box

 

 

                        //HW  press tab and press space button from k/b - selects -'Computers' chk box

 

                        //HW  press tab and press space button from k/b - selects -'Civil' chk box

 

                        //HW  press tab  -  focus is on 'Login'  btn   and press Space or Enter button in k/b

 

 

                        System.out.println("ends");

 

            }

 

}

 

 

Dropdown Basics Using Actions class :

Note:

To develop dropdown  --> Select , Option --> Select class, 3 methods

div, ul , li tags -->  to develop dropdown , we cannot use select class to select the value in dropdown

                       

Handling Multi Select dropdown using Actions class?

 

HW Select 'Maruthi'  and audi'  cars in Multi Select dropdown ?

note:  Press control +  click 'Maruthi'  and Click 'Audi'?

ans:

           

 

// HW  Select all values in Multi Select dropdown?

note:  click on some value in multiselect dropdown  and press ctrl + A

ans:

                       

                       

Press Ctrl A  +  Delete Using Actions Class  (or) Remove the entered value in textbox


package ActionsBasics;

 

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;

 

public class DeleteValFromTextboxUsingActionsClass {

 

            public static void main(String[] args) throws InterruptedException {

                        System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");

                        // . Represents current project folder name

 

                        //                     //open chrome browser

                        WebDriver  driver =  new ChromeDriver();

                        // get("url ") - to open the url in chrome browser

               driver.get("file:///C:/brahma/Practise/SelniumPractiseNew/SampleWebpage.html");

 

 

                        // Enter some data in first name text box

                        driver.findElement(By.id("fid")).sendKeys("Rama");

 

                        Thread.sleep(4000);

 

                        // delete the value from "first name"  text box using "actions" class

                        // note :  assume that clear() - is not working

                        // click in first name textbox and press ctrl + A  and Delete  from k/b

                        Actions act  = new Actions(driver);

                        WebElement  firstNameTxtBoxEle=  driver.findElement(By.id("fid"));

            //act.click(firstNameTxtBoxEle).sendKeys(Keys.CONTROL).sendKeys("A").sendKeys(Keys.DELETE).perform();

                                                                                    //  not working

 

                        //  press contrl, shift,  --  we have to  use  keydown()

                        act.keyDown(Keys.CONTROL).sendKeys("A").keyDown(Keys.DELETE).perform();

 

                        Thread.sleep(3000);

                        System.out.println("removed the value from textbox");

 

                        // Note:  if we use keydown(), we must use keyup() also  else it works differently in next steps

                        // release the pressed control btn from k/b

                        // if dont release ctrl btn,   still control btn is pressed from k/b only

                        act.keyUp(Keys.CONTROL).perform();

 

                        //HW  enter some data in last name,  press control  + A + Delete  from k/b

 

 

 

            }

 

}

 

// press shift 'ramu' – RAMU using Actions class

 

package ActionsBasics;

 

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;

 

public class ShiftRamu {

 

            public static void main(String[] args) throws InterruptedException {

                        System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");

                        // . Represents current project folder name

 

                        //                     //open chrome browser

                        WebDriver  driver =  new ChromeDriver();               

               driver.get("file:///C:/brahma/Practise/SelniumPractiseNew/SampleWebpage.html");           

 

                        //  click first name text box --   shift -ramu  --> RAMU --UpperCase

                        //press shift button

                       

                        Actions act  = new Actions(driver);

                        WebElement  firstNameTxtBoxEle=  driver.findElement(By.id("fid"));

                        act.click(firstNameTxtBoxEle).keyDown(Keys.SHIFT).perform();

                       

                        Thread.sleep(2000);                          

                        //type ramu -

                        act.sendKeys("ramu").perform();

                        Thread.sleep(2000);  

                       

                        // note :  if we use keydown, we have to use keyup() else it performs abnormal operations

//                     as shift button is pressed,  Release shift  button

//                     act.keyUp(Keys.SHIFT).perform();                 

                        //   ok  working

                       

//                     act.sendKeys(Keys.NULL).perform(); // Dont use

                        // note:Performs a modifier key press. Does not release the modifier key - subsequent interactions may assume it's kept pressed. Note that the modifier key is never released implicitly -

                        //either keyUp(theKey) or sendKeys(Keys.NULL) must be called to release the modifier.

 

                        //                                             act.sendKeys(Keys.NULL).perform(); //   not working ?????                  

                       

                        // press tab  and send 'Rao'   

                        act.keyDown(Keys.TAB).sendKeys("Rao").perform();

 

                        // Note : press shft  + tab = contrl goes to/ focus previous element

 

            }

 

}

 


No comments:

Post a Comment

git commands MCQ

 Here are some multiple-choice questions (MCQs) on Git commands relevant for Selenium: 1. Which Git command is used to clone a remote reposi...