软件测试人员能用python做哪些事情?

本篇转载自黑马测试高赞知乎文章:https://www.zhihu.com/question/31593520/answer/1677327903

先抛出结论:软件测试人员能用python做的事情很多,最常见的就是下面四项:
1)做自动化测试【web自动化,App自动化,接口自动化】,
2)做性能测试,
3)开发小工具,
4)搭建测试平台.

Python已经成为最受欢迎的程序设计语言之一,因为其具有简单易学、免费开源、且功能强大的特点。软件测试人员的编程能力相对较弱,Python语言又比较容易上手,所以如果想学习编程语言的话Python是首选。
下面就带大家了解下python是怎么实现上述四件事情的。注意,如果想实现文中代码的演示,请提前安装好python环境:
《python集成开发环境》 https://pan.baidu.com/share/init?surl=FSoKj6quleycq-3c1yd6Ug 密码:dx3r
《python安装包python-3.6.4 》https://pan.baidu.com/share/initsurl=RnStAjHwM0WnowWylrvLbw 密码:7f66
抓好了,车开了。
一、用Python做自动化测试
对于软件测试人员来说,使用python最主要的就是来做自动化测试,提高测试的工作效率,保证产品的质量。自动化测试又可以分为几大方向:1)Web自动化测试、2)App自动化测试、3)接口自动化测试。
1. Web自动化测试
当前市场上最主流的Web自动化测试工具就是Selenium,所以通过编写Python+Selenium脚本可以实现对Web项目的自动化测试。
1.1 现在给大家做下简单的演示如何安装Selenium::
以Windows系统为例,打开cmd命令行窗口输入命令:
1.2 安装浏览器驱动的步骤:
1.2.1 下载浏览器驱动
各个驱动下载地址: http://www.seleniumhq.org/download/
浏览器的版本和驱动版本要一致!
1.2.2 把驱动文件所在目录添加到Path环境变量中
1.3 入门示例需求:
通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器
示例代码:
提示:当对一个企业级的项目实现Web自动化测试时,除了使用Python+Selenium之外,还需要学习一些测试框架来管理维护测试用例(如:UnitTest、PyTest),还需要学习PO模式采用面向对象的封装思想来封装要操作的页面,还需要学习数据驱动思想实现测试脚本和测试数据的分离,还可以引入日志收集等技术来协助测试。
2. App自动化测试
当前市场上最主流的App自动化测试工具就是Appium,所以通过编写Python+Appium脚本可以实现对App项目的自动化测试。
App自动化测试的环境搭建相对比较复杂,需要安装的软件有:
安装JDK
安装Android SDK
安装Appium
安装Appium-python库
安装模拟器(或者使用真机)
需要查看App自动化如何测试的,推荐查看下列视频教程:
1)《移动端测试基础知识视频》
2)《0基础入门移动自动化Appium框架》

3) 《Appium进行IOS真机自动化测试》

3. 接口自动化测试
使用Python做接口自动化测试最常用的库是Requests,所以通过编写Python+Requests脚本可以实现接口自动化测试。
3.1 安装Requests:
以Windows系统为例,打开cmd命令行窗口输入命令:
3.2 入门示例需求:
通过程序发送请求调用百度搜索接口
3.3 示例代码:》
提示:当对一个企业级的项目实现接口自动化测试时,除了使用Python+Requests之外,还需要学习一些测试框架来管理维护测试用例(如:UnitTest、PyTest),还可以采用分层的思想实现接口自动化测试框架的封装,还需要学习数据驱动思想实现测试脚本和测试数据的分离,还可以引入日志收集等技术来协助测试。
二、用Python做性能测试
在做性能测试时一般都会使用工具实现,比如使用Loadrunner、JMeter等工具。但是通过编写Python代码同样也是可以实现性能测试的。Python语言中比较流行的性能测试框架是Locust,一个开源的性能测试工具,在代码中定义用户行为,支持分布式和可扩展,通过Web页面可以实时查看测试细节。
安装Locust:
以Windows系统为例,打开cmd命令行窗口输入命令:
2. 示例代码:
三、用Python开发小工具
在实际的测试工作中经常需要处理一些测试数据,比如解析日志文件中数据,大批量生成操作数据库的sql语句等需求。通过编写Python代码可以非常方便的实现数据的处理,并且Python中有大量的第三方库也可以帮助我们解决很多问题。也可以开发一些在日常工作中经常使用的小工具,协助提高工作效率。
小需求:实现在商品表中插入10000条数据的sql语句
示例代码:
四. 用Python搭建测试平台
使用Python也可以搭建自动化测试平台,这些平台能够服务于普通的测试人员,提高测试的效率,给公司创造价值。不过搭建测试平台对编程能力的要求会更高,除了学习一些自动化测试框架之外,还要再学习一些Web框架,比如:Django、Flask,以及如何通过代码实现数据库的操作。
1、安装Flask:
2、编写Flask程序:
编写Flask程序:
启动运行:像正常运行普通python程序一样即可
访问:打开浏览器,在地址栏里输入即可访问。

若你是对测试不太了解的测试小萌新,有太多太多对测试的疑惑(前途、薪资、技术含量、男生是否可以干.....),强烈推荐你观看《测试小白必看:学习软件测试必问的100个问题,从此贴开始》,相信能扫除掉你心目中90%以上的常见问题
《软件测试100个常见问题》:http://bbs.itheima.com/thread-507947-1-1.html

最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括软件学习路线图,黑马50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..
《2021软件测试学习路线图,内附视频教程+自学路线+工具+面试篇》:bbs.itheima.com/thread-405757-1-1.html