iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Selenium java自动化
  • 910
分享到

Selenium java自动化

seleniumjava自动化 2023-09-11 20:09:10 910人浏览 安东尼
摘要

文章目录 1. Selenium的安装2. 了解自动化和selenium2.1 什么是自动化以及为什么要做2.2为什么选择selenium作为我们的文本自动化工具2.3 环境部署2.4什么驱动

文章目录

1. selenium的安装

2. 了解自动化和selenium

2.1 什么是自动化以及为什么要做

自动化测试能够代替一部分的手工测试。自动化测试能够提高测试效率。
随着功能的增加,版本越来越多,版本回归的压力也越来越大,所以仅仅通过人工测试来回归所有的版本肯定是不现实的,所以我们需要借助自动化来进行回归

2.2为什么选择selenium作为我们的文本自动化工具

选择它肯定是有原因的.

  • 1开源免费
    1. 支持多浏览器。如Chrome、Firefox、IE、edge、Safari…
  • 3)支持多系统。如linuxwindowsMacOS
  • 4)支持多语言。如java、python
    1. selenium包底层有很多可使用的api

2.3 环境部署

  • selenium工具包
  • Chrome浏览器
  • Chromedriver谷歌驱动
  • java版本最低要求8

2.4什么驱动,驱动的工作原理。

汽车有驱动,两轮驱动、四轮驱动 可以让汽车跑起来计算机里也有驱动程序,可以驱动计算机和设备工作起来打开浏览器也需要驱动。
人工测试情况下(人工手动的驱动打开浏览器)自动化来说 ,代码不能够直接打开浏览器,需要借助驱动程序来协助打开浏览器。
代码可以驱使驱动来打开浏览器。
selenium 驱动 浏览器三者之间的关系,如下图:

在这里插入图片描述
如下图,浏览器驱动本质上是一个服务器

在这里插入图片描述

2.5一个简单的自动化演示

需求:打开百度搜索"scdn"提交

    //     public void dilireba() throws InterruptedException {        Thread.sleep(3000);        driver.get("https://www.baidu.com");        driver.findElement(By.CSSSelector("#kw")).sendKeys("csdn");        Thread.sleep(3000);        driver.findElement(By.cssSelector("#su")).submit();        //driver.findElement(By.cssSelector("#su")).click();    }

3. 掌握selenium的基础语法

3.1)元素的定位

    // 需求: 测试定位元素的 方式    public void findElement()    {        // 方式一:        // 定位元素并打印文本信息        String xpath = driver.findElement(By.xpath("//*[@id=\"hotsearch-content-wrapper\"]/li[1]/a/span[2]")).getText();        System.out.println(xpath);        // 方式二:        String css = driver.findElement(By.cssSelector("#hotsearch-content-wrapper > li:nth-child(1) > a > span.title-content-title")).getText();        System.out.println(css);    }

3.2) 元素的操作

    // 元素的操作    // 点击:click    // 提交:submit    // 模拟按键输入:send_keys    // 清楚对象输入的文本内容 : clear()    // 获取文本: gettext    // 获取元素属性: getAttribute()     public void sendkeys_test() throws InterruptedException {        driver.findElement(By.cssSelector("#kw")).sendKeys("" +                "今天天气好啊");        driver.findElement(By.cssSelector("#kw")).click();        Thread.sleep(3000);        driver.findElement(By.cssSelector("#kw")).clear();        Thread.sleep(3000);        driver.findElement(By.cssSelector("#kw")).sendKeys("" +                "明天天气也会好的");        Thread.sleep(2000);    }

3.3)等待

    // 需求: 代码的执行速度比较快,而前端页面渲染的速度相比慢一点,可能导致的结果是: 代码已经提交执行到下一步了,页面还没渲染出来,元素找不到.    // 等待元素被渲染的三种方式:    // 1. 强制等待    //           让程序多等一会, 优点:语法简单 缺点:固定时间,测试时间较长.    // 2. 隐式等待    //           在规定的时间内,轮询等待元素出现之后就立即执行下一步,如果在规定时间内未能完成等待,则会抛出一个 NoSuchElemenExcetion 异常.    //           优点: 节省了大量测试时间,执行效率高.  缺点: 需要等待所有的元素都展开才会执行下一步,仍然会有时间消耗.    // 3. 显示等待    //            强制等待可以针对某一个元素来进行测试.    //            优点: 针对一个元素来进行等待,极大降低自动化测试时间.    //            缺点: 写法较为复杂.    public void wait_test() throws InterruptedException {        // 1. 强制等待        Thread.sleep(3000);        // 2. 隐式等待        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));        // 3. 显示等待        WEBDriverWait foo = new WebDriverWait(driver,Duration.ofSeconds(3));        foo.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#su")));    }

