对不起大家!我的知识都学杂了……
今天,讨论一下最近在折腾的一些自动化测试工具,方便大家开发。折腾了几天以后,有时候恍惚间,真的觉得一个人能顶一个团队了(逃)
强调一下:本文小白向,新手向。
模拟用户操作
模拟用户操作乃是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等,这块我目前没有用到,也没有深入了解。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。