Java自动化测试(webdriver常用API 24)

时间:2022-07-24
本文章向大家介绍Java自动化测试(webdriver常用API 24),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

元素基本API

click

触发当前元素的点击事件

driver.get("https://www.ketangpai.com/");
WebElement element = driver.findElement(By.xpath("//a[text()='教师培训']"));
element.click();

clear

清空内容

sendKeys

  1. 往文本框一类元素中写入内容
  2. 按键操作
element.sendKeys(Keys.CONTROL,"a"); // ctrl+a
element.sendKeys(Keys.ENTER); // 回车
element.sendKeys(Keys.BACK_SPACE); // 删除

getTagName

获取元素的标签名

getAttribute

根据属性名获取元素属性

getText

获取当前元素的文本值

isDisplayed

查看元素是否显示

isEnabled

查看元素是否可用

isSelected

查看元素是否选中

webdriver常用api

get(String url)

访问指定url

getCurrentUrl

获取当前页面地址

getTitle

获取当前页面标题

getPageSource

获取当前页面源码

quit

关闭驱动对象以及所有相关的窗口

close

关闭当前窗口

关于浏览器的基本功能操作,大部分由navigate对象提供

Navigation navigation = driver.navigation();

to

访问指定的url地址

navigation.to(url);

refresh

刷新当前页面

navigation.refresh();

back

浏览器回退操作

navigation.back();

forward

浏览器前进操作

navigation.forward();

windows基本操作

关于窗口的设置,基本都是由windows对象提供的

Window windows = driver.manage().window();

maximize

最大化

getPostition

窗口位置

getSize

窗口大小

setPosition

设置位置

setSize

设置窗口大小

WebDriver.Window window = driver.manage().window();
// 最大化
window.maximize();
// 全屏
window.fullscreen();
// 获取位置
window.getPosition();
// 获取大小
window.getSize();

等待

硬性等待

单位毫秒

Thread.sleep()

优点:使用简单

缺点:容易造成时间浪费

隐式等待

在设置的超时时间范围内不断查找元素,知道找到元素或者超时

driver.manage().timeouts().implicitlyWait(long time,TimeUnit unit)

优点:相对灵活

缺点:设置是针对全局的,在WebDriver实例整个生命周期有效,但并不是所有的元素都需要等待

不能适用更复杂的情况如:元素可点击,元素可见

// 隐式等待3秒
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

显示等待

自定义一段代码,用来等待某个条件发生后再继续执行后续代码(如:找到元素,元素可点击,元素已显示)

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement username = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("username")));

优点:每隔一段时间扫描一次页面,检查元素是否满足等待结果条件,比如查找元素,则检查元素是存在,不存在则继续等待,直到找到或超时。

该方法不是全局设置,特定需要等待的元素可以这样设置

  • presenceOfElementLocated:页面元素在页面中存在
  • visibilityOfElementLocated:页面元素在页面存在并且可见
  • elementToBeClickable:页面元素是否在页面上可用和可被点击
  • frameToBeAvailableAndSwitchTolt:切换到iframe中,返回boolean类型
  • urlContains:当前页面的url包含特定文本
  • titleContains:当前页面title包含特定文本