前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java自动化测试(webdriver常用API 24)

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

作者头像
zx钟
发布2020-09-04 11:24:49
6520
发布2020-09-04 11:24:49
举报
文章被收录于专栏:测试游记测试游记

元素基本API

click

触发当前元素的点击事件

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

clear

清空内容

sendKeys

  1. 往文本框一类元素中写入内容
  2. 按键操作
代码语言:javascript
复制
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对象提供

代码语言:javascript
复制
Navigation navigation = driver.navigation();

to

访问指定的url地址

代码语言:javascript
复制
navigation.to(url);

refresh

刷新当前页面

代码语言:javascript
复制
navigation.refresh();

back

浏览器回退操作

代码语言:javascript
复制
navigation.back();

forward

浏览器前进操作

代码语言:javascript
复制
navigation.forward();

windows基本操作

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

代码语言:javascript
复制
Window windows = driver.manage().window();

maximize

最大化

getPostition

窗口位置

getSize

窗口大小

setPosition

设置位置

setSize

设置窗口大小

代码语言:javascript
复制
WebDriver.Window window = driver.manage().window();
// 最大化
window.maximize();
// 全屏
window.fullscreen();
// 获取位置
window.getPosition();
// 获取大小
window.getSize();

等待

硬性等待

单位毫秒

代码语言:javascript
复制
Thread.sleep()

优点:使用简单

缺点:容易造成时间浪费

隐式等待

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

代码语言:javascript
复制
driver.manage().timeouts().implicitlyWait(long time,TimeUnit unit)

优点:相对灵活

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

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

代码语言:javascript
复制
// 隐式等待3秒
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

显示等待

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

代码语言:javascript
复制
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包含特定文本
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试游记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 元素基本API
    • click
      • clear
        • sendKeys
          • getTagName
            • getAttribute
              • getText
                • isDisplayed
                  • isEnabled
                    • isSelected
                    • webdriver常用api
                      • get(String url)
                        • getCurrentUrl
                          • getTitle
                            • getPageSource
                              • quit
                                • close
                                • navigate对象
                                  • to
                                    • refresh
                                      • back
                                        • forward
                                        • windows基本操作
                                          • maximize
                                            • getPostition
                                              • getSize
                                                • setPosition
                                                  • setSize
                                                  • 等待
                                                    • 硬性等待
                                                      • 隐式等待
                                                        • 显示等待
                                                        领券
                                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档