51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 699|回复: 0

[转贴] 测试技术分享:Selenium 测试用例编写

[复制链接]
  • TA的每日心情
    无聊
    13 小时前
  • 签到天数: 919 天

    连续签到: 1 天

    [LV.10]测试总司令

    发表于 2022-5-23 10:24:58 | 显示全部楼层 |阅读模式
     编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。
      编写测试用例的优势:
      ·开源,免费。
      · 支持多种浏览器 IE,Firefox,Chrome,Safari。
      · 支持多平台 Windows,Linux,Mac。
      · 支持多语言 Python,Java,C#。
      · 对 Web 支持良好。
      · 简单,灵活。
      · 支持分布式测试用例执行。
      引入依赖
      引入依赖是为了调用 webdriver 中的方法来与浏览器进行交互以实现操作步骤。
      · Python版本
    1.   from selenium import webdriver
    复制代码
    · Java版本
    1.  import org.openqa.selenium.By;
    2.   import org.openqa.selenium.chrome.ChromeDriver;
    复制代码
    测试用例的流程
      测试用例是为了实施测试从而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。
      注意:一条测试用例的最终结果只有一个:成功或者失败。
      三大核心要素为 :标题 、步骤 、预期结果。
      ·标题:是对测试用例的描述,标题应该清楚的表达测试用例的内容
      · 步骤:对测试执行过程进行描述
      · 预期结果:提供测试执行的预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过,反之失败。
      实战演练
      首先是在代码的最上面导入了 Selenium 的包,其次是测试方法命名、测试步骤、断言。测试用例内容是要断言打开百度页面所展现的内容与所期望的值是否相等。
      · Python版本
    1.  from selenium import webdriver
    2.   # 测试的标题即 test_search
    3.   def test_search():
    4.       driver = webdriver.Chrome()
    5.       # 测试的步骤
    6.       driver.get('https://www.baidu.com')
    7.       search = driver.find_element_by_id('su').get_attribute('value')
    8.       # 断言预期结果
    9.       assert search == "百度"
    复制代码
    · Java版本

    1. import org.junit.jupiter.api.Test;
    2.   import org.openqa.selenium.By;
    3.   import org.openqa.selenium.chrome.ChromeDriver;
    4.   public class webTest {
    5.       private ChromeDriver driver;
    6.       @Test
    7.       void search() throws InterruptedException {
    8.           //实例化driver
    9.           driver = new ChromeDriver();
    10.           //打开网页
    11.           driver.get("https://www.baidu.com");
    12.           //测试的步骤
    13.           String data = driver.findElement(By.id("su")).getAttribute("value");
    14.           assert data.equals("百度");
    15.       }
    16.   }
    复制代码
    这里要断言打开百度页面所展现的内容与所期望的值是否相等。因为实际获取到的内容应该是百度一下而不是百度,所以断言错误。

    1. FAILED                                         [100%]
    2.   test_demo.py:3 (test_search)
    3.   百度一下 != 百度
    4.   Expected :百度
    5.   Actual   :百度一下
    6.   <Click to see difference>
    7.   def test_search():
    8.           driver = webdriver.Chrome()
    9.           driver.get('https://www.baidu.com')
    10.           search = driver.find_element_by_id('su').get_attribute('value')
    11.   >       assert search == "百度"
    12.   E       AssertionError: assert '百度一下' == '百度'
    13.   test_demo.py:9: AssertionError
    复制代码
    跟着实战演练,开启编写Selenium测试用例之旅吧~




    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 22:22 , Processed in 0.062033 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表