请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 23|回复: 0

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

[复制链接]

2542

主题

2941

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10451
发表于 2022-5-13 11:05:27 | 显示全部楼层 |阅读模式
本帖最后由 chaomeili 于 2022-5-13 11:07 编辑

    编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试
  编写测试用例的优势:
  ·开源,免费。
  · 支持多种浏览器 IE,Firefox,Chrome,Safari。
  · 支持多平台 WindowsLinux,Mac。
  · 支持多语言 PythonJava,C#。
  · Web 支持良好。
  · 简单,灵活。
  · 支持分布式测试用例执行。
  引入依赖
  引入依赖是为了调用 webdriver 中的方法来与浏览器进行交互以实现操作步骤。
  · Python版本
  1.   from selenium import webdriver
复制代码
  · Java版本
  1.   import org.openqa.selenium.By;
  2.   import org.openqa.selenium.chrome.ChromeDriver;
复制代码
    测试用例的流程
  测试用例是为了实施测试从而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。
  注意:一条测试用例的最终结果只有一个:成功或者失败。
  三大核心要素为 :标题 、步骤 、预期结果。
  ·标题:是对测试用例的描述,标题应该清楚的表达测试用例的内容
  · 步骤:对测试执行过程进行描述
  · 预期结果:提供测试执行的预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过,反之失败。
  实战演练
  首先是在代码的最上面导入了 Selenium 的包,其次是测试方法命名、测试步骤、断言。测试用例内容是要断言打开[url=]百度[/url]页面所展现的内容与所期望的值是否相等。
  · 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测试用例之旅吧~

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2022-5-24 22:36 , Processed in 0.040215 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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