UI自动测试框架-selenium(1) selenium介绍和选择器

目录

1.selenium是什么

2.定位元素

[2.1 css选择器](#2.1 css选择器)

[2.1.1 选择id](#2.1.1 选择id)

[2.1.2 class](#2.1.2 class)

2.1.3使用标签选择

[2.1.4父类选择器 + 子类选择器](#2.1.4父类选择器 + 子类选择器)

[2.2 xpath](#2.2 xpath)


1.selenium是什么

selenium是用来做web端自动化测试的框架,它支持各种游览器,各种平台,支持各种语言(如 Python,Java,C#,JS,Ruby...等)有丰富的api.

它的原理就是 我们将代码构造一个http请求发送到webdiver游览器驱动,游览器驱动在发送到游览器.游览器响应到游览器驱动,驱动在返回到代码里给程序员看到.

下面我们来讲解一下如何通过Java代码来传递给webdivrer驱动来操作游览器

2.定位元素

定位元素有两种方法,一种是 css选择器,还有一种是路径 即xpath.我们来分别介绍一下这两种方法.

2.1 css选择器

2.1.1 选择id

我们来选择百度的这个搜索框 并且输入"selenium"

java 复制代码
 public static void main(String[] args) {
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("http://www.baidu.com");
        webDriver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
    }

可以看到我们成功的通过id选择到了这个搜索框

2.1.2 class

依旧是上述的搜索框.这次我们用class来选择它并且输入 class

java 复制代码
 public static void main(String[] args) {
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("http://www.baidu.com");
        webDriver.findElement(By.cssSelector(".s_ipt")).sendKeys("selenium");
    }

依旧可以成功的选择我们想要的

2.1.3使用标签选择

我们可以通过标签名来选择

这里百度的相同标签太多了,我们可以用一个自定义的网页来举例

比如这个网页 ,只有一个input标签.我们可以选择并且点击它.

java 复制代码
 public static void main(String[] args) {
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("http://localhost:63342/J2024_3_21/src/main/page/test05.html?_ijt=44v99e864lr4edapvuf9sodcmt&_ij_reload=RELOAD_ON_SAVE");
        webDriver.findElement(By.cssSelector("input")).sendKeys("d://Test");
    }

2.1.4父类选择器 + 子类选择器

我们依旧选百度的搜索框 span input

这样就可以选择我们想要的了.

2.2 xpath

xpath是一种在XML中文档中定位元素的语言,因为HTML可以看做XML的一种实现,所以selenium用胡可以使用这种语言在web应用中定位元素,

xpath扩展了上面的id和name定位方式,提供了很多种可能性.

我们可以通过右键-copy-copy xpath来获取

我们也可以通过相对路径来选择元素:

相对路径+索引: //from/span[1]input

相对路径+属性值 //input[@class="s_ipt"]

相对路径+通配符

相对路径+文本匹配:

相关推荐
测试员周周15 小时前
【AI测试系统】第5篇:AI 编码工具抛硬币?我们用 LangGraph 做了个“确定性+AI”的测试系统(附自愈架构)
人工智能·python·功能测试·测试工具·架构·langchain·单元测试
弹简特16 小时前
【精通Postman接口测试】02-集合变量|环境变量|全局变量,批量运行原来这么简单(附图文+CLI实战)
测试工具·接口测试·postman
DevilSeagull1 天前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc
Python大数据分析@2 天前
浏览器自动化工具 Selenium,Playwright,Puppeteer 做爬虫有哪些弊病?
爬虫·selenium·自动化
弹简特2 天前
【精通Postman接口测试】01-基础理论+安装使用+项目实战+接口关联(万字图文,零基础保姆级)
测试工具·postman·接口关联
武帝为此2 天前
【Selenium 屏幕截图】
python·selenium·测试工具
武帝为此3 天前
【Selenium 执行 JavaScript】
javascript·selenium·测试工具
llilian_163 天前
晶体频率测试仪 破解晶振品控核心难题:晶体频率网络测试仪深度解析 晶体网络分析仪
网络·功能测试·单片机·嵌入式硬件·测试工具·51单片机
深念Y3 天前
从 Playwright/Selenium 到指纹浏览器:浏览器自动化技术的进阶之路
selenium·测试工具·自动化·浏览器·账号·无头浏览器·指纹浏览器
Johnstons3 天前
Wireshark ExpertInfo是什么?一文讲透异常分级、适用场景、和传统抓包阅读的区别与排查标准
网络·测试工具·wireshark·es