package com.gloryroad.Demo;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Robot对象操作键盘
* @author UC217288
*
*/
public class RobotTestSelenium {
String url="http://www.sogou.com";
public WebDriver driver;
@BeforeMethod
public void setUp(){
driver=new FirefoxDriver();
driver.get(url);
}
@AfterMethod
public void tearDown(){
driver.close();
}
@Test
public void testRobotOperatorMethod(){
WebDriverWait wait=new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.id("query")));
driver.findElement(By.id("query")).click();
sendCtrlVcpBoerd("光荣之路");
pressTabkey();
pressEnterKey();
try {
Thread.sleep(5000);
} catch (Exception e) {
// TODO: handle exception
}
}
/**
* 把数据放到剪贴板上
* @param strings
*/
public void sendCtrlVcpBoerd(String strings)
{
//声明StringSelection对象,
StringSelection sleSelection=new StringSelection(strings);
//使用Toolkit对象的setContents方法将字符串放到剪贴板中去;
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sleSelection, null);
//声明Robot对象
Robot rot=null;
try {
rot=new Robot();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
rot.keyPress(KeyEvent.VK_CONTROL);
rot.keyPress(KeyEvent.VK_V);
rot.keyRelease(KeyEvent.VK_CONTROL);
rot.keyRelease(KeyEvent.VK_V);
}
/**
* 制作Tab键
*/
public void pressTabkey(){
Robot rot=null;
try {
rot=new Robot();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
rot.keyPress(KeyEvent.VK_TAB);
rot.keyRelease(KeyEvent.VK_TAB);
}
/**
* 制作Enter键
*/
public void pressEnterKey(){
Robot rot=null;
try {
rot=new Robot();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
rot.keyPress(KeyEvent.VK_ENTER);
rot.keyRelease(KeyEvent.VK_ENTER);
}
}
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
import java.awt.event.KeyEvent;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Robot对象操作键盘
* @author UC217288
*
*/
public class RobotTestSelenium {
String url="http://www.sogou.com";
public WebDriver driver;
@BeforeMethod
public void setUp(){
driver=new FirefoxDriver();
driver.get(url);
}
@AfterMethod
public void tearDown(){
driver.close();
}
@Test
public void testRobotOperatorMethod(){
WebDriverWait wait=new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.id("query")));
driver.findElement(By.id("query")).click();
sendCtrlVcpBoerd("光荣之路");
pressTabkey();
pressEnterKey();
try {
Thread.sleep(5000);
} catch (Exception e) {
// TODO: handle exception
}
}
/**
* 把数据放到剪贴板上
* @param strings
*/
public void sendCtrlVcpBoerd(String strings)
{
//声明StringSelection对象,
StringSelection sleSelection=new StringSelection(strings);
//使用Toolkit对象的setContents方法将字符串放到剪贴板中去;
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sleSelection, null);
//声明Robot对象
Robot rot=null;
try {
rot=new Robot();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
rot.keyPress(KeyEvent.VK_CONTROL);
rot.keyPress(KeyEvent.VK_V);
rot.keyRelease(KeyEvent.VK_CONTROL);
rot.keyRelease(KeyEvent.VK_V);
}
/**
* 制作Tab键
*/
public void pressTabkey(){
Robot rot=null;
try {
rot=new Robot();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
rot.keyPress(KeyEvent.VK_TAB);
rot.keyRelease(KeyEvent.VK_TAB);
}
/**
* 制作Enter键
*/
public void pressEnterKey(){
Robot rot=null;
try {
rot=new Robot();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
rot.keyPress(KeyEvent.VK_ENTER);
rot.keyRelease(KeyEvent.VK_ENTER);
}
}