3.4) 信息的打印

    public void getContent_test()    {        String title = driver.getTitle();        System.out.println(title);        String url = driver.getCurrentUrl();        System.out.println(url);    }

3.5) 窗口切换

     public void windows_test() throws InterruptedException {         System.out.println("----第一个窗口------");         String curWinHandle = driver.getWindowHandle();         System.out.println(curWinHandle);         String title = driver.getTitle();         System.out.println(title);         String url = driver.getCurrentUrl();         System.out.println(url);         System.out.println("----第二个窗口------");         // 1.跳转到一个页面         driver.findElement(By.cssSelector("#hotsearch-content-wrapper > li:nth-child(1) > a > span.title-content-title")).click();         Thread.sleep(3000);         // 2.driver不会自动切换,需要我们切换窗口         //  句柄是一个String类型, 获取句柄         Set<String> windows = driver.getWindowHandles();         String window = "";         for(String win : windows)         {             System.out.println(win);             if(win != curWinHandle)             {                 window=win;             }         }         driver.switchTo().window(window);          curWinHandle = driver.getWindowHandle();         System.out.println(curWinHandle);          title = driver.getTitle();         System.out.println(title);          url = driver.getCurrentUrl();         System.out.println(url);     }

3.6) 窗口大小的设置

    public void windowSize_test()    {        driver.manage().window().maximize();        driver.manage().window().minimize();        driver.manage().window().setSize(new Dimension(800,100));    }

3.7) 执行javascript代码

    public void executeScript_test()    {        driver.executeScript("alert(\"hellow world\")");    }

3.8 导航栏

