Selenium介绍

一.Selenium是什么

Selenium是用来做web自动化测试的框架

二.特点

支持各种浏览器,支持各种平台,支持各种语言(Python,Java,C#,JS,Ruby)等等

三.原理

主要过程就是通过idea编写自动化的脚本代码,通过下载好的webdriver浏览器驱动解析并发送给浏览器执行,然后把执行结果返回给webdriver。

四.Selenium+Java环境搭建

1.下载chrome

推荐使用chrome浏览器,下载chrome浏览器,然后在设置中检查chrome浏览器的版本号:

2.下载chrome浏览器驱动

ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)

进入后下载上面对应版本的驱动即可:

3.配置环境变量

解压下载好的驱动压缩包,将下载好的chromedriver.exe放到Java系统环境变量下:

4.验证环境是否搭建成功

创建一个Maven项目,在pom.xml中引入依赖:

引入成功后在java目录下创建一个文件并且编写代码:

点击运行后可以发现百度窗口被自动打开了,证明环境搭建成功。

五.Selenium的常用API

1.CSS定位

这个方法可以查找指定的元素,例如:

在findElement内部用CSS选择器选择了“.s_ipt”类,这个类代表百度的搜索框:

选择成功后使用sendKeys方法在搜索框中输入,运行程序:

可以看到程序运行后自动在输入框中输入了。

2.xpath定位

绝对路径:以/html开头,例如:/html/head/title。这种方式比较繁琐,并不常用。

相对路径:

1)相对路径+索引:

        例如//form/span[1]/input 

        //表示相对路径,在form标签下第一个span元素下的input元素。

2)相对路径+属性值:

        例如//input[@class="s_ipt"]

        //表示相对路径,在input标签下的名称为s_ipt的元素。

3)相对路径+通配符:

        例如//*[@*="su"]

        表示在所有标签下,属性值等于su的元素。

4)相对路径+文本匹配:

        例如//a[text()="新闻"]

        表示在a标签下,文本内容等于“新闻”的元素。

总的来说,CSS选择器是比xpath选择器效率高的,更支持用CSS选择器。

3.clear

clear代表清空操作,上述代码中实现了选择百度输入框并输入内容后点击提交,然后清空输入框的操作。

4 .submit

submit代表提交操作,和click不同的是,submit必须在form标签下才可以生效,非form标签下是会报错的,例如在百度首页中用submit做点击新闻的操作:

而用click就可以正常操作。

5.浏览器操作

1)浏览器前进,回退:

这个操作可以实现浏览器的前进,回退,显示为浏览器自动打开百度页面后输入“软件测试”四个字,搜索,等待3秒后回退,刷新,再搜索

2)浏览器滚动条

通过将webdriver的强制转换,实现滚动条滚动的操作。

3)浏览器最大化,全屏,设置大小

4)浏览器关闭

浏览器的关闭操作有两个,一个是close,一个是quit。首先演示quit操作:

运行代码后可以看到浏览器在点击“图片”后的3秒就自动全部退出所有页面了。而对于close操作:

运行代码后可以看到最后退出的是最开始的起始页面,新打开的页面并没有退出。

所以quit和close的区别还是比较明显的:

quit关闭的是整个浏览器,close关闭的只是get到的界面。

quit会清空缓存,close不会清空缓存。

5)切换窗口

想对新打开的窗口进行操作时,例如我想在新打开的百度图片窗口中点击“手抄报”:

那么理所当然的就会这样去写代码:

运行后发现报错。错误原因是找不到“手抄报”对应的标签,因为窗口还没有切换到百度图片,依然停留在上面的百度搜索窗口,所以需要进行切换窗口操作:

切换后就可以在新的窗口中操作了。

6)截图

想实现截图操作需要引入依赖:

引入依赖后就可以进行截图操作了:

表示把图片截取并且保存到桌面上。

6.键盘操作

通过键盘操作可以进行复制粘贴等。

7.鼠标事件

以上是Selenuim的一些基础内容,如有错误,欢迎指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Selenium是一个自动化测试工具集,经历了多个版本的发展。Selenium1.0包括Selenium IDE、Selenium Grid和Selenium RC三个部分。Selenium IDE是一个Firefox浏览器插件,可以录制和回放浏览器操作,并生成测试用例。Selenium Grid用于分布式测试,可以在不同的机器和浏览器上并行运行测试用例,从而提高测试效率。Selenium RC是Selenium1.0的核心部分,通过代码操作浏览器来进行测试。 Selenium2.0在Selenium1.0的基础上进行了改进,支持更多的原生驱动,并去掉了对Selenium RC的支持。此外,Selenium 3.0在Selenium2.0的基础上进行了更多的改进,提供了更丰富的原生驱动支持,并要求最低的JDK版本为JDK8(只在测试分布式时需要Java环境)。 总的来说,Selenium是一个功能强大的自动化测试工具集,可用于录制和回放浏览器操作,进行分布式测试,并通过代码操作浏览器进行测试。它在不同版本中不断改进,提供更多的功能和支持。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Selenium基础 — Selenium自动化测试框架介绍](https://blog.csdn.net/m0_59868866/article/details/127043625)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚报大街-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值