首页 > 其他分享 >软件测试笔记|web自动化测试|Selenium 提供了哪些断言?

软件测试笔记|web自动化测试|Selenium 提供了哪些断言?

时间:2024-09-22 10:54:54浏览次数:10  
标签:web String assertEquals Selenium isElementPresent 软件测试 driver public 断言

Selenium 主要通过与测试框架(如 TestNG、JUnit 等)结合使用来实现断言,本身并没有内置断言方法。以下是一些常用的结合测试框架实现的断言:

一、TestNG 框架中的断言:

1. assertEquals(expected, actual):比较两个值是否相等。例如:


import org.testng.Assert;
public class TestSelenium {
    public static void main(String[] args) {
        String expectedTitle = "Example Page";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
    }
}


2. assertTrue(condition):判断条件是否为真。例如:


boolean isElementPresent = driver.findElements(By.id("elementId")).size() > 0;
Assert.assertTrue(isElementPresent);


3. assertFalse(condition):判断条件是否为假。例如:


boolean isElementNotPresent = driver.findElements(By.id("nonExistentElementId")).size() == 0;
Assert.assertFalse(isElementNotPresent);


二、JUnit 框架中的断言:

1. assertEquals(expected, actual):与 TestNG 中的类似,比较两个值是否相等。


import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class TestSeleniumJUnit {
    @Test
    public void testTitle() {
        String expectedTitle = "Example Page";
        String actualTitle = driver.getTitle();
        assertEquals(actualTitle, expectedTitle);
    }
}


2. assertTrue(condition)和assertFalse(condition):判断条件的真假。


@Test
public void testElementPresence() {
    boolean isElementPresent = driver.findElements(By.id("elementId")).size() > 0;
    assertTrue(isElementPresent);
}


Selenium 通常与这些测试框架结合使用,以便在自动化测试中进行有效的断言和验证。

标签:web,String,assertEquals,Selenium,isElementPresent,软件测试,driver,public,断言
From: https://blog.csdn.net/weixin_46652722/article/details/142412647

相关文章

  • 在当今时代使用 Nextjs:现代 Web 开发框架
    在当今快速发展的数字环境中,Web开发变得比以往更加复杂和动态。开发人员不断寻找能够简化工作流程、提高性能和增强用户体验的工具。在各种可用的框架中,Next.js已成为开发人员的最佳选择,因其易用性、灵活性和强大的功能而广受欢迎。Next.js构建于React之上,通过提供用于构建......
  • 在深入 Web 开发之前您必须了解的事项
    1.HTML、CSS、JavaScript——三位一体没有砖头就建不了房子,不掌握HTML、CSS和JavaScript就无法建立网站。HTML是您的结构,CSS使其看起来令人惊叹,而JavaScript通过交互性使其栩栩如生。如果您认真对待网络开发,请从这里开始。没有捷径!2.响应式设计或回家如果您的网......
  • 使用 Remotion、Nextjs 和 Tailwind CSS 构建基于 Web 的视频编辑器
    如果您曾经想创建自己的强大的基于网络的视频编辑器(类似于veed.io或descript等流行工具),那么您来对地方了!在本分步指南中,我们将向您展示如何使用remotion、next.js和tailwindcss构建视频编辑器。最后,您将为开发自己的基于浏览器的视频编辑工具奠定坚实的基础。介绍......
  • web架构-nginx负载均衡
    nginx的负载均衡Nginx是一个广泛使用的反向代理服务器,能够高效地实现负载均衡。负载均衡的核心作用是将来自客户端的请求分发到多个后端服务器上,从而平衡每台服务器的压力。通过Nginx,我们可以实现多种负载均衡算法,如轮询、IP哈希等。vi/etc/nginx/nginx.conf插入http的下一......
  • 2024年,想要靠做软件测试获得高薪,还有机会吗?
    2024年,科技行业风云变幻,随着自动化技术和人工智能的发展,软件测试领域的竞争愈发激烈。很多人会问,现在还投身软件测试,真的能拿到高薪吗?尤其是当越来越多的自动化工具涌现,手动测试员会不会被淘汰?时间过得真快,一眨眼,2024年已经过去了一大半。最近正值金九银十招聘季,后台不免又......
  • Web攻防之业务安全实战指南pdf版
    内容简介业务安全漏洞作为常见的Web安全漏洞,在各大漏洞平台时有报道,本书是一本从原理到案例分析,系统性地介绍这门技术的书籍。撰写团队具有10年大型网站业务安全测试经验,成员们对常见业务安全漏洞进行梳理,总结出了全面、详细的适用于电商、银行、金融、证券、保险、游戏......
  • 【JavaWeb从入门到精通系列】 - JavaSE基础篇(1) - 抽象,静态,单例设计模式
    一、抽象1、存在意义似是而非的,像却又不是;具有某种特征,但不完整。Animal仅是一种会吃会睡的对象,再无其他行为,不够具体,不够完整。程序是用来模拟现实世界,解决实际问题的,现实世界中存在的都是动物具体的子类对象,并不存在动物对象,所以,Animal不应该被独立创建成对象。如何......
  • 【JavaWeb从入门到精通系列】 - JavaSE基础篇(1) -面向对象
    一、封装1、存在意义public对属性的设置或者修改没有任何限制隐藏该隐藏的,暴露该暴露的。封装之后设置set和get方法2、封装//1、将需要封装的属性修饰符设置为private(私有的,在外界无法访问)privateintage;//年龄//正常情况下通过创建对象可以访问属性Students......
  • 什么是 Web Worker 以及如何在 NextJS 中使用它
    先决条件reactjs/nextjs基础知识什么是网络工作者javascript是一种单线程语言,它使用的线程称为主线程浏览器实际上使用其他线程来自浏览器api的webworker是您使用javascript创建和注册附加线程的一种方式当您只能在主线程上工作时,为什么还要创建其他线程呢?假......
  • 什么是 Cloudflare? Web 性能和安全公司概述
    在快节奏的数字世界中,网站的速度、安全性和可靠性对于企业和用户都至关重要。Cloudflare已成为确保网站平稳、安全和高效运行的基石。但Cloudflare到底是什么?为什么它成为网站所有者如此重要的工具?让我们深入了解它的作用和产品。Cloudflare简介Cloudflare是一家全球......