python自动化框架学习路线
上学期间,学习编程课程,接触编程语言C语言、C++,JAVA,QT,因为上学期间,学习不是很好,掌握的内容不是很精通,故而对工作中遇到的问题,不能解决。
第一次工作是外派到华为,面试职位是C语言开发,由于C语言掌握不精通,面试很不理想,面试官向我推荐了手机测试方向,我同意了,就这样自己会进入到测试行业。
刚进入测试行业,对测试行业不是很了解,混过了四个年头,再次一直做手机相关测试,编程语言基础已经相忘。
对我人生最大的改变来自结婚后,一次偶然的机会,通过同学介绍,进入到一家创业型互联网公司,正式这次换工作,使我接触到了app,web测试,因为刚转行,对里面的内容不是很清楚,只能慢慢接触,再了解。
学习过程中,总是听到人们说自动化,说实在的,我虽然有点编程基础,但是对自动化也不是很了解,但是总感觉高大上,因为自己有基础,所以想要掌握自动化,为自己工资而要学习,但是因为周围没有会自动化的人,无法请教,前面没有道路而耽搁,有一年过去了。
来到人人贷这里,我接触到了接口,自动化,我开始学习,一年时间虽然没有掌握多少内容,但是对我自己来说是一个巨大的提升,使我明白了要学习什么,掌握什么内容!
1,选择一门编程语言
自动化脚本根据脚本分为两种:录制脚本和编程语言编程的脚本,我要学习自动化肯定是要用语言开发测试脚本,所以需要选择一门编程语言。
现在开发自动化测试脚本语言最流行的是JAVA和Python,虽然我之前接触JAVA,但是经过选择后,我使用Python作为编程测试脚本的语言。从而开始自己学习python语言,python语言有很多详细资料,从网上都能搜索到,或者买一本基础教程
2,根据自动化测试目标不一致,分为三种:appUI自动化测试,webUI自动化测试,接口自动化测试,要做自动化测试,肯定需要持续集成,所以需要很多知识
3,很多人都听过自动化测试框架,为什么会有自动化测试框架?因为框架提供了很多基础功能,还可以自己封装一些重复的代码模块,这样我们调用比较方便,或者对一些不了解代码的人,修改脚本也可以很快的掌握自动化测试框架,
4,appUI搭建框架使用python+uniitest+appium工具,
5,webUI搭建框架使用python+selenium+unittest
6,接口测试框架使用python+unittest+requests
一般来说学习自动化先学习webUI自动化,掌握其中搭建框架思想后,其他两个很快就会掌握,因为框架思路是一致的,只是掌握的知识不一样。
搭建webUI自动化测试框架,需要学习以下知识
python:需要一门编程需要来编写测试脚本(必须学习unittest和文件管理),做web自动化,需要理解web页面是怎样开发的,所以需要了解html,css,javascript怎么开发web页面的,这对我们学习web自动化有很大的帮助,学习这些内容后,我们要学习selenium模块是怎么操作web页面的,这里就要学习selenium模块中api和定位元素方法
学习到这里,已经可以搭建一个框架了,但是远远不够,现在框架大部门都是需要数据和程序分离,但是数据存储到那里呢?数据可以存储到txt文件,csv文件,excel文件中,MYSQL数据库中,因为现在很多调用的数据都是存放到数据库中的,所以我们需要学习mysql数据库。
搭建框架中,有些数据进行配置可以改变测试内容,例如浏览器啊,这些数据可以存放到配置文件中,配置文件格式一般分为ini和conf文件,读取配置文件需要了解python configparse模块,测试过程中,出现问题,需要定位问题出现的位置。所以需要学习python 的logging模块,打印日志,测试完成后,你想要知道结果统计,需要HTMLTestRunner
框架搭建完成后,你要考虑怎么每个时间段自动执行,需要持续集成,需要用到jenkins,jenkins一般都部署到服务器上,我们编写的代码需要上传到服务器上,一般都会使用git和svn。
appium使用的api和定位方法和selenium一直,只是比selenium多了几个触屏的api,
接口测试需要用到requests,主要是http相关,这些都是我自己理解的,有不足之处,请多多包含,因为我接触自动化也不是很长时间。