编写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_searchdef 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 测试用例编写相关推荐

  1. 软件测试测试用例编写_不要先编写所有软件测试-只需编写一个

    软件测试测试用例编写 Test Driven Development (TDD) is sometimes described as "writing tests first". ...

  2. Java编程技巧之单元测试用例编写流程

    简介: 立足于"如何来编写单元测试用例",让大家"有章可循",快速编写出单元测试用例. 作者 | 常意 来源 | 阿里技术公众号 温馨提示:本文较长,同学们可收 ...

  3. 软件测试测试用例编写 不超过7步骤_教你快速编写一个合格的测试用例!

    关于测试用例,可能测试人员会思考很多问题,例如: 测试周期紧张,能否不写用例直接开始测试? 测试用例是否需要按照一定的模板编写? 测试场景太多,是否每个流程都需要设计测试用例? 测试用例是否有exce ...

  4. 公司测试员用例写得乱七八糟,测试总监制定了这份《测试用例编写规范》

    统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性.合理性.为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量. 一.范围 适用于集成 ...

  5. 公司测试用例写得乱七八糟,直到制定了这份《测试用例编写规范》

    1.目的 统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性.合理性.为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量. 2.范围 ...

  6. 软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例

    目录 前言 一 概述 1.1目的 1.2使用范围 二 测试用例编写原则 2.1系统性 2.2连贯性 2.3全面性 三 测试用例设计方法 3.1 等价类划分法: 3.2 边界值分析法: 3.3 因果图法 ...

  7. 软件测试用例 单元测试,软件单元测试的测试用例编写方法

    软件单元测试的测试用例编写方法 发表于:2010-09-10来源:作者:点击数: 软件 单元测试 的 测试用例 编写方法 MI LY: 宋体; mso-ascii-font-family: " ...

  8. 软件测试黑盒用例文档,看完这篇黑盒测试用例编写教程,我豁然开朗

    测试用例编写是软件测试的基本技能:也有很多人认为测试用例是软件测试的核心:软件测试中最重要的是设计和生成有效的测试用例:测试用例是测试工作的指导,是软件测试的必须遵守的准则. 在这里我们不讨论以上的各 ...

  9. 阿里巴巴B2B测试用例编写规范

    用例编写规范目的 1.统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性.合理性. 2.测试用例,不仅仅用于QA阅读和执行.它们也可能会被开发.PD.P ...

最新文章

  1. 将NumPy数组转储到csv文件中
  2. caffe命令及其参数解析
  3. python判断哪个数最小_怎么用python比较三个数大小
  4. 事件控制块的清空与状态查询
  5. [Z]建國中學 2012 年資訊科培訓網站
  6. 【解决】make: 警告:检测到时钟错误。您的创建可能是不完整的
  7. 笨办法学 Python · 续 练习 48:`ed`
  8. 让孩子亲近自然,提高家长对户外亲子研学的人生和了解。
  9. GPS测量中所涉及的时间系统
  10. PTA程序设计基础6 7-1 列表排序、逆序 (10 分)C语言解法
  11. CVPR2004/风格分解:Separating Style and Content on a Nonlinear Manifold在非线性流形上分离样式和内容
  12. python制作动态二维码步骤_七夕 | 如何用Python制作动态二维码,来哄女朋友开心?...
  13. 每日一记录,2022年1月5日
  14. 工作篇之---PDF生成盖章
  15. nginx 499错误原因及解决
  16. Oracle怎样创建共享文件夹,OracleVirtualBox虚拟机如何实现文件夹共享
  17. UI设计课程教程分享:Banner的设计和技巧
  18. 55、如何制作API
  19. list中的元素升序排列
  20. 微信安卓协议分析笔记

热门文章

  1. 校运会计算机专业口号,计算机学院运动会口号
  2. BP神经网络最大训练次数,bp神经网络训练时间
  3. Matplotlib:极坐标图/雷达图
  4. MATLAB(5)绘图
  5. 2020年阿里云基础认证(ACA - Alibaba Cloud Certification Associate)
  6. css 换行符,CSS秘密花园: 插入换行符
  7. 关于Java零基础的公众号_大学mooc零基础学Java语言答案公众号
  8. WEIXIN day_09(8.26) 学子影院项目实践5
  9. 错误:fatal: remote origin already exists.
  10. udev(一)-- 什么是udev