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/span1input

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

相对路径+通配符

相对路径+文本匹配:

相关推荐
有技巧搬砖15 小时前
为什么锂电池组的电池老化测试很重要?
测试工具·锂电池·电池老化
蒲公英内测分发18 小时前
智能手表卖出去后,包装、说明书和官网里的 App 下载入口怎么统一?
前端·人工智能·测试工具·智能家居·智能硬件·智能手表
蒲公英内测分发20 小时前
智能手环出海测试,海外合作方分散在不同国家,Android 测试包怎么持续分发和更新?
android·前端·人工智能·测试工具·智能手表
无语的小歪歪1 天前
ATF 智测 1.0
python·测试工具·集成测试
SHENGWEI胜为1 天前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
xie881018022 天前
长表格跨页重复表头:排版上的做法
测试工具
老孟说禅2 天前
测试工具示波器的使用
测试工具
步行cgn3 天前
为什么使用接口测试工具?
测试工具
P1Browser3 天前
Puppeteer 与 Selenium 技术对比:多账号自动化管理如何做环境隔离?
selenium·测试工具·自动化
weihubeats4 天前
10 MB 的 Postman 替代品,启动不到 1 秒
测试工具·postman