学习自动化这个想法,其实自己在心里已经琢磨了很久,就是一直没付诸实践,觉得现在手工测试已经能满足当前的工作需要,不想浪费时间去学习新的东西,有点时间还不如刷刷视频、看看小说等。
第一次有学习Selenium的冲动是在一次被训话之后,觉得委屈了,不想干了,想换份工作。
那个时候手工测试比比皆是,没有自己的优势,所以就打算学习自动化知识来充实自己。网上视频也找了,但是仗着自己之前有点代码基础,没有按照课程系统学习,导致一知半解,在学习完Selenium录制脚本的功能之后,觉得自动化测试只是用工具录制脚本,然后回放就可以了,学习到此结束。
由于未继续学习,只会用Selenium录制脚本然后回放,正好我用来测试的系统,有一个鼠标悬浮时间,但是录制时这个事件并没有录制上,也导致了回放不成功,就此就放下了,第一次自动化的学习就到此结束了。
第二次又有冲动学习自动化是在和领导的一次谈话中提及的,说不能只会手工测试,要接触一些新东西,不然很快就会被淘汰。谈话完之后,我又想是时候开始学习了,又找出学习视频,三天打鱼两天晒网的开始看视频,不紧不慢的进行学习,也没太上心。
准备
真正督促我开始重视学习的,是某个项目真正用到了自动化,问我能不能做,我说还在学习的时候,就感觉别人的眼神都不对了,作为一个有好几年测试经验的老测试,测试自动化工具都不会用。
这个时候我才开始真正上心,每天工作不忙的时候,或者下班之后,拿出1-2小时进行系统的学习,不因为我之前一知半解的知识而放弃某个模块的学习,俗话说得好,有压力才会有动力,真的是这样,我竟然真的坚持下来了,经过一段时间的学习,慢慢的觉得,自动化原来也不是个很难得事情,所谓熟能生巧,多次练习之后就会发现其实很简单。
根据这几次的学习历程,给大家几个建议供大家参考。
学习建议
多样化练习
完全按照视频里的操作方法,用视频里的网站,按部就班的写代码,效果不大,并不是说没有必要。因为课程里所使用的网站都是老师“精心挑选”的,主要针对某个模块某个知识点而来的,用来做例子的功能也是最简单,主要目的是让学员明白当前所讲的知识点。
但是在实际应用的过程中肯定会比这复杂。所以建议在按照视频里的例子练习完成后,多拿一些常用的网站或者工作中正在使用的网站多做练习,这样我们往往会获取到一些课程里没有的知识。
一开始不会没关系,就是照着现有脚本抄也要练习,因为只有练习才能熟能生巧。
虚心学习不自以为是
因为我之前是有代码基础的,所以在第一次学习的过程中将所有代码相关的课程都跳过了,所以导致了知识的断层。第二次学习的过程中,是将课程从头到尾的完整的看了一遍并进行了实际操作,才发现,之前被我跳过的内容隐藏了一些我从前并不知道的知识点。
有始有终
第一次学习时,学习完脚本录制之后,就停止学习了,并没有继续学习后续的内容。
第二次学习后发现,用录制的方式写脚本是很low的,很有局限性,并不能满足所有的需求,后来用WebDriver和UnitTest才是真正的高级,解决脚本录制不能解决的问题。
遇事迎难而上
在我学习完课程后,自己在练习的过程中,遇到了课程中并没有讲到的内容,脚本执行一直报错,在我第一次的学习过程中,遇到问题就放弃了,并没有积极的去解决问题,导致了最终的放弃。
而第二次学习中,遇到问题后我积极的去各种网站查找解决问题的方案,问题总会得到解决。在问题得到解决之后,发现这是一件很值得骄傲的事情,心情就会变好,虽然解决问题的过程可能会很艰难。
应用到日常的工作中
我们学习完自动化之后,不要学习完就行了,而要积极的将其应用到我们日常的工作中,如果放着不用,一段时间之后我们学习到的知识都会慢慢遗忘。将其应用到工作中后,不仅能对技术进行不断练习、优化、升级,还能提高工作效率,何乐而不为呢?
这是我自学自动化的历程,走了不少弯路,也没有专人的指导,只能靠自己去摸索,希望我自己犯的错误能让大家引以为戒。
作者:CICI