技术分享 | Selenium 测试用例编写

简介: 技术分享 | Selenium 测试用例编写

原文链接

编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。

编写测试用例的优势:

  • 开源,免费。
  • 支持多种浏览器 IE,Firefox,Chrome,Safari。
  • 支持多平台 Windows,Linux,Mac。
  • 支持多语言 Python,Java,C#。
  • 对 Web 支持良好。
  • 简单,灵活。
  • 支持分布式测试用例执行。

引入依赖

引入依赖是为了调用 webdriver 中的方法来与浏览器进行交互以实现操作步骤。

  • Python版本
from selenium import webdriver
  • Java版本
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;

测试用例的流程

测试用例是为了实施测试从而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。

注意:一条测试用例的最终结果只有一个:成功或者失败。

三大核心要素为 :标题 、步骤 、预期结果

  • 标题:是对测试用例的描述,标题应该清楚的表达测试用例的内容
  • 步骤:对测试执行过程进行描述
  • 预期结果:提供测试执行的预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过,反之失败。

实战演练

首先是在代码的最上面导入了 Selenium 的包,其次是测试方法命名、测试步骤、断言。测试用例内容是要断言打开百度页面所展现的内容与所期望的值是否相等。

  • Python版本
from selenium import webdriver

# 测试的标题即 test_search
def test_search():
    driver = webdriver.Chrome()
    # 测试的步骤
    driver.get('https://www.baidu.com')
    search = driver.find_element_by_id('su').get_attribute('value')
    # 断言预期结果
    assert search == "百度"
  • Java版本
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
public class webTest {
    private ChromeDriver driver;
    @Test
    void search() throws InterruptedException {
        //实例化driver
        driver = new ChromeDriver();
        //打开网页
        driver.get("https://www.baidu.com");
        //测试的步骤
        String data = driver.findElement(By.id("su")).getAttribute("value");
        assert data.equals("百度");
    }
}

这里要断言打开百度页面所展现的内容与所期望的值是否相等。因为实际获取到的内容应该是百度一下而不是百度,所以断言错误。

FAILED                                         [100%]
test_demo.py:3 (test_search)
百度一下 != 百度

Expected :百度
Actual   :百度一下
<Click to see difference>

def test_search():
        driver = webdriver.Chrome()
        driver.get('https://www.baidu.com')
        search = driver.find_element_by_id('su').get_attribute('value')
>       assert search == "百度"
E       AssertionError: assert '百度一下' == '百度'
test_demo.py:9: AssertionError

跟着实战演练,开启编写Selenium测试用例之旅吧~

https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=Aliyun&timestamp=1650421400
相关文章
|
4月前
|
Web App开发 敏捷开发 Java
自动化测试入门:以Selenium为例
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一座灯塔,指引着项目质量保障的方向。本文将带你驶入Selenium自动化测试的港湾,从搭建环境到编写简单的测试脚本,逐步展开对Web应用功能和界面的自动化验证之旅。通过实际代码示例,我们将一起探索如何利用Selenium工具提升测试效率,确保软件质量的同时,为开发流程增添一份信心与乐趣。
|
4月前
|
Web App开发 Java 测试技术
探索自动化测试之美:以Selenium为例
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一艘航船,带领团队驶向高效、准确的彼岸。本文将通过深入浅出的方式,介绍如何使用Selenium工具进行自动化测试,让读者从基础到实践,一步步掌握自动化测试的核心技能。文章将围绕Selenium的安装配置、基本操作、实战案例以及常见问题解答展开,旨在帮助读者快速入门并应用于实际项目中。
|
4月前
|
Web App开发 人工智能 测试技术
探索自动化测试的奥秘:以Selenium为例
【8月更文挑战第31天】在软件发展的快速车道上,自动化测试是确保质量和效率的关键。本文将深入探讨自动化测试的重要性,并以Selenium这一流行的自动化测试框架为例,展示如何通过代码实现自动化测试流程。文章不仅提供了实用的代码示例,还讨论了自动化测试在现代软件开发中扮演的角色和面临的挑战。
|
4月前
|
Web App开发 JavaScript 前端开发
探索自动化测试:以Selenium为例
【8月更文挑战第1天】在软件开发的海洋中,自动化测试如同一艘航船,它能够带领我们高效地穿梭于代码的波涛之中。本文将揭开自动化测试的神秘面纱,通过一个具体的例子—使用Selenium进行Web应用测试—来展示其魅力所在。我们将从搭建环境开始,逐步深入到编写测试用例,最后实现测试的自动化执行。这不仅是一次技术的探险,更是对效率和质量双重追求的体现。那么,让我们一起启航,去发现自动化测试的力量吧!
|
6月前
|
Web App开发 IDE 测试技术
使用Selenium进行自动化测试:从入门到实践
【6月更文挑战第1天】本文介绍了使用Selenium进行自动化测试的基础知识,包括Selenium工具集的三大组件:WebDriver、IDE和Grid。Selenium支持多种浏览器和编程语言接口。文中详细阐述了安装配置过程,如安装浏览器驱动和Selenium库,并提供了一个Python示例,演示如何初始化WebDriver、打开网页、操作元素及关闭浏览器。此外,文章指出Selenium可扩展实现更复杂测试,可与其他测试框架结合以提升测试效率。
|
7月前
|
Web App开发 前端开发 JavaScript
自动化测试 selenium基础
自动化测试 selenium基础
33 2
|
前端开发 测试技术
自动化测试Selenium【基础篇二】
自动化测试Selenium【基础篇二】
自动化测试Selenium【基础篇二】
|
Web App开发 自然语言处理 前端开发
自动化测试Selenium【基础篇一】
自动化测试Selenium【基础篇一】
自动化测试Selenium【基础篇一】
|
IDE Java 测试技术
自动化测试教程(3)了解selenium框架
selenium由Selenium IDE,Webdriver,Selenium Grid组成(1)Selenium IDE(自动化脚本录制工具)一个用于Selenium测试的完成集成开发环境,可以直接录制在浏览器的用户
自动化测试教程(3)了解selenium框架