輸入
java.awt.AWTException。
輸入
java.awt.Robot。
輸入
java.awt.event.KeyEventの。
インポート
のjava.io.File;
インポート
にjava.io.IOException;
輸入
java.text.SimpleDateFormatの。
輸入
java.util.Date;
輸入
org.openqa.selenium.JavascriptExecutor。
輸入
org.openqa.selenium.TakesScreenshot。
輸入
org.apache.commons.io.FileUtils。
輸入
org.openqa.selenium.By;
輸入
org.openqa.selenium.OutputType。
輸入
org.openqa.selenium.WebDriver;
輸入
org.openqa.selenium.WebElement。
輸入
org.openqa.selenium.chrome.ChromeDriver;
輸入
org.openqa.selenium.firefox.FirefoxDriver;
輸入
org.openqa.selenium.htmlunit.HtmlUnitDriver;
輸入
org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
public
class {
private
static WebDriver webDriver;
private
static WebElement webElement;
private
static Robot robot;
private
static By byelement;
public
void Script (
String script , WebElement element ) {
JavascriptExecutor js=(JavascriptExecutor)webDriver;
if ( element==
null ) {
js.executeScript(script);
}
else {
js.executeScript(script, element);
}
}
public
String ScriptString (
String script ) {
JavascriptExecutor js=(JavascriptExecutor)webDriver;
String s=(
String) js.executeScript(script);
return s;
}
* 初始化
* @param select
* 1:Firefox
* 2:IE
* 3:Chrome
* 4:后台执行
* @param browserpath
* 选择本地浏览路径
*/
public
void Init ( int switchbrowser ,
String browserpath ) {
switch ( switchbrowser ) {
case
1:
System.setProperty (
"webdriver.firefox.bin" , browserpath );
webDriver =
new FirefoxDriver();
webDriver.manage().window().maximize();
break;
case
2:
System.setProperty(
"webdriver.ie.driver", browserpath);
webDriver =
new InternetExplorerDriver();
webDriver.manage().window().maximize();
break;
case
3:
System.setProperty(
"webdriver.chrome.driver", browserpath);
webDriver =
new ChromeDriver();
webDriver.manage().window().maximize();
break;
case
4:
webDriver =
new HtmlUnitDriver();
break;
}
}
protected
void CopyKeys() {
try {
robot =
new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_C);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_C);
}
catch (AWTException e) {
e.printStackTrace();
}
}
protected
void PasteKeys() {
try {
robot =
new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
}
catch (AWTException e) {
e.printStackTrace();
}
}
* 拖拽
* @param by 要多拽的元素
* @param target 目的地
*/
protected
void DragAndDrop ( By by , By target ) {
(
new Actions(webDriver)).dragAndDrop(webDriver.findElement(by), webDriver.findElement(target)).perform();
}
protected
void SendKeys(By by,
String value){
webDriver.findElement(by).sendKeys(value);
}
* 截图
* @param outpath 导出截图后的路径 文件名是以当前时间
*/
public
void GetScreen (
String outpath ) {
File screenShotFile = ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(screenShotFile,
new File ( outpath +
"/" + getSysTime() +
".jpg" ) );
}
catch (IOException e) {
e.printStackTrace();
}
}
* @param by
* @param second 查找需要时间
*/
public
void Wait( final By by , int second ) {
WebDriverWait wait =
new WebDriverWait(webDriver,second);
wait.until(
new ExpectedCondition<WebElement>(){
public WebElement apply(WebDriver d) {
return d.findElement(by);
}
});
}
public
void Start (
String url ) {
webDriver.get( url );
}
public
void Stop () {
webDriver.quit();
}
public
static
String getSysTime(){
SimpleDateFormat filename =
new SimpleDateFormat(
"yyyyMMdd_HHmmss");
return filename.format(
new
Date());
}
public
void Sleep(int millis) {
try {
Thread.sleep(millis);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
public
static WebDriver getWebDriver() {
return webDriver;
}
パブリック静的ボイド setWebDriver(webdriverをwebdriverを){
SeleniumUtil.webDriver = webdriverを。
}
パブリック静的 WebElement getWebElement(){
返す
webElementを。
}
パブリック静的ボイド setWebElement(WebElement webElement){
SeleniumUtil.webElement = webElement。
}
パブリック静的 getByelementにより(){
返す
byelement;
}
パブリック静的ボイド(byelementにより)setByelement {
SeleniumUtil.byelement = byelement。
}
}