selenium的常用操作
webdrivce -打开浏览器、关闭、最大化窗口 //设置chromedriver的启动路径 System.setProperty("webdrivce.chrome.driver",路径); System.setProperty("webdriver.gecko.driver", pathWebdriver_geckodriver); //System.setProperty("webdriver.firefox.bin","D:\\Mozilla Firefox\\firefox.exe");//若浏览器安装不是默认路径 //创建chromedriver对象,实例化对象 WebDriver driver=new ChromeDriver(); //打开网页 //方法一,推荐: drive.get("http://baidu.com"); //方法二: driver.navigate().to("https://www.baidu.com/"); //关闭网页 driver.close(); driver.quit(); //会停止驱动 //窗口最大化 driver.manage().window().maximize(); webdrivce -浏览器窗口大小设定 //创建尺寸对象 Dimension b=new Dimension(600,500); //窗口大小设定 driver.manage().window().setSize(b); 具体操作 //输入内容 WebElement a = driver.findElement(By.id("subject")); a.sendKeys("海德"); //时间等待 Thread.sleep(3000); //select选择 Select aSelect=new Select(driver.findElement(By.id("state"))); aSelect.selectByVisibleText("四川省"); //点击 WebElement b = driver.findElement(By.id("submit")); b.click(); //获取标签内的值 WebElement a = driver.findElement(By.id("search")); String mm1=a.getText(); //获取属性值 WebElement m2 =driver.findElement(By.linkText("我分配的任务")); m2.getAttribute("href"); m2.getAttribute("value"); //断言,两个参数是否一致,错的话会统计出failure错误,用例终止 assertEquals("你", m2.getAttribute("value")); //切换frame driver.switchTo().frame("ueditor_0");//切换iframe driver.switchTo().defaultContent(); //或是 //driver.switchTo().parentFrame(); //wait等待 WebDriverWait wait = new WebDriverWait(driver,10);//最长等待10s wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("kw")));//等待元素 //获取当前网页 driver.getCurrentUrl(); //鼠标停留显示 Actions action = new Actions(driver); WebElement m1=driver.findElement(By.xpath(".//ul[@id='browser']//*[contains(text(),'办公室主任')]")); action.moveToElement(m1).build().perform(); driver.findElement(By.xpath(".//ul[@id='browser']//*[contains(text(),'办公室主任')]/*/*[text()='修改']")).click(); 确定取消弹窗 //确定 ok driver.switchTo().alert().accept(); //取消 cancel driver.switchTo().alert().dismiss(); 滚动到元素位置 WebElement b1=driver.findElement(By.xpath(".//*[@id='dialog-authorize']//*[@id='sub_btn']")); ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", b1); 页面切换: // 1、获得目前所在的句柄 String currentWindow = driver.getWindowHandle(); // 2、获得所有的句柄 Set<String> handles = driver.getWindowHandles(); // 3、切换句柄 Iterator<String> it = handles.iterator(); while (it.hasNext()) { if (currentWindow == it.next()) continue; driver.switchTo().window(it.next()); } //4、在切换后的句柄中进行操作 java自动化用例关联excel表格的数据方式(导入jxl的jar包) String datetime = null; //实例化文件操作流 InputStream instream = new FileInputStream("/Users/Cedar/EDU/test06.xls"); //实例化 读文件的操作对象。并打开文件。 jxl.Workbook readwb = Workbook.getWorkbook(instream); //实例化 工作表(序号从0开始。此处设置的是第2个工作表)的操作对象 Sheet readsheet = readwb.getSheet(1); //实例化 单元格(序号从0开始。此处设置的单元格位置是第2列 第3行)的操作对象 Cell cell = readsheet.getCell(1, 2); //读取 上面这个实例化的单元格内容。内容是字符串类型,然后赋值给一个字符串变量。 datetime = cell.getContents(); //关闭文件 readwb.close(); API封装 公共方法或函数,可以设定返回值,需要的时候导入包就行了