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

Python已经成为最受欢迎的程序设计语言之一,因为其具有简单易学、免费开源、且功能强大的特点。软件测试人员的编程能力相对较弱,Python语言又比较容易上手,所以如果想学习编程语言的话Python是首选。
下面就带大家了解下python是怎么实现上述四件事情的。注意,如果想实现文中代码的演示,请提前安装好python环境,大家可以在官网上按照步骤来安装
关于标题,有的软件测试工程师用python爬取小姐姐的照片,这是真的,但是作者是一个光明磊落的人,就不写那些东西了,讲点干货!

一、用Python做自动化测试

对于软件测试人员来说,使用python最主要的就是来做自动化测试,提高测试的工作效率,保证产品的质量。自动化测试又可以分为几大方向:1)Web自动化测试、2)APP自动化测试、3)接口自动化测试。
1. Web自动化测试
当前市场上最主流的Web自动化测试工具就是Selenium,所以通过编写Python+Selenium脚本可以实现对Web项目的自动化测试。
1.1 现在给大家做下简单的演示如何安装Selenium::
以Windows系统为例,打开cmd命令行窗口输入命令:pip install selenium
1.2 安装浏览器驱动的步骤:
1.2.1 下载浏览器驱动

  • 各个驱动下载地址: seleniumhq.org/download

  • 浏览器的版本和驱动版本要一致!

1.2.2 把驱动文件所在目录添加到Path环境变量中
1.3 入门示例需求:
通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器
示例代码:
# 导包 from selenium import webdriver import time  # 创建浏览器驱动对象 driver = webdriver.Chrome()  # 加载web页面 driver.get("baidu.com/")  # 暂停3秒 time.sleep(3)  # 关闭驱动对象 driver.quit()
提示:当对一个企业级的项目实现Web自动化测试时,除了使用Python+Selenium之外,还需要学习一些测试框架来管理维护测试用例(如:UnitTest、PyTest),还需要学习PO模式采用面向对象的封装思想来封装要操作的页面,还需要学习数据驱动思想实现测试脚本和测试数据的分离,还可以引入日志收集等技术来协助测试。
2. APP自动化测试
当前市场上最主流的APP自动化测试工具就是Appium,所以通过编写Python+Appium脚本可以实现对APP项目的自动化测试。
APP自动化测试的环境搭建相对比较复杂,需要安装的软件有:

安装JDK
安装Android SDK
安装appium
安装Appium-python库
安装模拟器(或者使用真机)

需要查看app自动化如何测试的,加入我的软件测试交流群:175317069,群里面有大佬亲讲的自动化测试视频,还有免费的软件测试资源领取(功能测试,自动化测试,性能测试)

3. 接口自动化测试
使用Python做接口自动化测试最常用的库是Requests,所以通过编写Python+Requests脚本可以实现接口自动化测试。
3.1 安装Requests:
以Windows系统为例,打开cmd命令行窗口输入命令:pip install requests
3.2 入门示例需求:
通过程序发送请求调用百度搜索接口http://www.baidu.com/s?wd=python
3.3 示例代码:》
# 导包 import requests  # 发送GET请求 response = requests.get("baidu.com/s?")  # 获取响应数据 print("text=", response.text)
提示:当对一个企业级的项目实现接口自动化测试时,除了使用Python+Requests之外,还需要学习一些测试框架来管理维护测试用例(如:UnitTest、PyTest),还可以采用分层的思想实现接口自动化测试框架的封装,还需要学习数据驱动思想实现测试脚本和测试数据的分离,还可以引入日志收集等技术来协助测试。

二、用Python做性能测试

在做性能测试时一般都会使用工具实现,比如使用Loadrunner、JMeter等工具。但是通过编写Python代码同样也是可以实现性能测试的。Python语言中比较流行的性能测试框架是Locust,一个开源的性能测试工具,在代码中定义用户行为,支持分布式和可扩展,通过Web页面可以实时查看测试细节。

  1. 安装Locust:

