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

发表于:2022-5-13 09:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:用户1930955956315    来源:稀土掘金

分享:
  编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试
  编写测试用例的优势:
  ·开源,免费。
  · 支持多种浏览器 IE,Firefox,Chrome,Safari。
  · 支持多平台 WindowsLinux,Mac。
  · 支持多语言 PythonJava,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测试用例之旅吧~

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号