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
- 往文本框一类元素中写入内容
- 按键操作
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对象
关于浏览器的基本功能操作,大部分由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包含特定文本
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Android使用DrawerLayout实现双向侧滑菜单
- Android实现3D推拉门式滑动菜单源码解析
- Android编程处理窗口控件大小,形状,像素等UI元素工具类
- Android开发实现的Log统一管理类
- Android中可以作为Log开关的一些操作及安全性详解
- 实例详解Android Webview拦截ajax请求
- Android给布局、控件加阴影效果的示例代码
- XListView实现下拉刷新和上拉加载原理解析
- Android实现QQ侧滑(删除、置顶等)功能
- Android通过XListView实现上拉加载下拉刷新功能
- Android自定义View实现圆形切图效果
- Android仿iOS侧滑退出当前界面功能
- android仿支付宝密码输入框效果
- TextInputLayout输入框控件的悬浮标签
- android使用SwipeRefreshLayout实现ListView下拉刷新上拉加载