以Windows系统为例,打开cmd命令行窗口输入命令:pip install locustio
2. 示例代码:
from locust import HttpLocust, TaskSet def login(l): l.client.post("/login", data={"username": "admin", "password": "123456"}) def logout(l): l.client.post("/logout") def index(l): l.client.get("/index") def profile(l): l.client.get("/profile") class UserBehavior(TaskSet): tasks = {index: 3, profile: 1} def on_start(self): login(self) def on_stop(self): logout(self) class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 5000 max_wait = 9000 host = "192.168.1.2/bms"

三、用Python开发小工具

在实际的测试工作中经常需要处理一些测试数据,比如解析日志文件中数据,大批量生成操作数据库的sql语句等需求。通过编写Python代码可以非常方便的实现数据的处理,并且Python中有大量的第三方库也可以帮助我们解决很多问题。也可以开发一些在日常工作中经常使用的小工具,协助提高工作效率。
小需求:实现在商品表中插入10000条数据的sql语句
示例代码:
for i in range(10000): goods_name = f"小米手机{i}" count = 100 price = 1999 sql = f"insert into t_goods(goods_name,count,price) values('{goods_name}', {count}, {price});" print(sql)

四. 用Python搭建测试平台

使用Python也可以搭建自动化测试平台,这些平台能够服务于普通的测试人员,提高测试的效率,给公司创造价值。不过搭建测试平台对编程能力的要求会更高,除了学习一些自动化测试框架之外,还要再学习一些Web框架,比如:Django、Flask,以及如何通过代码实现数据库的操作。
1、安装Flask:pip install Flask
2、编写Flask程序:
编写Flask程序:
from flask import Flask, jsonify  # 创建一个应用对象 app = Flask(__name__) # 定义视图函数,设置路由规则 @app.route("/index") def index(): return "hello" @app.route("/login", methods=["POST"]) def login(): data = { "code": 10000, "uid": 1001, "token": "xxx" } return jsonify(data)  if __name__ == '__main__': # 启动WEB服务器 app.run()
启动运行:像正常运行普通python程序一样即可
访问:打开浏览器,在地址栏里输入http://127.0.0.1:5000/index即可访问。

总结完软件测试人员能用python做最常用的四件事情后,如果你还觉得不过瘾,想了解到更多自动化测试的的知识,请不要担心没有“自动化测试”自学资料,现在就给大家奉上一份13G的超实用干货测试学习资源,涉及的内容非常全面。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走关注我的公众号【程序员小濠】免费获取~包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

