前言
作者在别处技术论坛一口气开通了3个收费专栏,且自开通以来,感谢平台及粉丝的热情,平均月盈100大洋左右,作者也承诺过订阅的粉丝,有问题可以随时交流及探讨,希望力所能及的能帮助到粉丝。当然,这从作者的立场来看,开通收费专栏且能有收益,是有点受宠若惊的,但是站在读者的立场,却又有点美中不足,一是目录结构不够系统,有点东拼西凑的感觉;二是内容篇幅不够清晰明了,有些全是代码,有些概念又没讲透彻;多多少少觉得作者虚有其表华而不实。然后又被掘金运营大佬拉来掘金发展,弃之不顾,又无时间优化,作者本人也深感不安,有点辜负粉丝的错爱;故而借此掘金运营活动,重新梳理专栏内容,虽然在掘金不能换成现金,但是月度更文的奖励也极为丰富,再次欢迎各位多多支持!!!
介绍
从作者的测试岗位本身来说,无论在富有名气的技术论坛还是岗位圈子本身,都显得有点微不足道;所以作者也希望通过这样的一个平台来展现自己。作者之前有从事过流水线的QC(JQE)、嵌入式软件测试(偏硬件)、游戏测试、OA系统测试(非纯粹的互联网行业)、信用卡系统测试(金融)、P2P软件测试(正式进入互联网软件行业)等等行业,岗位级别呢也从初级一步步的走向管理岗(嗯,走的是技术+管理路线)。虽然离高段位还有一段蛮长的路(这也需要一定的机遇),但是谁也不能阻挡作者努力走在通往高段位的路上,加油吧,中年大叔。
接口自动化测试
在搭建框架之前,先回答某些入门测试人员的问题:
什么是接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
– –摘自百度百科
为什么选择python
为什么不是java或其他编程语言呢?其实这一波python火是被线上培训机构带火的,打着0基础、简单易学、容易入手的‘幌子’‘骗’进来一群刚踏进测试之门、或已在走上迷途的小羔羊,不过事实也的确如此:Python的确有它火的优势,从事接口/UI自动化测试已绰绰有余、并能获得一定丰厚的报酬。不信?你开始学一下就知道了,听百遍不如实操一次。
什么是自动化测试
这个概念的目的是为了节省资源、提升效率而引入的,这也变成近几年测试高薪最引人瞩目的高频词,如果出去找测试岗位的工作,不知道自动化测试,都不好意思出去面试。且看百度百科如何定义:
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
如何学好接口自动化测试
这是一门学科,作者得给大伙儿好好的说道说道,首先要知道如何做接口测试,不管是利用工具还是编码,其原理都是一样的;然后以工具实现一套接口自动化测试方案,最后再以编码实现一遍!
可能就有同学会问了:为啥不直接编码实现?为啥会工具自动化了,还要编码自动化?
嗯…从测试入门开始,并不是每个人都有精准的职业规划,譬如说作者,大多自动化技术都是由工具引入的,这也是大多数测试从业者的现状,一开始听说测试入门容易、工资高(相比其他行业)、甚至可以理解成钱多事少就无脑蜂拥而至,以致于N年后还是点点点工程师,那么真的是这样吗?
数年之后,分化显得尤为明显。(嗯,作者是7年之后才开始自动化学习的,比较汗颜)越往后面测试岗无论是薪资还是级别都一道难跨过的坎。作者也时常宣导,先是会一套工具自动化测试解决方案,再去编码实现一套,你既实现了工具内部核心功能又能有自己思考,那么不管最后是黑猫还是白猫,能抓住老鼠的就是好猫。
最后编码会解决工具的局限性,扩展框架的灵活性。毕竟别人写好的工具永远都是别人的,你用得再好那也只是能为你解决某些问题,哪有自己定制的用得得心应手及成就感爆棚呢。
环境搭建
工欲善其事必先利其器,本篇是环境篇,不讲任何代码和实现逻辑
python环境的安装
版本选择python3.5及以上,不要问为啥不是python2,再问就是python4
上python官网下载
- 先预告一下,在python开发之前,要养成使用虚拟开发环境的习惯,一方面为了项目迁移,二是做到环境隔离、互不干扰。
-
- 至于虚拟环境的选择,一是python -m env /path;二是选择其他虚拟环境工具(第三方库);三是Anaconda。
-
- 萝卜白菜各有所爱,这里就不演示下载到安装的过程了,直接看效果,以win系统为例调起cmd窗口输入python -V
可以看到当前python版本:Python 3.10.0
- 萝卜白菜各有所爱,这里就不演示下载到安装的过程了,直接看效果,以win系统为例调起cmd窗口输入python -V
IDE开发工具安装
python有自己的专属开发工具,如Pycharm它有两个版本:企业版和社区版
-
作者爱用eclipse,因为作者偶尔也会写点Java,所以使用eclipse可以随意切换python和java工作空间。
-
eclipse安装Pydev插件即可开始python编码。
-
- 在Eclipse的help–install new software里,
点击ADD 名字输入Pydev,链接地址输入:pydev.org/updates
- 在Eclipse的help–install new software里,
-
- 然后选择PyDev:dl.bintray.com/fabioz/pyde… ,另一个可以不选。就可以下载了,然后一步一步确认往下走。
安装完毕后,重启eclipse生效。
- tips: eclipse与pydev的版本对应关系,作者建议初学者使用Pycharm,缘由是作者已经改变不过来了。
程序员的第一个程序:Hello World。
- 在eclipse创建python项目,创建HelloWorld.py文件,输入:
print("Hello World!")
-
右键执行,控制台输出:
Hello World! -
在cmd输入python进入ipython交互界面,输出print(“Hello World!”)回车,如图:
- 在第一个方式里创建文件输入代码之后,回到cmd命令窗口,进入工程目录下,执行python HelloWorld.py,结果如下:
pip工具
前面只是完成了python环境到IDE工具的安装与部署,这对于环境本身是没有问题的,如果要做接口测试的话,可能还不够,需要依赖python的第三方库才能完成接口测试作业,那么pip这个安装工具就有用武之地了,就像npm于node一样。
- pip install requests # 安装过程略;
-
- 可以指定安装版本requests==2.4.3,默认安装是最新版
requests就是完成接口测试的主要工具
- 使用效果演示:
import requests
res = requests.get("http://www.baidu.com")
print(res.text)
请求百度网址得到结果是它的源码,这里就不贴出来了
总结
至此,接口测试python开发环境部署完成。
敲黑板,敲黑板,敲黑板!!!
注意啦,重点来了。在实际使用过程中,可能会出现依赖库版本与python版本的不兼容,不过不要慌,建议使用两者间的稳定版,还有一个问题就是虚拟环境,切记要隔离环境。写在最后,祝大家接口自动化测试学习愉快!!!