java+Selenium自动化测试工具

Java+Selenium爬虫介绍

场景:springboot+selenium实现自动化爬取数据,爬虫是常见的一个功能,因为我们在做项目的时候会经常使用到一些数据从别的地方获取到,常用的是用python去爬虫。但Java也可以去实现简单的爬虫。选用技术有springboot、selenium

深入了解见官网文档:https://www.selenium.dev/documentation/en/

selenium介绍

Selenium (WEB自动化工具),Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
总的来说就是Selenium是一个涵盖了一系列工具和库的总体项目,这些工具和库支持并支持Web浏览器的自动化。
selenium包括WebDriver、集成开发环境、网格

WebDriver

如果您是从桌面网站或移动网站测试自动化开始的,那么您将使用WebDriver API。 WebDriver 使用浏览器供应商提供的浏览器自动化API来控制浏览器并运行测试。就像真实用户正在操作浏览器一样。由于WebDriver不需要使用应用程序代码来编译其API,因此它不是侵入式的。因此,您正在测试实时发布的同一应用程序。

驱动程序

Selenium支持市场上所有主流浏览器,例如Chrom(ium),Firefox,Internet Explorer,Opera和Safari。
驱动程序下载地址:https://www.selenium.dev/documentation/en/webdriver/driver_requirements/
在这里插入图片描述
选择与你浏览器对应的驱动程序版本比如我的谷歌版本是90的,我需要下载90的驱动程序
在这里插入图片描述
创建一个spring boot项目加入selenium依赖

		<!--selenium依赖-->
		<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>

在resources下创建文件放入位置把驱动程序放入
在这里插入图片描述
新建一个Java类

package com.selenium.test;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class SeleniumTest {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "src/main/resources/selenium/driver/chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.baidu.com");// 访问的网址
        driver.manage().window().maximize();// 网站最大化

    }
}

运行结果如下:
在这里插入图片描述

WebDriver常用api

在网站中检查元素。定位元素位置是最常用的也是需要掌握的。定位元素的方法有多种,根据dom文档树去定位元素。下面一种一种的介绍

方法作用
findElement()查找元素
sendKeys()设置值
click()点击作用
findElements()查找的是多个元素
drive.quit()退出浏览器
drive.switchTo().frame()切换iframe窗口

通过id去定位元素:
在这里插入图片描述

driver.findElement(By.id("user_login")).sendKeys("xxxxx");

在这里插入图片描述
通过name去定位元素:
在这里插入图片描述

driver.findElement(By.name("user[login]")).sendKeys("zzzz");

在这里插入图片描述
通过class name定位元素:
在这里插入图片描述

driver.findElement(By.className("login-password__account-input")).sendKeys("cccc");

在这里插入图片描述
通过tag name定位元素:

driver.findElements(By.tagName("input")).get(4).sendKeys("ssss");

通过link text定位元素:

driver.findElement(By.linkText("点此注册")).click();

在这里插入图片描述
结果
在这里插入图片描述
通过部分链接字体(partialLinkText)定位元素:

driver.findElement(By.partialLinkText("注册")).click();

在这里插入图片描述
最后一种
通过xpath定位元素:

driver.findElement(By.xpath("//*[@id=\"user_login\"]")).sendKeys("xxx");

右键找到copy-copy xpath;
在这里插入图片描述

在这里插入图片描述
介绍完定位元素基本上就可以说差不多了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值