我们都知道,自动化测试相比于人工测试可大幅提高测试效率。
随着测试行业的不断发展,目前企业对测试人员要求越来越高,仅仅响应需求的功能测试人员基本饱和或是留给了校招生。而对于社招渠道的应聘者,企业越来越多地要求有一定的自动化或是代码经验,能解决工作过程中遇到的问题,或是编码能力较强,能参与公司相关测试项目的开发工作。
很多原先长期习惯于手工测试的人,则会在测试工作上会遇到瓶颈。当面试的时候被问到自动化测试用例的优缺点,是否了解过业界其他相关的框架或是开发模式的时候,完全招架不住,从而错失工作机会。
所以,不少人都会开始去了解和学习自动化测试。
但是,到了这里又出现了问题。很多初次接触自动化测试的时候,往往不知道如何下手,学习路径应该是怎么样的等等成为摆在前面的第一道难关。
今天,安妹就给大家分享一下,自动化测试的学习路线,希望可以帮助到初学的朋友。
1、做自动化测试,必须会一门语言:
· 第一步:先学python ------- python不过关,别谈自动化。
· 第二步:Selenium框架
· 第三步:unittest框架
· 第四步:项目
· 第五步:Robot Framwork框架
如果只学习Robot Framwork,通过这个来做自动化,别以为不要学习Selenium跟python了, 因为Robot Framework中的关键字可能不够用,不能满足你们的需求,那么我们需要自定义关键字,这个时候就必须自己得通过python+selenium来编写了。
2、掌握一些前端的知识:
作为一个自动化测试攻城狮,总是需要做很多的元素定位,那么元素定位,我们急需要学习前端的一些基础知识。
3、数据库的学习:
数据库是这个行业每一个从业者都应该学习的,不管是前端、后台、还是测试、项目经理、产品经理、运维人员都需要很明确的熟悉数据库相关操作,作为一名测试,更应该熟悉数据库的增删改查等命令。
4、web端自动化测试框架:
Selenium是一个web自动化测试工具,简单理解就是通过指令模拟在浏览器中的点击、拖拽、输入、执行js脚本等功能。现在很多网页中包含大量js脚本,分析并构造http请求变得非常复杂,这时候selenium的优势就体现出来了:无需考虑复杂的get/post请求,仅需要模拟各类点击、输入等动作,代替人力完成重复、繁琐的工作,可以作为一种网络爬虫的工具。当然,其缺点也非常明显:速度慢,无法胜任大规模数据的快速获取工作。
Ø selenium驱动游览器
Ø 元素定位(id、name、xpath、css、class、link等)
Ø 坐标定位(pyautogui、pywin32等)
Ø 浏览器控制
Ø 元素的基本操作
Ø 显示与隐式等待
Ø Cookie加js操作
Ø 屏幕的截取
Ø 弹出框与下拉框的操作
Ø 复选框操作
Ø expected_conditions模块的学习
Ø 鼠标键盘事件
在学习完了这些内容之后,我们就需要将Python所学习的知识跟selenium第三方库相结合,利用Unitest单元测试框架,以及page_object设计模式编写,再利用htmlTestRunner写出相应的自动化测试用例和测试报告。
有兴趣的同学还应该学习python的smtp和email模块,可以实现自动化发送邮件。
5、手机端自动化测试框架:
手机自动化应该也是时下比较流行的一种自动化测试,毕竟app现在足够多,也足够主流,app自动化也逐渐的兴起了。做手机自动化,时下最流行的应该是appium.appium可以测试原生的、混合的、以及移动端的web项目;appium可以测试ios,android应用(当然了,还有firefox os);appium是跨平台的,可以用在os,windows以及linux桌面系统上;
Ø 手机自动化测试环境的搭建(java+andriod_sdk+nodejs模拟器)
Ø 常见的手机操作系统
Ø 手机自动化驱动安卓或者苹果
Ø Package和acitivity
Ø 基本的adb命令
Ø Monkey的学习
Ø 常见的基本操作
Ø 元素定位
Ø H5元素定位
Ø 抓取toast
Ø 多点触动
Ø 多手势操作
同样的道理,可以将其跟Unittest、HtmlTestRunner以及page_object设计模式相结合,写出手机端app自动化测试用例。
以上就是实际可行的自动化测试学习路线。
当前自动化测试人才缺口很大,目前阿里、百度腾讯、拼多多、携程、小红书等一线互联网企业已几乎不招募传统手工测试工程师,而只招自动化测试工程师,性能测试工程师和测试开发工程师。现在就是转型为自动化测试、测试开发工程师的黄金时代!
而能否在行业变化中把握新的历史机遇,就看你是否做好了准备!
自动化测试入门看似简单实际上还是需要有非常专业的知识背景作为基础,如果想要有更专业的老师指导,可以联系安妹。