IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> selenium自动化测试 -> 正文阅读

[开发测试]selenium自动化测试

?chromedriver各版本下载地址

CNPM Binaries Mirrorhttps://registry.npmmirror.com/binary.html?path=chromedriver/需要下载chromedriver.exe驱动程序。

页面元素定位

1. findElement(By.id("su"));// 根据id定位

2. findElement(By.name("wd"));// 根据name属性定位

3. findElement(By.className("s_btn"));// 根据class定位

4. findElement(By.cssSelector("#su"));// 通用,可以使用id、class、组合属性

5. findElement(By.cssSelector(".su"));
sendKeys("腾讯");// 给element做输出,可以理解为设置值

click();// 点击按钮

clear();// 清除内容n

get("https://www.baidu.com")// 访问链接

getText()// 获取元素的文本信息
public class Test {
    public static void main(String[] args) {
     // 设置?chromedriver驱动,chromedriver.exe驱动程序放置的位置                                 
     System.setProperty("webdriver.chrome.driver","src/main/resources/chromedriver.exe");
        // 创建谷歌浏览器驱动会话
        ChromeDriver driver = new ChromeDriver();
        // 访问链接
        driver.get("https://www.baidu.com");
        // 元素定位
        WebElement submit = driver.findElement(By.id("su"));// 根据id定位到百度搜索按钮
        WebElement submit2 = driver.findElement(By.cssSelector("#su"));
        WebElement search = driver.findElement(By.name("wd"));// 根据name定位到百度搜索框

        // 根据标签到百度搜索框,如果存在多个input,默认找到第一个,不推荐使用
        // WebElement search3 = driver.findElement(By.tagName("input"));

        WebElement submit3 = driver.findElement(By.className("s_btn"));// 根据class定位到百度搜索按钮

        // 给element做输出,可以理解为设置值
        search.sendKeys("腾讯");

        submit.click();// 点击按钮
        
        search.clear();// 清除内容

    }
}

?Navigation对象使用

WebDriver.Navigation navigation = driver.navigate();

navigation.to("url");// 访问指定链接

navigation.refresh();// 浏览器刷新

navigation.back();// 浏览器后退操作

navigation.forward();// 浏览器前进操作

硬性、隐式、显示等待?

当我们在自动测试代码中想要获取页面元素定位时,因代码的执行速度太快,而页面还没加载完成时,这时我们想要定位到的元素就无法获取到导致报错无法在进行下去。

解决办法:让进程等待一会,等到页面加载完。

硬性等待

Thread.sleep(3000)

缺点:无法确定页面何时才会加载完成,时间不好控制?。必须等待设置的时间,造成时间上的浪费。

隐式等待

在设置的超时时间范围内不断查找元素,直到查到元素或超时。

driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);

优点:灵活

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

显示等待

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

// 显示等待对象,传入浏览器驱动对象,超时时间
WebDriverWait webDriverWait = new WebDriverWait(driver, Duration.ofSeconds(5));
// 等待条件
webDriverWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("a[text() = '教育']")));
方法等待条件
visibilityOfElementLocated(By b)
页面元素在页面存在并且可见
elementToBeClickable(By b)
页面元素是否在页面上可用和可点击
elementToBeSelected(WebElement e)
页面元素处于被选中状态
textToBePresentInElement(WebElement e, String text)
在页面元素中是否包含特定的文本
presenceOfElementLocated(By b)
页面元素在页面中存在

窗口切换

// 获取到所有窗口句柄
 Set<String> handles = driver.getWindowHandles();
// 对集合窗口进行遍历
for (String handle : handles) {
     // 切换窗口
     driver.switchTo().window(handle);
     // 如果是要切换的目标窗口就结束
     if(driver.getTitle().equals("目标窗口.html")){
         break;
     }
}

select下拉框操作

Select select = new Select(WebElement e);

select.getOptions();// 获取所有选项

select.selectByIndex(index);// 根据索引选择对应元素

select.selectByValue(value);// 选择指定value值对应选项

select.selectByVisibleText(text);// 选择文本值对应的选项
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:24:11  更:2022-09-24 21:25:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 15:36:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码