您的位置:首页 > 其它

Selenium自动测试工具-WebDriver

2017-09-30 23:11 330 查看

WebDriver API

1、打开浏览器访问指定链接

@Test
public void toUrl(){
System.setProperty("webdriver.firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
driver=new FirefoxDriver();
//两种访问链接方式
driver.get("http://192.168.100.2:8080");
driver.navigate().to("http://192.168.100.2:8080");
}


2、页面元素定位

public void findElement(){
driver.navigate().to("");
//通过id定位元素
WebElement element = driver.findElement(By.id(""));
//通过name定位元素
WebElement element2 = driver.findElement(By.name(""));
//通过class定位元素
WebElement element3 = driver.findElement(By.className(""));
//页面可能有多个class元素,可获取所有符合条件的元素,再进一步定位
WebElement element4 = driver.findElements(By.className("")).get(0);
//通过xpath定位元素
WebElement element5 = driver.findElement(By.xpath(""));
//通过超链接定位元素
WebElement element6 = driver.findElement(By.linkText(""));
}


3、文本框文本输入

WebElement input = driver.findElement(By.name("username"));
//清空文本框的值
input.clear();
//在文本输入框输入值
input.sendKeys("12345");


4、单击、双击

//通过name获取链接
WebElement link = driver.findElement(By.id("submit"));
//单击
link.click();
//双击
Actions builder = new Actions(driver);
builder.doubleClick(link).build().perform();


5、浏览器最大化

driver.manage().window().maximize();


6、刷新、后退、前进

driver.navigate().to("http://192.168.100.6:8099");
driver.navigate().to("http://192.168.100.2:8080");
//刷新
driver.navigate().refresh();
Thread.sleep(2000);
//回退
driver.navigate().back();
Thread.sleep(2000);
//前进
driver.navigate().forward();


7、操作下拉列表

@Test
//测试下拉列表
public void select() throws Exception{
driver.navigate().to("http://192.168.100.2:8080");
//获取下拉列表
Select selectList = new Select(driver.findElement(By.id("roleId")));
Thread.sleep(2000);
//通过序号选择
selectList.selectByIndex(1);
Thread.sleep(2000);
//通过文本选择
selectList.selectByVisibleText("管理员登录");
Thread.sleep(2000);
//通过值选择
selectList.selectByValue("3");
//获取选中列表选项的值
String test = selectList.getFirstSelectedOption().getText();
System.out.println(test);
}


8、操作单选框

WebElement radio = driver.findElement(By.id(""));
//单选框是否选中
if(!radio.isSelected()){
//选中单选框
radio.click();
}


9、操作复选框

WebElement box = driver.findElement(By.xpath(""));
Thread.sleep(2000);
//复选选框是否选中
if(!box.isSelected()){
//选中复选框
box.click();
Thread.sleep(2000);
//再次点击则取消复选框选中状态
box.click();
}


10、截屏

driver.navigate().to("http://192.168.100.2:8080");
File screen = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(screen, new File("D://tmp.png"));


11、执行js脚本

driver.navigate().to("http://192.168.100.2:8080");
//执行javascript
JavascriptExecutor js=(JavascriptExecutor) driver;
String title = (String) js.executeScript("var link=document.getElementById('lnkDownList');return link.href;");
System.out.println(title);


12、拖拽页面元素

WebElement link = driver.findElement(By.name(""));
Actions builder = new Actions(driver);
//向右向下拖拽10个像素
builder.dragAndDropBy(link, 10, 10).build().perform();


13、模拟键盘

driver.navigate().to("http://192.168.100.2:8080");
WebElement link = driver.findElement(By.id("username"));
Actions builder = new Actions(driver);
//按下ctrl键
builder.keyDown(Keys.CONTROL);
//释放ctrl键
builder.keyUp(Keys.CONTROL);
//按下SHIFT键
builder.keyDown(Keys.SHIFT);
builder.keyUp(Keys.SHIFT);
//输入大写ABCDEF
builder.keyDown(link, Keys.SHIFT).sendKeys("abcdef").perform();


14、模拟鼠标右击

driver.navigate().to("http://192.168.100.2:8080");
WebElement link = driver.findElement(By.id("username"));
Actions builder = new Actions(driver);
//鼠标右击
builder.contextClick(link).build().perform();


15、鼠标悬停

driver.navigate().to("");
WebElement link = driver.findElement(By.id(""));
Actions builder = new Actions(driver);
builder.moveToElement(link).build().perform();


16、鼠标单击左键和释放

driver.navigate().to("");
WebElement link = driver.findElement(By.id(""));
Actions builder = new Actions(driver);
builder.clickAndHold(link).build().perform();
builder.moveByOffset(10, 10);
builder.release(link);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: