初次接触自动化测试是在10年,那时候流行的自动化测试工具是Mercury公司开发的QTP工具,这个工具最大的优点是支持录制,但用起来很不方便,简单实验了一下,录制,回放,改写代码。那时侯公司不提畅学习,有一次因项目结束没有其它任务就操练起来了,被领导一天面谈二次心碎得一地,后来就一直搁置了。
好了不提伤心事了,有点扯远了,不在阻碍中成长就在阻碍中灭亡,哈哈...,给大家分享一下我的自动化测试入门经验吧,虽然我并不是一个优秀的学生,但我喜欢动手去做自己想做的事情。说一百次,想一百次,不如动手做一次;在技术这个行业来说行动起来了,那么离入门就成功了50%。
曾经我也迷茫过,不知道干什么,觉得自已现在干得工作很没有前途;想做性能测试,自动化测试又不知道从何下手,特别感谢我曾经的一个同事,他是开发,他和我也是老乡,我把我的迷茫告诉了他,他说你不知道怎么做就去招聘网站找一下这个职位有什么要求,要具备什么条件。于是就上在招聘网站搜索了一下性能测试工程师,自动化测试工程师招聘要求,貌似我也是从那个时侯了解到Selenium的。我觉得这个方法特别受益,每当我迷茫的时候我不是急着换工作,而是静下心来逛逛招聘网站,把招聘精华部分提取下来,定个小目标好好学习一翻。
入门四问
问自已想做什么?
有人说我想做web自动化,移动端(android,ios)自动化;
我建议可以拆分成三个目标实现:web自动化,android自动化,ios自动化;
当下流行的自动化工具是什么,都有什么特点?
开源的QTP,Selenium(开源,支持很多语言,跨平台,跨进程)
那个工具适合你当前项目?
那么最适合我们的工具selenium,seleniumIDE支持录制Web,支持的语言有:java,oc,python,...在《敏捷开发自动化测试框架之用户故事》有提到,感兴趣的童鞋可以去看一下
工具能给你带来什么价值?
曾经有几个领导都问过我,为什么喜欢去研究一些东西,我的回答是:我有些懒,工具可以给我提高工作效率让我有更多的时间偷懒*_*
我当初学习自动化工具的目的就是回归,BVT的时侯可以偷个小懒,有的开发改个小问就让回归都烦透了,自从写了自动化脚本后我就可以很爽了,项目部署好,把自动化脚本打开自己跑去吧,跑完看结果就可以了。
让我们做行动派吧,不要畏惧,勇往直前。如果你总是在抱怨工具我不会用,语言我不会,那么放弃吧做个安静的手工测试工程师;
我的第一个自动化工具学习心得-Selenium Web自动化测试
13年接触Selenium在圈里那时候非常流行,有些培训机构也有这个培训,那时候还不支持移动端自动化测试;我当时买了一本Selenium的书,下班的时候在家自学,几乎看不懂,硬着头皮看了一遍,然后我就收起来了。然后加入了一个学习群,后来发现我一个做测试的同学也加入进来了,给老朋友打了个招乎,这下刺激到我了,大家都在学习,于是我又重新操练起来。
把Selenium环境搭建起来,并安装了Selenium-IDE,Selenium-IDE支持录制,录制了当前项目的Web登录功能,并转换成JAVA语言保存并回放,感觉还不错。问题是录制的脚本不是所有的都回放成功,语言又不会怎么办?
这个问题也困扰了很久,我的解决方法是:
1.找到录制保存的脚本
2.打开脚本,查看脚本生成的格式,Java语言的格式,驱动调用,完素定位方法;
3.搭建一个JAVA开发环境,工具是Eclipse
4.在Eclipse上创建一个java工程,把录制的那段脚本移值到你创建的工程,Selenium java环境搭建可以参考(http://www.cnblogs.com/hanlong/p/5258706.html),也可以度娘Selenium java环境搭建。
5.写一个测试方法验证一下,这里需要用到Junit
@Test
public void test(){
放入测试的方法
}
6.后续功能就是照葫芦画瓢完成项目,多练习几次就可以脱离录制了;
7.要了解Selenium java API都有那些方法,怎么使用;
8.遇到的问题问度娘基本都能解决,也可加入一些学习群;
9.入门后可以对框架优化:元素定位方法,及公共方法的封装;开源的东西好多都写得很啰嗦,需要自己改进,提高代码的重用性,减少代码冗余度;现在一般都用ObjectMap+keywords模式
我的第二个自动化工具学习心得-Selenium + APPium +android移动端自动化
初学android自动化时robotium这个工具的优点是执行Case比Selenium+appium快,其他没什么优势,那时候还没有Selenium+appium,其实工具都是相通了解工具的api用法+语言语法结构就OK了,Selenium+Appium和selenium web自动化都是用的同样的JAR包,不同点是selenium Web的驱动是浏览器,selenium+appium的驱动的手机设备,定位元素工具不一样web用的是火狐的firebug插件,android用的是sdk\tools\uiautomatorviewer.bat。
1.搭建一个Selenium+appium android环境;
2.下载一个开源项目,并调试通过;
3.替换成自己的项目;
4.入门后可以对框架优化:元素定位方法,及公共方法的封装;开源的东西好多都写得很啰嗦,需要自己改进,提高代码的重用性,减少代码冗余度;现在一般都用ObjectMap+keywords模式
我的第三个自动化工具学习心得-Selenium + APPium +ios 移动端自动化
详见《高效搭建appium 自动化基于JAVA的IOS环境》
不要对自己学习的东西感到质疑,觉得学习得东西再公司用不到,如果这样想就大错特错了,学习不为别的,只为自己的成长,能帮助到自己。我们可以将自己学到的东西引入到自己的项目。