测试--自动化测试selenium

web自动化–selenium

了解自动化和selenium

自动化简介

测试--自动化测试selenium_第1张图片

selenium优点

1)开源免费
2)支持多浏览器
3)支持多系统
4)提供很多API
5)支持多语言

环境部署

测试--自动化测试selenium_第2张图片

驱动工作原理

测试--自动化测试selenium_第3张图片
测试--自动化测试selenium_第4张图片
eg.一个简单的自动化

public class Util {
    public void test() throws InterruptedException {
        ChromeDriver driver = new ChromeDriver();
        Thread.sleep(3000);
        driver.get("https://www.baidu.com/");
        driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
        Thread.sleep(3000);
        driver.findElement(By.cssSelector("#su")).click();
        Thread.sleep(3000);
        driver.quit();
    }
}
public class FirstTest {
    public static void main(String[] args) throws InterruptedException {
        Util u = new Util();
        u.test();
    }
}

掌握selenium的基础语法

元素的定位方法

css选择器

driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");

测试--自动化测试selenium_第5张图片

xpath

测试--自动化测试selenium_第6张图片
测试--自动化测试selenium_第7张图片

元素的操作

点击–click、提交–submit

测试--自动化测试selenium_第8张图片

模拟按键输入–send_keys

driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");

清除对象输入的文本内容–clear()

driver.findElement(By.cssSelector("#kw")).sendKeys("喜羊羊");
driver.findElement(By.cssSelector("#kw")).clear();
driver.findElement(By.cssSelector("#kw")).sendKeys("-----");

获取文本–gettext

测试--自动化测试selenium_第9张图片

等待

代码执行速度很快,页面渲染速度相对较慢,故代码需要等待渲染完成,否则页面元素找不到

强制等待–线程sleep方法

测试--自动化测试selenium_第10张图片

隐式等待

在规定的时间范围内。轮询等待元素出现之后立即结束,如果在规定时间仍没出来,抛出异常NoSuchElementException。

测试--自动化测试selenium_第11张图片

显示等待

针对某一个元素进行测试

在这里插入图片描述
测试--自动化测试selenium_第12张图片
【显示和隐式不可一起使用,等待时间无法确定】

信息的打印

/**
     * 信息打印
     */
    public void  printTest(){
        String title = this.driver.getTitle();//打印标题
        System.out.println("title" + title);
        String currentUrl = this.driver.getCurrentUrl();
        System.out.println("currentUrl" + currentUrl);//打印
    }

窗口

在这里插入图片描述
1)获取当前页的句柄–getWindowHandle()

System.out.println(this.driver.getWindowHandle());//获取当前页的句柄,即唯一标识

2)获取所有标签页的句柄 --getWindowHandles()

Set<String> windowHandles = this.driver.getWindowHandles();
        for (String s:windowHandles) {
            System.out.println(s);
        }

窗口切换

switchTo().window("")// ”“中->是目标句柄

设置窗口大小

driver.manage().window().maximize();//最大化
driver.manage().window().minimize();//最小化
driver.manage().window().setSize(new Dimension(1000,800));//自定义,宽   高

在这里插入图片描述

//编译js
driver.executeScript("window.scroll(0,document.body.scrollHeight)");//scrip:置底
driver.executeScript("window.scroll(0,document.body.scrollTop)");//scrip:置顶

导航

driver.navigate().back();//后退
driver.navigate().forward();//前进

弹窗

测试--自动化测试selenium_第13张图片

鼠标、键盘的操作

选择框

文件上传

屏幕截图

你可能感兴趣的:(测试开发,selenium,测试工具,java)