Python自动化?软件测试工程师竟然用它干坏事!相关推荐

  1. Python自动化软件测试,解放我们的双手

    一.首先我们要了解我门做软件测试的原因,为什么要做软件测试 1.软件产品的监视和测量 对软件产品的特性进行监视和测量,主要依据软件需求规格说明书,验证产品是否满足要求.所开发的软件产品是否可以交付,要 ...

  2. 如何从小白成为自动化软件测试工程师?

    本文主要从自动化测试的学习思路和软件测试工程师所需的能力两方面讨论交流 01 自动化测试的学习思路 先咱们先说第一个,自动化测试的学习思路 因为前面咱们也已经说过,要做自动化测试,是一定要会语言的,为 ...

  3. Python自动化软件测试,解放我们的双手!

    一.首先我们要了解我门做软件测试的原因,为什么要做软件测试 1.软件产品的监视和测量 对软件产品的特性进行监视和测量,主要依据软件需求规格说明书,验证产品是否满足要求.所开发的软件产品是否可以交付,要 ...

  4. 2020软件测试自学全套教程-基于python自动化软件测试-2020新版软件测试中级程序员学习路线

    不知不觉间,在软件测试行业野蛮的折腾了七年之久.七年之痒也即将过去,但我还是热爱着软件测试这一份工作,一路坚持,走到现在.经历过各种难题,有过迷茫,有过焦虑失眠.也踩过无数的坑,深知行业的不易.自从9 ...

  5. 2022软件测试自学全套教程-基于python自动化软件测试-2022新版软件测试中级程序员学习路线

    不知不觉间,在软件测试行业野蛮的折腾了七年之久.七年之痒也即将过去,但我还是热爱着软件测试这一份工作,一路坚持,走到现在.经历过各种难题,有过迷茫,有过焦虑失眠.也踩过无数的坑,深知行业的不易.自从9 ...

  6. 2023备战金三银四,Python自动化软件测试面试宝典合集(二)

    马上就又到了程序员们躁动不安,蠢蠢欲动的季节~这不,金三银四已然到了家门口,元宵节一过后台就有不少人问我: 现在外边大厂面试都问啥 想去大厂又怕面试挂 面试应该怎么准备 测试开发前景如何 面试,一个程 ...

  7. 2023备战金三银四,Python自动化软件测试面试宝典合集(三)

    马上就又到了程序员们躁动不安,蠢蠢欲动的季节~这不,金三银四已然到了家门口,元宵节一过后台就有不少人问我: 现在外边大厂面试都问啥 想去大厂又怕面试挂 面试应该怎么准备 测试开发前景如何 面试,一个程 ...

  8. 2021最新Python自动化软件测试笔试题(含答案)

    1.TCP是互联网中的(1 A)协议,使用(2 C)次握手协议建立连接.当主动发出SYN连接请求后,等待对方回答(3 A).这种连接的方法可以防止(4 D),TCP使用的流量控制协议是(5 B). ( ...

  9. Python自动化软件测试的发展前景及学习路线!

    前言: 很多刚入行的朋友可能会遇到的一个问题,也是很多想要入行的朋友所关心的一个问题,就是:这个行业前景怎么样,我入行的话会出现什么样的问题,遇到题主这样的问题怎么办?遇到瓶颈怎么破? 我先分析一下软 ...

最新文章

  1. R语言explore包进行探索性数据分析实战(EDA、exploratory data analysis):基于iris数据集
  2. POJ值得做的题目(一)
  3. gva explaination
  4. 易宝典文章——用ISA 2006标准版发布Exchange 2010的OWA系列之申请Excha
  5. recv发送失败 缓冲区太小_从 GFS 失败的架构设计来看一致性的重要性
  6. 信息学奥赛C++语言: 跑步
  7. java中的 ok_java okhttp包的类特点
  8. PHP------继承、多态
  9. 爱我或者恨我,我就是我!
  10. C#程序之二 -- 数独小游戏(1. UI设计)
  11. SQL常用语句(大全)
  12. Petalinux2019.1详细安装
  13. 网络会议openmeetings下的openmeetings-util文件分析3
  14. java求因子_一个数恰好等于它的因子之和java
  15. 适用于任何设备的屏幕共享应用程序 – Mirroring360
  16. AnySim一键解锁教程nbsp;只适用于新iPhone
  17. 在ACM的巨坑里挣扎的弱鸡整理的模板
  18. 阿里巴巴菜鸟网络电话面试
  19. 互联网业英汉对照词汇
  20. 模拟3d星空python_Python Blender 绘制3D宇宙飞船

热门文章

  1. MindSpore【数据集功能】无法查看数据集
  2. 【maven】maven是什么?maven安装及idea中使用maven
  3. Python编程基础题(9-求绝对值最大的元素)
  4. Cy5-MAL,Cy5-马来酰亚胺,1437796-65-0,1437872-46-2
  5. 「张一鸣」“突袭”「王兴」
  6. STEP7 V5.5 SP4 HF1 + WINCC7.2 + PLCSIM V5.4 SP5工程项目如何进行PLC程序和WINCC画面仿真运行
  7. 云计算:SaaS、PaaS、IaaS、CaaS并不神秘
  8. 在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境(新手必看!简单可行!)
  9. jquery mobile mobiscroll 日期插件使 用mobiscroll
  10. 无法下载图片 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insec