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