Selenium自动测试工具-WebDriver

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);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值