• 测试--自动化测试selenium


    web自动化–selenium

    了解自动化和selenium

    自动化简介

    在这里插入图片描述

    selenium优点

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

    环境部署

    在这里插入图片描述

    驱动工作原理

    在这里插入图片描述
    在这里插入图片描述
    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();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    public class FirstTest {
        public static void main(String[] args) throws InterruptedException {
            Util u = new Util();
            u.test();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    掌握selenium的基础语法

    元素的定位方法

    css选择器

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

    在这里插入图片描述

    xpath

    在这里插入图片描述
    在这里插入图片描述

    元素的操作

    点击–click、提交–submit

    在这里插入图片描述

    模拟按键输入–send_keys

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

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

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

    获取文本–gettext

    在这里插入图片描述

    等待

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

    强制等待–线程sleep方法

    在这里插入图片描述

    隐式等待

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

    显示等待

    针对某一个元素进行测试

    在这里插入图片描述
    在这里插入图片描述
    【显示和隐式不可一起使用,等待时间无法确定】

    信息的打印

    /**
         * 信息打印
         */
        public void  printTest(){
            String title = this.driver.getTitle();//打印标题
            System.out.println("title" + title);
            String currentUrl = this.driver.getCurrentUrl();
            System.out.println("currentUrl" + currentUrl);//打印
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    窗口

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

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

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

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

    窗口切换–switchTo.window

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

    设置窗口大小–manage.window

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

    在这里插入图片描述

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

    导航–navigate

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

    弹窗–Alert接口

    在这里插入图片描述

    鼠标、键盘的操作–Actions接口

    在这里插入图片描述

    选择框–select接口

    在这里插入图片描述

    文件上传

    在这里插入图片描述

    屏幕截图

    在这里插入图片描述

  • 相关阅读:
    Apache Doris 在小鹅通的应用实践
    HarmonyOS/OpenHarmony(Stage模型)应用开发单一手势(三)
    淘宝sdk,淘宝api接口
    2. MongoDB 应用与开发-安装
    zsh: command not found: bun (已解决)
    uniapp组件库总结笔记
    MSE 风险管理功能发布
    C语言环境变量和错误处理
    2022年11月华南师范大学自考本科计算机信息管理系统加考实践题目
    ESP32设备通信-LoRa通信
  • 原文地址:https://blog.csdn.net/k1159/article/details/125992933