测试7:web自动化测试--常用函数篇(JAVA)

📅 2026/7/20 11:50:14
测试7:web自动化测试--常用函数篇(JAVA)
1.元素的定位web自动化测试的操作核心是能够找到页面对应的元素然后才能对元素进行具体的操作。常见的元素定位方式非常多如idclassnametagnamexpath常用cssSelector常用。1.1cssSelector选择器选择器的功能选中页面中指定的标签元素选择器的种类分为基础选择器和复合选择器常见的元素定位方式可以通过id选择器和子类选择器来进行定位。定位百度首页的“百度一下”元素可以通过id选择器和子类选择器进行定位#chat-submit-button或者也可以是搜索输入框元素--#kw百度一下按钮--#su。1.2xpath定位前端元素XML路径语言不仅可以在XML文件中查找信息还可以在HTML中选取节点。xpath使用路径表达式来选择xml文档中的节点xpath语法若代码中填写错误2.操作测试对象获取到了页面的元素之后接下来就是要对元素进行操作了。常见的操作有点击、提交、输入、清除、获取文本。3.窗口-window3.1切换窗口当我们手工测试的时候我们可以通过眼睛来判断当前的窗口是什么但对于程序来说它是不知道当前最新的窗口应该是哪一个。对于程序来说它怎么来识别每一个窗口呢每个浏览器窗口都有一个唯一的属性句柄handle来表示我们就可以通过句柄来切换。【driver作用在哪个句柄上】注意执行driver.close()之前需要切换到未被关闭的窗口。3.2窗口的大小设置manage().window()--管理窗口3.3屏幕截图自动化脚本一般部署在机器上自动的去运行如果出现了报错我们是不知道的可以通过抓拍来记录当时的错误场景。屏幕截图方法需要额外导入包dependency groupIdcommons-io/groupId artifactIdcommons-io/artifactId version2.6/version /dependency简单版本File file ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(file,new File(filename));new File(filename)目标文件通过 filename 字符串创建一个新的 File 对象指定截图要保存的路径和文件名。代码演示高阶版本新建一个方法专门来处理屏幕截图的存放使用时调用此方法即可3.4关闭窗口4.等待通常代码执行的速度比页面渲染加载的速度要快如何避免因为渲染过慢出现的自动化误报的问题呢可以使用selenium中提供的三种等待方法。4.1强制等待4.2隐式等待隐式等待是一种智能等待他可以规定在查找元素时在指定时间内不断查找元素。如果找到则代码继续执行直到超时没找到元素才会报错。隐式等待作用域是整个脚本的所有元素。即只要driver对象没有被释放掉 driver.quit()隐式等待就一直生效。//隐式等待1000毫秒 driver.manage().timeouts().implicitlyWait(Duration.ofMillis(1000)); //隐式等待5秒 driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));隐式等待作用于所有元素的查找过程显式等待作用于指定的条件如元素可见、可点击等可以对特定元素进行更精细的控制。4.3显式等待显式等待也是⼀种智能等待在指定超时时间范围内只要满足操作的条件就会继续执行后续代码。可以自定义显式等待的条件操作灵活但写法复杂。5.浏览器导航常见操作6.弹窗弹窗是在页面是找不到任何元素的这种情况怎么处理使用selenium提供的Alert接口。【写代码时记得先写点击调出弹窗的语句】7.文件上传对于按钮也可以通过sendkeys来操作8.浏览器参数设置1设置无头模式2设置浏览器加载策略此时就需要设置页面加载策略避免不必要的等待。