Node.JS自动化测试在CNode社区中的应用 -- CnodeJS线下沙龙活动

Posted 聆播微布

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.JS自动化测试在CNode社区中的应用 -- CnodeJS线下沙龙活动相关的知识,希望对你有一定的参考价值。





起因

最近在Cnode社区看到社区大佬们重构代码用了新的技术栈,现正在公测阶段。因为正好擅长用Node.JS来开发自动化测试。为了对社区做点贡献,拉了几个技术好友,计划利用周末时间帮社区写些UI自动化代码。这一建议得到了CNodeJS的狼叔的大力支持,这一建议的帖子置顶后,又有好多热心的朋友加入了进来,有擅长自动化开发的、也有擅长手动测试的同学。


计划

  • 时间:准备星期日(03-25)用一天时间进行。

  • 地点:四川北路乍浦路的一间创业工坊

  • 目标:基于Node.js开发CNode社区的UI自动化测试代码。

  • 使用技术:当然要用Node.JS. 主要用Nodejs + Cucumber + Selenium

  • 开发环境:Windows 系统使用 CukeTest 进行开发。Mac 系统使用 VSCode 进行开发

迫不急待的小朋友可以先来看一下成果,经过一整天的努力,CNodeJS的各项主要界面测试都实现了,不光有代码,而且有自然语言描述的测试用例,确保所有人都能看得懂: Node.JS自动化测试在CNode社区中的应用 -- CnodeJS线下沙龙活动


所有自动化测试的代码和测试用例都放在github上,网址在: https://github.com/CnodejsTest/UIAutoTest

感兴趣的只要拉下来,按照描述的步骤就可以运行了。


星期日

是我们自动化测试的开发日。上午10点乍浦路480号,同学们都到齐了。有一些手工测试的同学,一些自动化测试的同学。按照计划本次参与活动的同学有8名小伙伴公司做手工测试,4名小伙伴做自动化测试。他们当中有些知道行为驱动测试,有些还不知道这些概念。


为了让大家能够很快的融入到一起敏捷开发,2名手工测试小伙伴与1名自动化测试小伙伴1组,手工测试的小伙伴写测试用例,自动化测试小伙伴写UI自动化脚本。位置安排是自动化测试小伙伴坐在中,手工测试小伙伴坐在两边,这样更易于他们沟通和学习。 Node.JS自动化测试在CNode社区中的应用 -- CnodeJS线下沙龙活动


上午

上午主要是“统一思想,提高认识”,为了让所有人都了解开发的技术和方法。我们主要使用CukeTest客户端来阐释下行为驱动测试的概念。我们拿CNodeJS社区的“登录”场景为例,作为所有人的热身练习。


开发的过程如下:先在CukeTest上写测试用例。用例也写的差不多的时候可以在CukeTest中一键生成自动化代码框架。然后实现这个框架。边填充代码,边在页面上定位元素。将元素定位的信息填充到代码中。我们知道,Selenium定位信息可以选ID, CSS, XPath等。当实现完这个测试用例就可点击运行。经过验证能够正常登陆。


有些手动功能测试的小朋友从来没做过自动化测试的开发,但跟着自动化测试老司机们,也没过多久就写出来了。而且能够成功运行,登陆到测试的环境搭建的CNodeJS社区。有些不由的感叹自动化测试也可以这么简单。效果如下: Node.JS自动化测试在CNode社区中的应用 -- CnodeJS线下沙龙活动

当这个场景完成后,通过CukeTest一键转换成“场景”大纲就可添加更多的测试数据了。不光有正确的用户名和密码登录,而且可以验证错误用户名和密码登录。这样一个测试场景就变成了n个: 上午主要就是开发登陆场景。由于大家都是临时过来,刚开始还是不是很熟练,经过几轮的协作,大家慢慢熟悉了开发流程。


下午

中午吃过饭,为提高效率,自动化测试小伙伴就单独出来去写UI自动化代码。功能测试小伙伴去学习一些基本的selenium-webdriver 知识,他们通过使用CukeTest生成的自动化代码,模仿之前的代码能够很快速的实现一个功能,大家都很开心。 自动化同学相继开发出来测试脚本,所以晚些时候,主要调试自动化同学开发的脚本,并且对场景进行添加校验点。最终,我们实现了社区的用户注册,用户登录,发布话题,删除话题,收藏话题,回复话题的UI自动化。修改完成的脚本上传到GitHub代码库。


总结: 通过这次沙龙,大家在一起协调的也非常好,大家也一起增长了测试经验,同时,也认识了新的朋友。更重要是,我们的自动化代码将会贡献给Cnode社区,造福大家。这里要感谢Cnode社区,提供一个这样的平台,并且鼓励我们。同时感谢CukeTest,提供工具能让我们很快的协助开发。也感谢猫叔,给我们提供场地,让我们能够坐在一起交流。



以上是关于Node.JS自动化测试在CNode社区中的应用 -- CnodeJS线下沙龙活动的主要内容,如果未能解决你的问题,请参考以下文章

NodeJs学习相关网址

node.js 使用 superagent 与 cheerio 完成简单爬虫

Vue.js 创建一个 CNODE 社区

基于vue的nuxt框架cnode社区服务端渲染

Node.js 2016 回顾以及2017展望

Vue.js 创建一个 CNODE 社区