Selenium+Java——测试Web端的方法集合(三)
10、检查
//1.检查元素是否显隐 WebElement element = driver.findElement(By.id("elementId")); boolean state = ele.isDisplayed(); assert state:"True" //2.检查元素是否使能 WebElement element = driver.findElement(By.id("elementId")); boolean state = ele.isEnabled(); assert state:"True" //3.检查元素是否选中 WebElement element = driver.findElement(By.id("elementId")); boolean state = ele.isSelected(); assert state:"True" //4.检查元素集合数量 <WebElement> listElements = listContainer.findElements(By.tagName("li")); int listSize = listElements.size(); assertEquals(listSize,期待值); //5.检查元素文本 WebElement element = driver.findElement(By.xpath("//xpath-expression")); String text = element.getText(); assert text.equals("expected text") : "文本不匹配"; System.out.println("文本匹配"); //6.检查元素不为空 WebElement element = driver.findElement(By.id("element-id")); assertNotNull(element); //7.检查元素颜色 WebElement element = driver.findElement(By.id("element-id")); String textRBGA=element.getCssValue("color").replace(" ","").toString(); assertEquals(expectedRBGA, textRBGA); //8.检查元素背景颜色 WebElement element = driver.findElement(By.id("element-id")); String backgroundRBGA=element.getCssValue("background-color").replace(" ","").toString(); assertEquals(expectedRBGA, backgroundRBGA); //利用断言(Assertion)断言 assertEquals(expected, actual);//assertEquals(): 用于验证两个值是否相等 assertTrue(age > 18);//assertTrue(): 用于验证某个条件是否为真 assertFalse(flag);//assertFalse(): 用于验证某个条件是否为假
11、切换网页句柄或者网页上的iframe(内嵌框架)
//1.获取当前窗口句柄 String currentWindowHandle = driver.getWindowHandle(); //2.获取所有窗口句柄 Set<String> allWindowHandles = driver.getWindowHandles(); //3.切换到指定窗口句柄 String currentWindowHandle = driver.getWindowHandle();// 保存当前窗口的句柄 for (String windowHandle : allWindowHandles) { if (!windowHandle.equals(currentWindowHandle)) { driver.switchTo().window(windowHandle); } } //4.切换回原始窗口句柄 driver.switchTo().window(currentWindowHandle); //5.关闭指定窗口句柄 driver.close(); /*----------------------------------------------------------------------------------------------*/ //1.切换到 iframe WebElement iframeElement = driver.findElement(By.id("iframe")); driver.switchTo().frame(iframeElement); //2.切换回默认内容 driver.switchTo().defaultContent(); //3.切换到嵌套的 iframe(连续切换) WebElement outerIframe = driver.findElement(By.id("outer-iframe")); driver.switchTo().frame(outerIframe); WebElement innerIframe = driver.findElement(By.id("inner-iframe")); driver.switchTo().frame(innerIframe); //4.切换回父级 iframe(parent frame) driver.switchTo().parentFrame();
12、网页弹出窗
使用 Alert 接口来处理网页上的弹出框(alert、confirm 和 prompt)
//1.切换到alert driver.switchTo().alert(); //2.获取弹出框的文本内容 Alert alert = driver.switchTo().alert(); String alertText = alert.getText(); System.out.println("Alert Text: " + alertText); //3.接受(点击确定)弹出框 Alert alert = driver.switchTo().alert(); alert.accept(); //4.取消(点击取消)弹出框 Alert alert = driver.switchTo().alert(); alert.sendKeys("Your input text"); alert.accept(); //5.处理异常情况:如果页面上没有弹出框,直接切换到弹出框会抛出 NoAlertPresentException 异常,可以通过捕获该异常来处理 try { Alert alert = driver.switchTo().alert(); // 处理弹出框 } catch (NoAlertPresentException e) { System.out.println("No alert present"); }
如果有写的不对或者有追加的地方欢迎补充私聊
#测试##自动化测试##selenium#自动化测试学习 文章被收录于专栏
记录工作中的自动化测试学习内容,例如:手机自动化测试学习,web端自动化测试学习等..