关于前端:自动化测试系列三UI测试

41次阅读

共计 3693 个字符,预计需要花费 10 分钟才能阅读完成。

UI 测试是一种测试类型,也称为用户界面测试,通过该测试,咱们查看应用程序的界面是否工作失常或是否存在任何障碍用户行为且不合乎书面规格的 BUG。理解用户将如何在用户和网站之间进行交互,以执行 UI 测试至关重要。通过执行 UI 测试,测试人员将尝试模拟用户的行为,以查看用户将如何与程序进行交互,并查看网站的运行状况是否如预期的那样,是否有缺点。

在上次的自动化测试系列(二)中为大家大体介绍了 API 测试的概念及在猪齿鱼中的实际开展,本文次要围绕 UI 测试进行概念介绍及 Choerodon 中的实际开展。

上面为大家具体介绍猪齿鱼提供的 UI 测试性能:

什么是 UI 测试

UI 测试涵盖了用户交互局部,包含用户关注的网站构造和视觉局部。Web 网站蕴含许多来自 CSS,JavaScript 和许多其余语言的不同 Web 元素,网站元素能够连贯到屏幕、键盘、鼠标或用户用于与网站进行交互的任何其余工具,UI 测试则捕捉这些元素并对其进行测试和申明。

在执行 UI 测试时,须要留神确保应用程序不存在任何跨浏览器兼容性问题。因为每个浏览器都应用不同的浏览器引擎,并且可能不反对雷同的 CSS 性能。因而,确保 UI 在所有次要浏览器上无缝出现十分重要。在不同的浏览器上进行测试称为跨浏览器测试,能够帮忙测试人员在所有次要浏览器和设施(包含手机,平板电脑等)的多种组合下测试其网站。

手动或主动,如何抉择?

与其余任何类型的测试一样,UI 测试也能够手动或通过自动化执行。手动测试要求测试人员在每个元素上手动执行每个测试。例如,测试输出字段将须要针对任何差别一次又一次地键入不同的值。如果网站 UI 的组件较少​​,则最好通过手动过程进行 UI 测试,疾速地实现。但它不适宜简单的网站,用户界面丰盛的网站使手动 UI 测试则十分低效,费时且容易出错。

适宜 UI 自动化测试的场景

不是所有的测试场景都适宜用自动化测试来实现,对此,能够参考以下的规范辅助判断:

  • 我的项目的需要不会频繁变动
  • 页面的 UI 曾经进入稳固阶段
  • 我的项目周期足够长
  • 大量回归的测试工作

其中,有些我的项目是显著不适宜应用 UI 自动化测试的,例如视频播放器,音乐播放器等交动性强,并发依赖强的软件。

UI 自动化测试的长处

UI 自动化测试过程简化了创立 UI 测试、运行测试以及查看后果的过程,开发和测试团队抉择自动化 UI 测试的起因有很多,最值得注意的包含:

  • 工夫 – 手动测试速度很慢,无奈与许多开发过程放弃同步。
  • 老本 – 手动测试须要大量资源且老本很高。
  • 准确性 – 执行重复性工作时,手动测试容易呈现更多谬误。相同,自动化缩小了这些谬误的机会。
  • 规模化 – 执行简单的迭代时,很难依附手动测试。
  • 趋势 – 大多数组织曾经意识到如何从自动化测试中受害,因而,跳上自动化潮流的压力越来越大。

UI 自动化测试设计准则

  • 一个测试用例实现一个性能点测试(罕用):一个手工用例对应一个自动化测试用例;
  • 一个脚本是一个残缺的场景;
  • 脚本之间独立,不能有依赖(脚本间互相隔离):例如与登陆状态相干的用例:集体核心、订单详情、下单购物等,如果脚本之间不独立,相互依赖,在登陆的测试脚本失败的状况下,会导致集体核心、订单详情、下单购物的测试脚本全军覆灭,后续修复与保护老本高;
  • 设置适合的检查点:通过断言判断用例的胜利与否;
  • 设计良好的框架:Python 罕用的测试框架有 unittest 与 pytest,利用框架,及对共用的测试模块进行封装,缩小自动化测试脚本保护的工作量;

WEB 端 UI 测试工具介绍

API 测试用例次要由 4 个局部组成,别离是:用例的根底信息、前置步骤、申请脚本以及断言。

UTF

UTF(Unified Functional Testing) = QTP(Quick Test Pro) + ST(Service Test)由 HP 公司开发。它是一种企业级的主动测试工具,提供了弱小易用的录制回放性能,同时兼容对象识别模式与图像识别模式两种辨认形式,反对 B/S 与 C/S 两种架构的软件测试,是目前支流的自动化测试工具。次要是用于回归测试和同一软件的新版本测试。

Robot Framework

是一款基于 Python 语言编写的自动化测试框架,具备良好的可扩展性,反对关键字驱动,能够同时测试多种类型的客户端或者接口,能够进行分布式测试。

