对不起大家!我的知识都学杂了……

今天,讨论一下最近在折腾的一些自动化测试工具,方便大家开发。折腾了几天以后,有时候恍惚间,真的觉得一个人能顶一个团队了(逃)

强调一下:本文小白向,新手向。

模拟用户操作

模拟用户操作乃是web开发测试过程中,最让人蛋疼的一件事。每次都要提交表单、点击按钮、增删改查,各种操作翻来覆去。这一次我没有重复过去的老路,决定好好研究一些测试工具。虽说萝卜白菜各有所爱,但是我还是强烈推荐selenium工具系列。感谢LancerComet的辛勤劳作。他的博客里,有一整套搭建教程,同时附带了搭建后的demo。对我这种大神级人物来说,当然是直接拿demo,不看教程的……?

教程有很多,不赘述。讲讲原理:这套工具,需要安装chrome等浏览器驱动,在selenium项目中,通过调用驱动,操作浏览器完成一系列事件以及校验。selenium的文档中,主要内容就是:

期望expect和断言assert

通过设定对页面元素的校验,完成一次判断。如果某个元素出现了,那么判定测试通过,反之不通过。这些校验甚至还可以判定当前url等。

其他操作事件

比如click点击、setvalue设值、clearvalue清空等,可以对表单、按钮等元素进行操作。填写你设定的值,提交表单等。

其他注意事项

在各个操作之间,一定记得留一定的等待时间,比如一秒两秒,可以用pause函数。获取页面元素,一般是使用css-selector,有时候元素多了,还是比较麻烦的。搭配chrome插件selectorgadget,能略微提升工作效率。

web API测试

今天一整天都在研究这个。搜了大量资料,发现postman这个工具不错,据说搭配Jenkins有奇效。然而,Jenkins在Mac下据说有各种bug,而且我自己也没能跑起来,这是什么鬼!弃坑。后来又看到有大神说,自己用python+request+json scheme库,搭建测试工具。这个是真的大神,我搞不定。最后使用了newman+postman,虽然不算自动化测试,但是便利性已经很高了。

都是图形界面,很好用,基本上没啥学习成本。在postman中,设定一些url和键值对,点击send就可以测试。如果比较多,可以保存为一个collection,批量send。如果嫌麻烦,可以在collection里export成json文件,用newman执行即可,命令行输出也很人性化的。

这个网站可以根据你的json数据,创建json校验逻辑。将逻辑放在postman的test栏中,如下图:

图片描述

右侧也有一些示例,可以点点看。

根据校验逻辑,可以很精确的判断json的格式,好用的不行。

newman使用npm进行全局安装即可。

JS模块测试

这些工具可能大家都比较了解了,karma、jasmine等,这块我目前没有用到,也没有深入了解。


敲键盘的猫
772 声望131 粉丝

一只热爱科技的猫