自动化测试:webdriver的断言详解

news2024/11/19 5:35:11

前言

在编写自动化测试脚本时,为了使“机器”去自动辨识test case的执行结果是True还是False,一般都需要在用例执行过程中获取一些信息,来判断用例的执行时成功还是失败。

判断成功失败与否,就涉及到断言。webdriver的断言使用有三种模式:操作(action)、辅助(accessors)、断言(assertion)。

1、操作(action)

模拟用户与Web应用程序的交互,一般用于操作应用程序的状态;

如点击链接,选择选项的方式进行工作;如果一个动作执行失败,或是有错误,当前的测试将会停止执行。

常见命令如下:

  • open(打开页面)
  • click(点击)
  • clickAndWait(点击并等待)
  • type(文本类型)
  • select(选择下拉菜单)
  • selectWindow(选择弹出窗口)
  • pause(等待指定时间,以毫秒为单位,即要睡眠的时间)
  • setSpeed(设定执行速度。以毫秒延迟间隔长度。默认没有延迟,即为0)
  • setTimeout(指定等待动作完成的等待时间。默认为30秒,需要等待的动作包括了OPEN 和WAITFOR)
  • goBack(模拟用户点击其浏览器上的“back”按钮)
  • close(模拟用户点击弹出窗体或表单标题栏上的”关闭”按钮)

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

2023完整版阿里大牛7天软件测试零基础速成内部教程,从基础到项目实战学完即入职。

2、辅助(accessors)

辅助工具,用于检查应用程序的状态并将结果存储到变量中;

如:storeElementPresent(locator,variableName)

其中参数locator表示元素定位器,variableName用于存储结果的变量名;

即将locator定位到的状态存储到variableName变量中,如果该元素出现返回true,否则返回false,可同断言一同使用。

3、断言(assertion)

验证应用程序的状态是否同所期望的一致。

常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选。

常用断言如下:

  • assertLocation(判断当前是在正确的页面)
  • assertTitle(检查当前页面的title是否正确)
  • assertValue(检查input的值, checkbox或radio,有值为”on”无为”off”)
  • assertSelected(检查select的下拉菜单中选中是否正确)
  • assertSelectedOptions(检查下拉菜单中的选项的是否正确)
  • assertText(检查指定元素的文本)
  • assertTextPresent(检查在当前给用户显示的页面上是否有出现指定的文本)
  • assertTextNotPresent(检查在当前给用户显示的页面上是否没有出现指定的文本)
  • assertAttribute(检查当前指定元素的属性的值)
  • assertTable(检查table里的某个cell中的值)
  • assertEditable(检查指定的input是否可以编辑)
  • assertNotEditable(检查指定的input是否不可以编辑)
  • assertAlert(检查是否有产生带指定message的alert对话框)
  • waitForElementPresent (等待检验某元素的存在,为真时,则执行)

使用断言的注意点:

①不要使用断言作为公共方法的参数检查,公共方法的参数永远都要执行;

②断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值;

总结

我给大家整理了一套软件测试面试文档和一整套的软件测试资源,应该对朋友们跳槽面试、升职加薪、摆脱职业困境、提高自己的技术有很大的帮助,希望各位都能前程似锦。【点击文末小卡片免费领取软件测试全套资料】

资料包括:测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等。

上面是我收集的一些软件测试视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我下方扣扣群,里面有各种软件测试资源和技术讨论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1210675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二维码智慧门牌管理系统升级解决方案:标准地址ID查询服务:高效、精准

文章目录 前言一、解决查询效率低下的问题二、提高信息精准度三、应用案例 前言 随着城市的发展和信息化步伐的加快,二维码智慧门牌管理系统已成为各大城市管理部门和企事业单位的必备工具。然而,实际应用中存在一些问题,如查询效率低下、信…

解决Window11 C:\Windows\System32\drivers\etc hosts 无法编辑问题

点击更多选项: 点击更多: 取消勾选 点击安全: 勾选 编辑和写入: 直接点同意: 现在就好了! 搜索笔记本 以管理员身份运行 编辑完 保存就行了

MySQL 索引事务

MySQL 索引&事务 文章目录 MySQL 索引&事务1. 索引1.1 概念1.2 作用1.3 使用场景1.4 使用 2. 事务2.1 为什么使用事务2.2 事务概念2.3 事务的特性2.4 使用 1. 索引 1.1 概念 索引(index)是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的…

软信天成:企业如何保障数据安全?

随着数字全球化的推进,数据产业呈现几何级增长,政府已经开始意识到数据的战略意义,在各地纷纷推进数据开放共享行动,2020年,中国正式将数据与土地、劳动力、资本、技术并称为五大生产要素,提出要“加快培育…

