微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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–浏览器操作对象

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