webDriver(2)API
祈雨的笔记
·
2018-02-23
·
via 祈雨的笔记
1、打开浏览器访问指定链接
1 2 3 4 5 6 7 8
| @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/TrainingSystem/index"); driver.navigate().to("http://192.168.100.2:8080/TrainingSystem/index"); }
|
2、页面元素定位
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 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、文本框文本输入
1 2 3 4 5
| WebElement input = driver.findElement(By.name("username")); //清空文本框的值 input.clear(); //在文本输入框输入值 input.sendKeys("12345");
|
4、单击、双击
1 2 3 4 5 6 7 8
| //通过name获取链接 WebElement link = driver.findElement(By.id("submit")); //单击 link.click(); //双击 Actions builder = new Actions(driver); builder.doubleClick(link).build().perform();
|
5、浏览器最大化
1
| driver.manage().window().maximize();
|
6、刷新、后退、前进
1 2 3 4 5 6 7 8 9 10
| driver.navigate().to("http://192.168.100.6:8099/tasklist_unfinished/"); driver.navigate().to("http://192.168.100.2:8080/TrainingSystem/index"); //刷新 driver.navigate().refresh(); Thread.sleep(2000); //回退 driver.navigate().back(); Thread.sleep(2000); //前进 driver.navigate().forward();
|
7、操作下拉列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| driver.navigate().to(""); //获取下拉列表 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、操作单选框
1 2 3 4 5 6
| WebElement radio = driver.findElement(By.id("")); //单选框是否选中 if(!radio.isSelected()){ //选中单选框 radio.click(); }
|
9、操作复选框
1 2 3 4 5 6 7 8 9 10
| WebElement box = driver.findElement(By.xpath("")); Thread.sleep(2000); //复选选框是否选中 if(!box.isSelected()){ //选中复选框 box.click(); Thread.sleep(2000); //再次点击则取消复选框选中状态 box.click(); }
|
10、截屏
1 2 3
| driver.navigate().to("http://192.168.100.2:8080/TrainingSystem"); File screen = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(screen, new File("D://tmp.png"));
|
11、执行js脚本
1 2 3 4 5
| driver.navigate().to("http://192.168.100.2:8080/TrainingSystem"); //执行javascript JavascriptExecutor js=(JavascriptExecutor) driver; String title = (String) js.executeScript("var link=document.getElementById('lnkDownList');return link.href;"); System.out.println(title);
|
12、拖拽页面元素
1 2 3 4
| WebElement link = driver.findElement(By.name("")); Actions builder = new Actions(driver); //向右向下拖拽10个像素 builder.dragAndDropBy(link, 10, 10).build().perform();
|
13、模拟键盘
1 2 3 4 5 6 7 8 9 10 11 12
| driver.navigate().to("http://192.168.100.2:8080/TrainingSystem/"); 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、模拟鼠标右击
1 2 3 4 5
| driver.navigate().to("http://192.168.100.2:8080/TrainingSystem/"); WebElement link = driver.findElement(By.id("username")); Actions builder = new Actions(driver); //鼠标右击 builder.contextClick(link).build().perform();
|
15、鼠标悬停
1 2 3 4
| driver.navigate().to(""); WebElement link = driver.findElement(By.id("")); Actions builder = new Actions(driver); builder.moveToElement(link).build().perform();
|
16、鼠标单击左键和释放
1 2 3 4 5 6
| 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);
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。