2026/4/16 19:48:51
网站建设
项目流程
网站开发工作怎么样,企业软件定制开发包括,网站头像有啥做会清晰,长沙关键词优化费用#x1f345; 点击文末小卡片#xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快本篇咱们来谈谈Selenium自动化脚本是如何工作的#xff0c;以及如何实现一个简单的自动化示例#xff1b;一、关于selenium1.1、为什么选择它作为web自动化的测试…点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快本篇咱们来谈谈Selenium自动化脚本是如何工作的以及如何实现一个简单的自动化示例一、关于selenium1.1、为什么选择它作为web自动化的测试工具选择Selenium作为web自动化测试工具的原因面试也许会问1. 开源免费2. 支持多浏览器如Chrome、 Firefox、IE浏览器等3. 支持多系统如Linux、Windows、MacOS4. 支持多语言如下5. Selenium包提供了很多可供测试使用的API1.2、Selenium操作浏览器的原理首先来了解一下不可不知的“驱动”什么是驱动例如计算机有了驱动才可以使计算机工作起来人工测试的情况下我们用鼠标打开浏览器那么驱动就是人力对于自动化来说代码不能直接打开浏览器而是需要借助驱动才能打开浏览器那么来看一下Selenium编写的自动化脚本是如何打开浏览器的从上图可以看的出来驱动要接受 selenium 脚本发送来的 http 请求并解析请求实际上就可以把这个驱动看成一个服务器例如谷歌chromedriver如下图注意使用的浏览器驱动版本一定要和浏览器版本保持差不多一致二、实现一个简单的自动化2.1、使用自动化操作浏览器实现一个简单的自动化主要包含以下几个步骤创建驱动示例创建会话打开浏览器访问网站查找元素操作元素结束会话例如通过谷歌浏览器进入注意需要先导入selenium相关依赖并且将浏览器驱动下载完成放入java/jdk/bin目录下dependencies dependency groupIdorg.seleniumhq.selenium/groupId artifactIdselenium-java/artifactId version4.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常用的API2.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的语法要有一定了解的原因你学废了吗最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。