Selenium

Selenium 概要

Selenium 也是一个用于 Web 应用程序测试的工具,反对多平台、多浏览器、多语言去实现自动化测试,目前在 Web 自动化畛域利用最为宽泛。

Selenium 是最宽泛应用的开源 Web UI(用户界面)自动化测试套件之一,最后由杰森·哈金斯(Jason Huggins)于 2004 年开发,作为 Thought Works 的外部工具。Selenium 反对跨不同浏览器,平台和编程语言的自动化。

Selenium 性能个性

  • Selenium 是一个开源和可移植的 Web 测试框架。
  • Selenium IDE 为创作测试提供了回放和录制性能,而无需学习测试脚本语言。
  • 它能够被视为当先的基于云的测试平台,可帮忙测试人员记录他们的操作并将其导出为可重复使用的脚本,并具备易于了解且易于应用的界面。
  • Selenium 反对各种操作系统,浏览器和编程语言。如下列表:

    • 编程语言: C#,Java,Python,PHP,Ruby,Perl 和 JavaScript
    • 操作系统:Android,iOS,Windows,Linux,Mac,Solaris。
    • 浏览器: 谷歌浏览器,Mozilla Firefox,Internet Explorer,Edge,Opera,Safari 等。
  • 它还反对并行测试执行,从而缩小了工夫并进步了测试效率。
  • Selenium 能够与 Ant 和 Maven 等框架集成,用于源代码编译。
  • Selenium 还能够与 TestNG 等测试框架集成,以进行应用程序测试和生成报告。
  • 与其余自动化测试工具相比,Selenium 须要的资源更少。
  • WebDriver API 曾经尝试集于 Selenium 中,这是对 Selenium 进行的最重要的批改之一。
  • Selenium Web 驱动程序不须要服务器装置,测试脚本间接与浏览器交互。
  • Selenium 命令依据不同的类进行分类,使其更易于了解和实现。
  • Selenium Remote Control(RC)与 WebDriver API 一起被称为 Selenium 2.0。此版本旨在反对充满活力的网页和 Ajax。

Selenium 三大长处

  • 速度:工夫是每家公司的次要资源,自动化测试能够节俭很多工夫。Selenium Automation 测试要求咱们只编写一次测试,而后一次又一次地运行它们,而不会以不同的值和不同的计划进行任何干涉。
  • 准确性:只有测试编写正确,Selenium Automation 测试就能够帮忙咱们正确执行测试。手动测试的次要毛病是容易产生人为谬误。
  • 透明度:Selenium Automation 测试还有助于疾速生成报告,并在测试实现后立刻与团队共享。另一方面,手动测试须要工夫来提取后果并手动报告后果以通过软件或手动生成报告。

Choerodon UI 测试

装置

若在 Choerodon 中应用 UI 测试,须要先装置 Selenium IDE。

Selenium IDE(集成开发环境)是 Selenium Suite 下的开源 Web 自动化测试工具。与 Selenium WebDriver 和 RC 不同,它不须要任何编程逻辑来编写其测试脚本,而只需记录与浏览器的交互以创立测试用例。之后,能够应用播放选项从新运行测试用例。留神:Selenium IDE 仅作为 Firefox 和 Chrome 插件提供,它无奈在 Firefox 和 Chrome 以外的浏览器上记录测试用例。记录的测试脚本也能够导出到 C#,Java,Ruby 或 Python 等编程语言。

Firefox 浏览器

  • 关上 URL =>https://addons.mozilla.org/en-us/firefox/addon/selenium-ide/,它会将重定向到 Firefox 的官网附加页面。
  • 点击 Add to Firefox 按钮。

Chrome 浏览器

  • 在插件商店 (https://chrome.google.com/webstore/category/extensions) 搜寻 %E6%90%9C%E7%B4%A2)Selenium IDE
  • 点击增加至 Chrome

应用

在 Chrome 浏览器上应用 Selenium IDE 录制与回放脚本

1、关上 IDE,初始化界面如图:

2、创立并开始录制,输出录制的 web 地址

3、录制实现,右击测试用例,保留或导出。Selenium IDE 保留的都是.side 的单文件

Choerodon 中的 UI 测试是通过 Selenium IDE 中录制生成的 side 文件导入零碎中,在 UI 测试界面中生成对应的测试用例与步骤;而后便能间接执行对应的测试文件来对界面 UI 操作进行测试,能够直观的看到生成的测试报告。

总结

UI 测试是软件测试周期的重要组成部分,是改善用户体验和客户满意度的重要驱动力,大多数最终用户更关怀他们理论看到和触摸的内容。因而,这也是为什么 UI 或用户界面变得如此重要,从而进行 UI 测试的起因。


本文由猪齿鱼技术团队原创,转载请注明出处:猪齿鱼官网

正文完
 0