河南住房和城乡建设部网站,刘娇娇做网站骗钱的,深圳创业补贴政策2023申请流程,专业建设内容本篇咱们来谈谈Selenium自动化脚本是如何工作的#xff0c;以及如何实现一个简单的自动化示例#xff1b;
一、关于Selenium 1.1、为什么选择它作为web自动化的测试工具#xff1f; 选择Selenium作为web自动化测试工具的原因#xff08;面试也许会问#xff09;#xff…本篇咱们来谈谈Selenium自动化脚本是如何工作的以及如何实现一个简单的自动化示例
一、关于Selenium 1.1、为什么选择它作为web自动化的测试工具 选择Selenium作为web自动化测试工具的原因面试也许会问
1. 开源免费
2. 支持多浏览器如Chrome、 Firefox、IE浏览器等
3. 支持多系统如Linux、Windows、MacOS
4. 支持多语言如下
5. Selenium包提供了很多可供测试使用的API
1.2、Selenium操作浏览器的原理
首先来了解一下不可不知的“驱动”
什么是驱动例如计算机有了驱动才可以使计算机工作起来人工测试的情况下我们用鼠标打开浏览器那么驱动就是人力对于自动化来说代码不能直接打开浏览器而是需要借助驱动才能打开浏览器
那么来看一下Selenium编写的自动化脚本是如何打开浏览器的 从上图可以看的出来驱动要接受 selenium 脚本发送来的 http 请求并解析请求实际上就可以把这个驱动看成一个服务器例如谷歌chromedriver如下图 注意使用的浏览器驱动版本一定要和浏览器版本保持差不多一致
二、实现一个简单的自动化 2.1、使用自动化操作浏览器
实现一个简单的自动化主要包含以下几个步骤
1. 创建驱动示例创建会话打开浏览器
2. 访问网站
3. 查找元素
4. 操作元素
5. 结束会话
例如通过谷歌浏览器进入
注意需要先导入selenium相关依赖并且将浏览器驱动下载完成放入java/jdk/bin目录下 dependenciesdependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion4.0.0/version/dependency/dependencies
由于自动化代码执行速度很快所以可以在每执行一步用线程休眠停留一下如果想观看到效果
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;public class FirstAutoTest {//百度网址搜索关键词“不孕不育”public void buyunbuyuTest() throws InterruptedException {//创建驱动示例创建会话(打开浏览器)ChromeDriver driver new ChromeDriver();Thread.sleep(3000);//在浏览器里输入百度网址访问百度首页driver.get(https://www.baidu.com);Thread.sleep(3000);//找到百度首页输入框元素并输入关键词“不孕不育”driver.findElement(By.cssSelector(#kw)).sendKeys(不孕不育);Thread.sleep(3000);//找到百度首页百度一下按钮并点击driver.findElement(By.cssSelector(#su)).click();Thread.sleep(3000);//结束会话关闭浏览器driver.quit();}
}
2.2、Selenium常用的API
2.2.1、查找页面元素
使用方法
indElement()
参数
By类通过什么方式来定位元素
By类中最常用的两个定位方法
1. cssSelector()它可以通过css选择器来定位元素
2. className()它可以通过xpath来定位元素
xpath如何使用呢
最常用的是用层级的方式来表示/子级 //跳级为属性
例如谷歌浏览器中的Google标志
这样你就可以拿到这个标签的xpath//*[idlogo] 这便是跳级前面的路径都不显示直接表示属性id“logo”这个标签
或者是xpath://*[idcsdn-copyright-footer]/ul[1]/li[2]/a 这便是一个跳级加子集的方式
值得注意的是我们不要一个一个去推这个子集表示的方式可以直接按照上图的方式进行拷贝xpath路径配合着className()方法使用即可但是有时候赋值selector或者xpath元素不一定是唯一的需要我们进行手动修改到唯一这就是为什么我们要对xpath的语法要有一定了解的原因你学费了吗
最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走