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端自动化测试学习等..

全部评论
学习
1 回复 分享
发布于 02-11 14:14 湖南

相关推荐

评论
点赞
1
分享
牛客网
牛客企业服务