其他分享
首页 > 其他分享> > Selenium框架学习

Selenium框架学习

作者:互联网

Selenium框架学习

参考资料:https://www.cnblogs.com/yyoba/p/12048866.html

一、简介

Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),[Mozilla Firefox](https://baike.baidu.com/item/Mozilla Firefox/3504923),SafariGoogle ChromeOpera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成[ .Net](https://baike.baidu.com/item/ .Net/156737)、JavaPerl等不同语言的测试脚本。

二、HelloWorld

1. 打开浏览器

/**
 * @Description: 第一个web自动化测试类
 * @date:2021/4/5 上午10:28
 * @author:Daniel
 */
public class FirstWebTest {

    public static void main(String[] args) {
        openChrome();
    }

    /**
     * 打开Chrome浏览器
     */
    public static void openChrome() {
        // 1. 加载Chrome浏览器驱动
        System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver");
        // 2. 打开chrome浏览器
        ChromeDriver driver = new ChromeDriver();
        // 3. 访问百度
        driver.get("https://www.baidu.com");
    }
}

2. 基本元素定位

在这里插入图片描述

/**
 * @Description: 基本元素定位
 * @date:2021/4/5 上午10:58
 * @author:Daniel
 */
public class ElementLocate {
    private static ChromeDriver chromeDriver;

    public static void main(String[] args) {
        openChrome();
        // 定位百度的搜索框元素,并且输入数据(ID定位)   -- 唯一的
        //chromeDriver.findElement(By.id("kw")).sendKeys("天气预报");

        // 定位百度的搜索框元素,并且输入数据(Name定位) -- 重复
        //chromeDriver.findElement(By.name("wd")).sendKeys("王冰冰");

        // 定位百度的搜索框元素,并且输入数据(className定位) -- 会有复合类名问题,一般不用
        //chromeDriver.findElement(By.className("ipt_rec")).sendKeys("王冰冰");

        // 定位"新闻元素",并且点击(LinkText定位) -- 超链接的完整文本
        chromeDriver.findElement(By.linkText("新闻")).click();
    }
    

    /**
     * 打开Chrome浏览器
     */
    public static void openChrome() {
        // 1. 加载Chrome浏览器驱动
        System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver");
        // 2. 打开chrome浏览器
        chromeDriver = new ChromeDriver();
        // 3. 访问百度
        chromeDriver.get("https://www.baidu.com");
    }
}

3. 元素操作API

  1. click( ) 触发当前元素的点击事件
  2. clear( ) 清空内容
  3. sendKeys( … ) 往文本框一类元素中写入内容
  4. getTagName( ) 获取元素的标签名
  5. getAttribute(属性名) 根据属性名获取元素的属性值
  6. getText( ) 获取当前元素的文本值
  7. isDisplayed( ) 查看元素是否显示
public class ElementOperate {
    private static ChromeDriver chromeDriver;

    public static void main(String[] args) throws InterruptedException {
        openChrome();
        chromeDriver.findElement(By.id("kw")).sendKeys("123456");
        // 等待3s
        Thread.sleep(3000);
        chromeDriver.findElement(By.id("kw")).clear();
    }
}

4. WebDriver相关API

  1. get(String url) 访问指定url界面
  2. getCurrentUrl( ) 获取当前页面的url地址
  3. getTitle( ) 获取当前页面的标题
  4. getPageSource( ) 获取当前页面源代码
  5. quit( ) 关闭驱动对象以及所有相关的窗口
  6. close( ) 关闭当前窗口
  7. getWindowHandle( ) 返回当前页面句柄
  8. getWindowsHandles( ) 返回所有驱动对象打开页面所有的句柄,页面不同,句柄不一样。
  9. manage( ) 此方法可以获取Options–浏览器操作对象

标签:chromeDriver,浏览器,框架,元素,Selenium,学习,static,findElement,public
来源: https://blog.csdn.net/DDDDeng_/article/details/115441748