selenium里提供了navigate接口来实现页面的导航

    public void navigate_test() throws InterruptedException {        WebElement webEle = driver.findElement(By.cssSelector("#nav > div > div > ul > li:nth-child(1) > a"));        webEle.click();        Thread.sleep(3000);        // 后退        driver.navigate().back();        Thread.sleep(3000);        // 前进        driver.navigate().forward();        Thread.sleep(3000);            }

注意: driver 的窗口并没有切换.

在这里插入图片描述

3.9 弹窗

    // 用于不能定位到元素时使用    public void alert_test()    {        Alert alert = driver.switchTo().alert(); // 切换到提示弹窗        alert.sendKeys("are you ok");// 输入        alert.accept(); // 接收        alert.dismiss();// 取消    }

3.10 鼠标 键盘 操作

唯一区别就是,能够看到鼠标在移动,有时候没反应的,需要perfORM()执行一下才有效果.

    public void mouseKeysboard_test() throws InterruptedException {        WebElement ele = driver.findElement(By.cssSelector("#xxx"));        Actions actions = new Actions(driver);        actions.clickAndHold(ele).perform();        Thread.sleep(3000);                ele.sendKeys("hhhhhh");    }

3.11 选择框

在这里插入图片描述

    public void select_test() throws InterruptedException {        WebElement ele = driver.findElement(By.cssSelector("#ShippingMethod"));        Select select = new Select(ele);        select.selectByIndex(1); // 通过下标选择        Thread.sleep(3000);        select.selectByValue("10.69"); // 通过元素属性 value来选择        Thread.sleep(3000);        select.selectByVisibleText("UPS 2nd Day Air ==> $9.03");        Thread.sleep(3000);    }

3.12 上传文件

    public void fileUpload_test() throws InterruptedException {        WebElement ele = driver.findElement(By.cssSelector("#选择上传文件"));        ele.sendKeys("本地文件地址");        Thread.sleep(3000);    }

来源地址:https://blog.csdn.net/weixin_58004346/article/details/131305847

--结束END--

本文标题: Selenium java自动化

本文链接: https://www.lsjlt.com/news/403549.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Selenium java自动化
    文章目录 1. Selenium的安装2. 了解自动化和selenium2.1 什么是自动化以及为什么要做2.2为什么选择selenium作为我们的文本自动化工具2.3 环境部署2.4什么驱动...
    99+
    2023-09-11
    selenium java 自动化
  • Selenium自动化测试(基于Java)
    目录 一. 了解Selenium ✅1.1 概念 ✅1.2 作用 ✅1.3 特点 ✅1.4 工作原理  二. Selenium + Java 环境搭建 ✅2.1 下载 Chrome 浏览器 ✅2.2 查看浏览器的版本 ✅2.3 下载浏览器驱...
    99+
    2023-10-01
    selenium 测试工具
  • 【自动化测试】——Selenium (基于java)
    前言 小亭子正在努力的学习编程,接下来将开启软件测试的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ 目录 一、认识Selenium...
    99+
    2023-09-01
    selenium 测试工具
  • Java-Selenium自动化教程(学了不亏)
    selenium 文章目录 seleniumSelenium 是什么?下载驱动参数大全工具类(简化复杂操作)常用方法请求定位标签获取内容判断行为窗口键盘和鼠标结束js执行表单的常用操作选择下拉...
    99+
    2023-09-02
    java selenium 自动化
  • Python-Selenium自动化爬虫
    目录1.安装2.下载浏览器驱动3.实例3.1下载对应版本的浏览器驱动3.2测试code,打开一个网页,并获取网页的标题3.3一个小样例3.4自动输入并跳转4.开启无头模式5.保存页面...
    99+
    2022-11-13
  • python selenium自动化测试
    python selenium自动化测试项目实战,Selenium3自动化测试,Python3 测试21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,***测试,测试用例设计,黑盒测试,白盒测试...
    99+
    2023-01-31
    测试 python selenium
  • selenium+Python自动化测试
    Python 3.3版本# coding = utf-8from selenium import webdriverdriver = webdriver.Chrome()driver.get('http://www.baidu.com')p...
    99+
    2023-01-31
    测试 selenium Python
  • web自动化爬虫selenium ce
    基本环境:centos7,python3.x 1.安装selenium pip3 install selenium 2.安装chrome-browser wget https://dl.google.com/linux/d... --no...
    99+
    2023-01-31
    爬虫 web ce
  • selenium与python自动化测试
    将一些必须必要条件准备好 1,安装chorme浏览器 1,安装依赖 sudo apt-get install libxss1 libappindicator1 libindicator7 2,下载google安装包 wget https:...
    99+
    2023-01-30
    测试 selenium python
  • 自动化测试——selenium(完结篇)
    自动化测试——selenium(完结篇) 文章目录 自动化测试——selenium(完结篇)一、元素操作方法二、浏览器操作方法三、获取元素信息操作四、鼠标操作 (需要实例化鼠标对象)4.1 鼠...
    99+
    2023-08-31
    python selenium
  • Selenium+Python自动化测试入门
    目录Selenium介绍环境搭建Python安装安装Pycharmselenium安装WebDriver安装selemium的基本使用元素定位多窗口结束语Selenium介绍 &nb...
    99+
    2022-11-11
  • selenium UI自动化怎么实现
    本篇内容介绍了“selenium UI自动化怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.前言1.1项目框架项目如何使...
    99+
    2023-06-22
  • 什么是Selenium?使用Selenium进行自动化测试!
    你知道什么是 Selenium 吗?你知道为什么要使用它吗?答案就在本文中,很高兴能够与你共飧。 自动化测试正席卷全球,Selenium 认证是业界最抢手的技能之一。 什么是 Selenium? Selenium 是一种开源工具,用于在 ...
    99+
    2023-09-26
    selenium 测试工具 性能测试 软件测试 测试工程师
  • python自动化测试之Selenium详解
    目录1.安装2.基础操作2.1 声明浏览器对象2.2 访问网页2.3 查找单个节点2.4 查找多个节点3.等待3.1 显式等待3.2 隐式等待总结1.安装 完成自动化测试,需要配置三...
    99+
    2022-11-13
  • selenium自动化测试简单准备
    目录下载驱动器chrome版本查看基本函数练习一(简单网页注册)练习二练习三下载驱动器 http://chromedriver.storage.googleapis.com/inde...
    99+
    2022-11-12
  • 自动化测试 selenium 环境搭建
    做 web 项目,测试是无法避免的。对于某些特定功能,采用单元测试就行。但如果想对网站进行整体测试,人工点击测试可行但有点累,如果能借助自动化测试工具就更好了。selenium 就是一款能满足这样要求的测试工具,selenium 是一款用...
    99+
    2023-01-30
    环境 测试 selenium
  • Python自动化测试利器selenium详解
    目录1 自动化测试1.1 单元测试1.2 接口测试1.3 UI测试1.3.1 UI自动化测试的优点1.3.2 UI自动化测试的适用对象1.4 自动化测试流程2 selenium3 s...
    99+
    2023-05-18
    Python自动化测试 Python selenium
  • python自动化测试中Selenium怎么用
    小编给大家分享一下python自动化测试中Selenium怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.安装完成自动化测试,需要配置三个东西。selen...
    99+
    2023-06-29
  • Python+selenium自动化测试框架详解
    目录自动化测试框架1.基础层(通用层)2.功能层(页面层)3.业务层4.用例层4层框架对应的项目工程总结 自动化测试框架 项目自动化测试框架设计为4层 1.基础层(通用层) 基础层:...
    99+
    2022-11-12
  • selenium UI自动化实战过程记录
    目录一.前言1.1项目框架1.2项目目录结构二.项目代码1.config.ini (存放项目跟路径)2.conf.py3.elementData.xlsx(json与yaml替换)4...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作