Costmap文献阅读——Layered Costmaps for Context-Sensitive Navigation

摘要 许多导航系统,包括无处不在的ROS导航堆栈,在单个成本图上执行路径规划,其中大部分信息存储在单个网格中。这种方法在生成最小长度的无碰撞路径方面非常成功,但是当成本图中的值超出已占用或空闲空间时,它在动态的…

新版本!飞凌嵌入式RK3568系列开发板全面支持Debian 11系统

飞凌嵌入式OK3568-C/OK3568J-C开发板现已全面支持Debian 11系统,新系统的加持能为用户提供主控新选择,并为开发者带来更多开发便利! Debian系统作为一种广受欢迎和信赖的开源操作系统,以其稳定性、可靠性和开放性而闻名&#xff0…

STM32F103C8 PC13端口无输出原因

如果开启了RTC功能,就要注意PC13端口的设置。要把RTC OUT 由“Disable”改成“No RTC Output”,才行。

美妆商城系统 SpringBoot + Vue 【毕业设计 资料 + 源码】

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 一、前言 使用技术栈 SpringBoot Vue My…

JimuReport积木报表 v1.6.5 版本发布—免费报表工具

项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报…

JUC“阻塞队列”水很深,你把握不住!

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 提到阻塞队列&#xff…

java入门,从CK导一部分数据到mysql

一、需求 需要从生产环境ck数据库导数据到mysql,数据量大约100w条记录。 二、处理步骤 1、这里的关键词是生产库,第二就是100w条记录。所以处理数据的时候就要遵守一定的规范。首先将原数据库表进行备份,或者将需要导出的数据建一张新的表了…

界面控件Kendo UI for jQuery R3 2023 - 发布全新金字塔图表类型

Telerik & Kendo UI R3 2023版本带来了30多个新的UI组件,丰富的设计系统文档、多种自定义选项、支持Linux的现代化报表体验等。借助R3 2023,开发人员能够在现代框架上快速构建强大的数字体验功能,满足不断变化的业务需求等。今天将为大家…

vcenter server (部署较大服务器)

作用 VMware vCenter是集中管理控制台,管理所有安装了VMware ESXI的主机 使用vCenter Server可以对虚拟机进行实时的监控,包括服务器硬件、网络和共享的存储,并可以进行故障诊断。 可以查看实时的统计和图表,监控虚拟主机和资源…

【NodeJS】Nodejs安装及环境配置

下载安装包 网址:https://nodejs.org/en 安装程序 1.下载完成后,双击安装包,进行安装,一路默认配置 nxet 即可,安装路劲给默认在C盘,或者选择其他位置,当前教程默认C盘 2.下图根据本身的…

创造者设计模式

Bike package com.jmj.pattern.builder.demo01;public class Bike {private String frame;//车架private String seat;//车座public String getFrame() {return frame;}public void setFrame(String frame) {this.frame frame;}public String getSeat() {return seat;}public…

【京东API】商品详情+搜索商品列表接口

利用电商API获取数据的步骤 1.申请API接口:首先要在相应电商平台上注册账号并申请API接口。 2.获取授权:在账号注册成功后,需要获取相应的授权才能访问电商API。 3.调用API:根据电商API提供的请求格式,通过编程实现…

如何使用Servlet写一个简单的网站

文章目录 前言1. 创建项目2. 引入依赖3. 创建目录4. 编写代码5. 打包程序6. 部署7.验证程序将 tomcat 集成到 idea 中 前言 前面我们学习了Java中常用的 HTTP 服务器 tomcat 的安装和使用,那么今天我们将使用这个 HTTP 服务器为大家写一个简单的网站,这…

Linux之输入输出重定向和管道

一、是什么 linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0、1、2: STDIN 是标准输入,默认从键盘读取信息STDOUT 是标准输出,默认将输出结果输出至终端STDERR 是标准错误…

新版软考高项试题分析精选(三)

请点击↑关注、收藏,本博客免费为你获取精彩知识分享!有惊喜哟!! 1、项目整体管理要综合考虑项目各个相关过程,围绕整体管理特点,以下说法中,( )是不正确的。 A.项目的…

【2021集创赛】 RISC-V杯三等奖:基于E203 处理器的SM4算法硬件加速

杯赛题目:基于蜂鸟E203 RISC-V处理器内核的SoC设计 参赛要求:研究生组/本科生组 赛题内容: 基于芯来科技的开源蜂鸟E203 Demo SoC进行扩展,在限定的可编程逻辑平台上构建面向专用应用领域(譬如人工智能、信息安全、工业…