编写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. 在一个html加载多个echarts,Echarts一个页面加载多个图表及图表自适应
  2. excel两个下拉框相互关联
  3. 开源ImageFilter库For IOS源码发布
  4. jQuery EasyUI API 中文文档 - 数字框(NumberBox)
  5. Python正则表达式之额外补充(7)
  6. .NET Framework Client Profile/.net framework 客户端配置
  7. java反编译,eclipse支持插件
  8. php微信浏览器清空cookie,微信内置浏览器中的cookie很诡异呀
  9. hybrid环境下划分vlan一个实验 ————一故障分析
  10. 小米高通9008授权MiFlash刷机免认证思路
  11. Java对接微信支付预下单
  12. DARPA到底是什么?一个能轻松将人类变成电子生化人的科技
  13. transformer 模型的decoder部分 带gif动图
  14. php邮件回复功能,用PHP回复邮件(Laravel Mailgun)
  15. 2023年考研数学测试卷(预测)
  16. 地图定位技术揭秘(一)
  17. 【索引分类】位图索引
  18. 测试报告——必应词典必应背单词
  19. 视频文件格式与视频编码格式的区别
  20. VIEWGOOD(远古)数字化校园建设的应用方案

热门文章

  1. Excel 竖列转横列实例
  2. 面试题java存储过程_java中级面试题的考点
  3. 2020字节跳动数据库面试题及答案(二)—— NoSQL部分
  4. Python实现全自动购买火车票!抢票回家过年咯!
  5. 期货开户客户怎么销户
  6. 由浅入深讲解显示存储计算机基础原理
  7. 10天企业框架培训笔记
  8. JS 的立即执行函数
  9. C语言经典100例---实例九:输出国际象棋棋盘
  10. 学习内容总结(week 6)