从2020到2021,我继续关注的一些技术

2020年过得太快了,这一年最重要的关键词就是“疫情”,它让我们每个人养成了出门带口罩的习惯。希望2021年,我们每个人都可以摘下口罩。
简单总结一下我个人2020年所做的一些事情,以及2021年继续关注的一些技术。

个人开源项目

  • seldom

基于selenium 和 unittest的Web UI自动化测试框架。2020年发布了十几个版本,功能逐渐稳定。如果 unittest + selenium + HTMLTestRunner + ...
是DIY电脑,那么 seldom就是品牌机,把这些都整合到一起,以更简单的方式给你。

  • poium

支持 selenium/appium 的 Page Objects
测试库。刚刚发布了1.0版本,用它来实现 Page Objects
设计模式,更简单不过了。

  • HTMLTestRunner

基于unittest定制化的自动化测试报告。
这些项目都趋于成熟,也没太多新的功能可以添加,根据社区的一些反馈,我在2021年会持续维护这些开源项目。

Web测试技术

  • selenium 4.0

2018年Selenium3停止更新,Selenium 4.0 经过了这些久的开发,目前仍然处于alpha版,从官网了解到,Puppeteer 和 cypress 发展迅速,Selenium 有点坐不住,很有可会在2021年推出4.0正式版。

  • playwright

相比起 Puppeteer 和 cypress, 我个人更看好playwright的发展。它的定位是覆盖更多的浏览器和编程语言。虽然,目前还是成熟,但项目在非常积极的开发之中。我写了好几篇介绍playwright的文章,在2021年也会继续分享它的使用。

  • cypress

cypress非常适合前端开发,最近在用vue写一个平台的前端,集成的就有cypress,刚好可以借助cypress,同步完成e2e的测试用例。

移动测试

  • flutter

2020年我们公司正在由原生Android/iOS开发转 flutter,虽然坑很多,长远来看利大于弊,于是,我们花了一些时间了解和学习flutter开发与测试。
Flutter 的测试以自带的测试库为主。appium 提供了插件支持,但是不够成熟。最近 flutter 出了 integration_test 插件 1.0 版本,解决了 flutter_driver的一些问题。我也将会继续关注 flutter的相关测试技术。

DevOps

前一段时间,为了重构公司测试环境平台的功能,学习了k8s以及istio服务网格,这个技术相关概念太多,当时被搞的头晕。
今年我们公司的产线环境和测试环境在往服务网格迁移,所以,2021也会进一步学习和使用DevOps的相关技术。

编程语言

  • go

go语言在重写一个项目的后端接口的时候有使用到。越来越多的公司的后端正在转go,虽然在开发效率不占优势,而且项目的框架和库也不好用。但go的性能太好了,而且运行起来也更节省资源。这一点就足够吸引越来越多的后端开发转go。

  • TypeScript

在搭建一个前端框架的时候,尝试使用vue 3.0 + TypeScript,虽然因为坑太多暂时放弃了,但是越来越多的前端项目都由JavaScript转TypeScript,所以,TypeScript在前端这个领域也会越来越被大家接受和使用。
2021年,还会还会在一些项目中使用到上面两个编程语言。

机器学习

2020 测试开发者大会,
少主题都和机器学习,智能化测试相关。
但是,目前我们公司还没有太多涉及。
2021年希望有机会在这方面有更多接触。