热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端技术周刊20181210:前端自动化测试

前端快爆再见Edge,微软正式宣布MicrosoftEdge浏览器将从EdgeHTML内核迁移到开源的Chromium(BlinkV8)上



前端快爆


  • 再见 Edge,微软正式宣布 Microsoft Edge 浏览器将从 EdgeHTML 内核迁移到开源的 Chromium(Blink + V8)上,ChakraCore JS 引擎将会继续开源并用在其他项目中,预览版预计 2019 年年初推出。Mozilla CEO 也发表文章痛呼:从商业角度来看,微软的决定可能很有意义,但从用户的角度来看,这可能是场灾难,把浏览器这样的网络基础设施交给一家公司来主导将会非常糟糕。?



    点评:失去竞争便会失去一种选择,Edge 加入 Chromium 后能有多少话语权,实在令人担忧,Opera 可能就是前车之鉴。


  • Puppeteer 是 Headless Chrome 的封装,现在也支持 Firefox 了。?



    点评:支持更多的浏览器将会更方便测试。
  • Chrome 73 开发者工具新增了 Logpoints 功能,可以在控制台快速打印消息。VSCode 早些时候就支持了类似的功能。?



    点评:是时候告别 console.log 了。
  • Babel 7.2.0 发布,支持了 Class field 规范中的 Private Instance Methods,Private accessors 也即将支持。至此由于此前 Chrome 也已经实现,该规范正式进入 Stage 3 阶段。?



    点评:这是一个最好的时代,也是一个最坏的时代!上周五特别邀请了 Hax 来阿里巴巴分享,详细讲述了该规范的利弊。


  • Safari Technology Preview 71发布,默认启用了 Web Animations、Intersection Observer 等重要特性,同时还去除了 CSS text-decoration 属性的前缀。?



    点评:Safari 正在努力不让自己变成新的 IE6 ?。
  • 第13届 D2 前端技术论坛将于2019年1月6日在杭州盛大开启,目前还可以团购买票。?

优秀 Demo


  • 带动画的密码提示框


  • 圣诞节进度条


专题:前端自动化测试


测试是完善的研发体系中不可或缺的一环,前端也不例外,CSS 的变更可能导致页面错位,Javascript 的变更可能导致功能缺陷。由于前端偏 GUI 软件的性质,尽管测试领域工具层出不穷,前端的自动化测试的落地实施并不广泛,很多项目依旧以手工测试为主。本篇即是对前端测试相关的解决方案的一个梳理。


方案


先来了解一下前端测试可能涉及到的环节:


  • 基本知识、单元测试、端到端测试、集成测试、可视化测试

目前比较常见的前端自动化测试方案主要集中在单元测试和集成测试阶段,实现文件监测和高效快速的执行测试:


  • 前端自动化测试概览

采用像素对比和 DOM 结构对比的方案:


  • 早期自动化测试的一些思考和探索
  • 视觉回归测试

对于 React 则推荐 Jest + Enzyme 搭建测试环境:


  • 使用Jest + Enzyme对React项目进行单元测试
  • React 与 Redux 的测试策略

工具


在 2018 年年初对测试工具的整体回顾:


  • An Overview of Javascript Testing in 2018

Karma 是目前在 Magix 自动化测试的过程中使用的框架:


  • Karma 测试框架的前生今世



    Karma 的优点是能通过插件和配置的方式集成大部分的主流的测试框架和前端库,能方便的一次在多浏览器环境执行测试用例,并集成了测试覆盖率生成功能,生成页面形式覆盖率报告并能导出不同形式的覆盖率报告数据。它的缺点是,对测试页面环境的搭建和资源文件的加载不是常见的形式,最开始搭建环境时会有很多跟预期不一致的情况,配置不直观。

Cypress 是一个相对完善的前端 E2E 测试框架,它可以运行在多浏览器环境,能拦截 mock 接口请求,模拟用户行为:


  • 前端 E2E 测试之 Cypress



本期编辑:@壹丝,审阅:@承虎,专题供稿:@弈铭




推荐阅读
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
author-avatar
mobiledu2502892377
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有