用python做自动化测试--序

2023-10-27

几年来,都有个想法:写个《用Python做自动化测试》的系列文章。把自己的经验和大家共享,和大家多交流,同时总结下自己掌握的东西。但苦于一直忙,其实准确点的说是自己懒,迟迟没有开始。我想不能再懒了,要不以后会更忙、更懒。

我为什么选择python做测试? 其实没特别的理由,自己学了perl, python,发现perl语法比较难,python比较简单,可读性也很好。正是因为自己偷懒的想法,赶上了python的壮大,发现现在python的应用很广泛,人才需求也很大,这个得益与这几年互联网公司敏捷开发模式的兴起,python正好符合互联网公司的需要,正如Python界口号:人生苦短,我用Python。

        站在客观的角度总结了些Python 的有点:

 

  1.    学习难度小,开发周期短。对目前国内大多数测试人员来说,编码经验不足,python是个很好的入门语言。
  2.  胶水语言,能与C++, Java, COM, and .NET,Object-C 整合。 测试部门要做单元测试,接口测试,因为人员比例的关系,不可能让测试人员同时掌握多门语言,python可以对C/C++, Java, Object-C进行接口封装后,实现单元测试。
  3. 语法简约,清晰。减少后期维护的难度。
  4. 跨平台
  5. 大量可用的库(但python的库有个缺点是,不像perl一样,有个CPAN类库集中地,大部分集中在SourceForge,其实有google这些都不是问题)
  6. 成熟的框架。web: django,zope。高性能网络框架:twisted,gevent
  7. 丰富python测试工具。此系列文章主要关注于python在测试中的应用。这里有很全面的测试工具介绍(http://wiki.python.org/moin/PythonTestingToolsTaxonomy),从web测试,到性能测试,单元测试,持续集成等。

 

   看过以上优点,可以说python在测试当中的所有应用都可以覆盖到,以后测试界也许可以流行:测试好烦,我用Python。

 

   此系列文章主要总结本人在实际的测试工作中的Python应用,大概会覆盖下面内容,有增加的后面在补充。(此系列文章不会介绍python的学习, 入门学习者参考《Python入门手册》和《Python核心编程》)

  •  Python对服务器端的自动化测试
  • Python对web的自动化测试
  • Python对数据库的自动化测试
  • Python对GUI的自动化测试
  • Python网络编程
  • Python高性能网络测试框架
  • Python画图和科学计算
  • Python实现远程性能监控
  • Python实现自动化性能测试
  • Python数据分析、数据挖掘
  • Python对Android APP的自动化测试
  • Python对Java代码做单元测试

以上内容的推出,不会完全按照上面顺序,但会对每项内容分专题。

以上的内容也不完全是博主深入介入过的,有些也在继续学习中。

       

 

 

   

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用python做自动化测试--序 的相关文章

  • (discord.py) 尝试更改成员角色时,“用户”对象没有属性“角色”

    因此 我正在尝试编写一个机器人 让某人在命令中指定的主持人指定的一段时间内暂停角色 我知道该变量称为 小时 即使它目前以秒为单位 我稍后会解决这个问题 基本上 它是由主持人在消息 暂停 personmention numberofhours
  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • [NOIP2014]珠心算测验 T1

    珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术 珠心算训练 既能够开发智力 又能够为日常生活带来很多便利 因而在很多学校得到普及 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法 他随机生成一个正整数集合 集合中的
  • go Hijack

    golang GO语言 http详解简单基础 1 因为好像长时间的写PHP可能大家感觉烦躁了 所以写一点golang的东西大家可以拿去玩玩 golang在web开发中让你得心应手 其实也是很好的东西 只要你玩进去之后感觉好爽 感觉比PHP的
  • 网络安全笔记5——数字签名

    网络安全笔记5 数字签名 参考课程 中国大学MOOC 网络安全 北京航空航天大学 文章目录 网络安全笔记5 数字签名 基本概念 分类 数学表示 RSA数字签名机制 ElGamal数字签名机制 Schnorr数字签名机制 DSS数字签名机制
  • 未能找到任何适合于指定的区域性或非特定区域性的资源

    试了所有的方法都不行 最后把resx文件删了 重新添加图片图标 ok
  • UVa 133 The Dole Queue(圈的下标处理)

    本题难点在于用数组处理圈状物时下标的计算 include
  • C++下几种新的数据类型

    一 CString 用法 CString s 123 对应库 include
  • 如何查看是否安装了java环境?

    一 win R 输入cmd 二 回车后进入cmd界面 三 在cmd窗口中输入java 若提示 java 不是内部或外部命令 也不是可运行的程序或批处理文件 则表示未安装JRE 这个错误提示表明系统无法找到 java 程序 可能是由于 Jav
  • Datatables

    1 10 x与1 9 x参数名对照表 Datatables 1 10 x在命名上与1 9 x的有区别 新版的使用的是驼峰的命名规则 而之前的是采用匈牙利命名规则 当然 这些变化都是向下兼容的 你可以继续使用旧版本的api方法的参数和名称 如
  • MongoDB安装配置详细教程

    1 安装平台 windows win7 win10均可 2 MongoDB安装包下载 MongoDB的安装包下载地址 https www mongodb com download center atlas 3 安装过程 1 运行下载的msi
  • 搞笑幽默段子-1(仅供娱乐)

    老师问小明 小明 你昨天为什么没来上课 小明回答 老师 我昨天去办事 结果碰到一只猪 我和它相视了一会儿 然后它居然把我当成兄弟 跟着我进了学校 我只好带着它一起上课 老师一脸错愕 你确定那只猪跟着你一起进了学校 小明犹豫片刻 回答 老师
  • node实现文件上传(1)

    1 FormData对象 以对象的方式来表示页面中的表单 又称为表单对象 以key value的方式来保存数据 XMLHttpRequest对象可以轻松的表单对象发送的服务器端 1 是一个构造函数 new FormData 2 常用的API
  • 分布式事务的二阶段提交和三阶段提交

    分布式事务 是指存在多个跨库事务的事务一致性问题 或者是指分布式架构下由多个应用节点组成的多个事务之间的事务一致性问题 在单点服务时 某电商会员购买上市时会出现以下情况 开启数据库事务 创建订单 会员积分减少 商品库存减少 提交数据库事务
  • MYSQL获取最近7天的日期

    写一个简单的 获取最近7填日期的sql select DATE SUB curdate INTERVAL 1 DAY day1 union select DATE SUB curdate INTERVAL 2 DAY day2 union
  • Zookeeper基础知识(一)

    一 Zookeeper是什么 ZooKeeper是一个开放源码的分布式协调服务 它是集群的管理者 监视着集群中各个节点的状态根据节点提交的反馈 进行下一步合理操作 最终 将简单易用的接口和性能高效 功能稳定的系统提供给用户 分布式应用程序可
  • echarts的grid——图表的位置配置

    博主 小猫娃来啦 文章核心 echarts的grid 图表的位置配置 文章目录 认识并了解grid grid有哪些属性 有什么用 关键点 grid所有属性 containLabel属性 总结 认识并了解grid 首先还是先认识grid 要弄
  • VMware中安装Ubuntu

    前言 本文档将演示通过 VMware 安装 Ubuntu 所使用的文件如下 VMware Workstation Pro ubuntu 16 04 6 desktop amd64 iso 本文档分为三个部分 新建虚拟机 安装系统 调整页面
  • gradle引入依赖包/maven引入依赖包

    1 打开https mvnrepository com 搜索出需要的jar包 2 点击进入需要jar包 选择maven或gradle的tab页 复制依赖url即可 如图 3 gradle项目的话 点击buildDependents即可 如图
  • 工业机器人仿真参考

    最近有一些朋友看到我做的关于Unity3d仿真机器人的项目 本次我在平台做以分享 希望的朋友或者有需要在此基础做开发的可以参考下 开发工具 下位机 Unity3D 上位机 Visual Studio 机械臂模型 TH6 QKM SCARA
  • Linux内核启动过程学习

    过完年来 敲着键盘都有点生疏了 很多东西都有点忘记了 还有刚上班还有点不习惯 状态还没有转换过来 没有办法趁这个机会就复习一下Linux的启动过程吧 asmlinkage void init start kernel void char c
  • 用python做自动化测试--序

    几年来 都有个想法 写个 用Python做自动化测试 的系列文章 把自己的经验和大家共享 和大家多交流 同时总结下自己掌握的东西 但苦于一直忙 其实准确点的说是自己懒 迟迟没有开始 我想不能再懒了 要不以后会更忙 更懒 我为什么选择pyth