Python语言是一种面向对象的用途广泛的变成语言,语法清晰,可以完成许多任务,由于海量的第三方库的存在,实现的功能非常多也非常的容易。

  Python是一种动态的脚本语言,学习成本大大低于Java等编程语言,因此对于我们测试人员来说,如果需要掌握一门语言,当然Python是最好的选择;

  Python丰富的第三方库,几乎想要的功能,都能找到对应的库,而我们应用这些库的时候,只考虑怎么去使用这些库提供的API而不用考虑怎么去实现,极少出现需要二次开发的情况;

  Python开发效率很高,同样的任务大约是java的10倍,C/C++的10-20倍,当然这个统计来源于一些编程人员的感受,并不是精确的数值,但是也可以看出其开发效率之高。我们测试人员一般都会主要以手工测试为主,因此不可能全职来运用某种语言实现,因此肯定需要选择效率高的,人生苦短,我用Python;

  Python支持多种系统,linux、mac上都默认安装了Python,windows更不用说,当我们测试需要在各种平台运行脚本的时候,几乎不用考虑跨平台。

  那如果我们学会了Python,哪些方面可以应用Python来辅助我们的测试呢?显而易见并应用最广泛的当属自动化测试了。

  Python + Selenium实现web端的UI自动化:

  Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。

  Python与Selenium结合能够很好的实现web端的UI级别的自动化。Selenium几乎能解决目前遇到的web页面中所有的定位难题,当然有些特殊的可以借助JavaScripts也可以实现。

  Python + Requests实现接口测试

  进入python requests官网看到的的第一句话是:

  Requests 唯一的一个非转基因的Python HTTP 库,人类可以安全享用。

  通过requests库提供的各种API可以非常方便的模拟HTTP请求,实现接口自动化测试。

  Python + Appium实现app自动化测试:

  Appium是一个自动化测试开源工具,支持 iOS 平台和Android 平台上的原生应用,web 应用和混合应用。

  所谓的 移动原生应用 是指那些用iOS 或者 Android SDK 写的应用。所谓的 移动 web 应用 是指使用移动浏览器访问的应用(Appium 支持 iOS 上的Safari 和 Android 上的 Chrome)。所谓的“混合应用”是指原生代码封装网页视图——原生代码和web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。

  重要的是,Appium 是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS 和 Android 测试套件间代码的复用性。

  Appium也是多语言支持,当然也是支持python的,运用python + Appium可以实现跨平台的app UI自动化测试。

  Python编写工具辅助测试:

  Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:

  Tkinter:

  Tkinter 模块(Tk 接口)是Python 的标准 Tk GUI 工具包的接口。Tk 和 Tkinter 可以在大多数的Unix 平台下使用,同样可以应用在Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

  wxPython:

  wxPython 是一款开源软件,是 Python 语言的一套优秀的GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的GUI 用户界面。

  Python还有很多快速开发的web框架,比如Django、falsk、webpy等,通过这些框架也是能很容易快速的开发出web应用。

  通过这些GUI库、web框架,可以写出很多小工具辅助测试。

  结语:

  一旦你学会一门语言,对于日常工作中,都可以自己写点工具来解放那些繁琐重复的工作,让你有更多的时间放在更有意义的测试上。同时你也学到了很多的技术,也能让你更好的完成测试工作。

Python在测试中的应用相关推荐

  1. python行为驱动测试开发_行为驱动开发在 Python 开发测试中的应用

    行为驱动开发 (BDD) 简介 行为驱动开发是什么? 说到行为驱动开发(BDD),无可避免的要提到敏捷里面的测试驱动开发(TDD),TDD 的主要思想是"代码即文档",其倡导的流程 ...

  2. python代码测试工具模块_详解Python中的测试工具

    当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程 ...

  3. python参数化_Python 中如何实现参数化测试的方法示例

    之前,我曾转过一个单元测试框架系列的文章,里面介绍了 unittest.nose/nose2 与 pytest 这三个最受人欢迎的 Python 测试框架. 本文想针对测试中一种很常见的测试场景,即参 ...

  4. 基于python渗透测试_Python中基于属性的测试简介

    基于python渗透测试 by Shashi Kumar Raja 由Shashi Kumar Raja Python中基于属性的测试简介 (Intro to property-based testi ...

  5. python怎么测试c代码_如何正确测试python中的C-API,C-API返回错误代码

    我的设置 我正在使用Python中的pytest和ctypes测试C库中的函数.C库中的每个函数调用一个嵌入式linux PCI板上的函数,然后C库函数返回一个整数,该整数映射到一组返回代码.如果函数 ...

  6. python训练模型测试模型_python 机器学习中模型评估和调参

    在做数据处理时,需要用到不同的手法,如特征标准化,主成分分析,等等会重复用到某些参数,sklearn中提供了管道,可以一次性的解决该问题 先展示先通常的做法 import pandas as pd f ...

  7. 测试中的数据统计分析的验证:python脚本+复杂SQL总结

    正式从PHP开发转到测试岗位已有1年半,中间的职业发展与所思所考应该有1个阶段的总结,总结将在下一篇完成.今天就先通过在工作中实际用到的python脚本+复杂sql记录一下自己在测试过程中做的数据验证 ...

  8. 【python渗透测试】python在渗透测试中的利用(完全版,持续中出)

    跟着gpt学习python在渗透测试中的利用

  9. python删除指定位置的字符串_python去除区域 python删除字符串中指定位置字符

    python删除字符串中指定位置字符 原程序是这样的: ser = serial.Serial("/dev/ttyAMA0", 9600) def main字符串的话,你可以把他当 ...

最新文章

  1. Android系统Google Maps开发实例浅析
  2. MFC的进程和线程,非正常终止
  3. VS调试ReactOS源码环境搭建5 - VS通过串口连接虚拟机
  4. 650服务器raid配置_DELL R730服务器配置RAID及安装服务器系统
  5. 汇总下最近没时间更新的机器学习,五一后更起来
  6. pageControl设置不居中显示,居左或居右
  7. 王道训练营3月24日
  8. Android天气预报详解
  9. 基于关联分析法的美国专利技术网络挖掘(python代码 图文 超详细)
  10. JavaScript 30 Day -- 07 彩虹画笔
  11. 收藏几个百度网盘搜索资源引擎
  12. Ubuntu+QT+SSL+MQTT
  13. 视觉软件 VisionPro 定位引导3(卡尺CogFindLineTool工具以及辅助工具)
  14. Python 实现日志监控
  15. 【VBS脚本教程1】:写一个说话的语音程序
  16. gps模拟无需root,带有gps 定位的模拟器
  17. windows使用教程大全
  18. linux安装南大通用数据库 GBase 8s V8.8
  19. html中粒子风暴代码,怎么用代码打造粒子风暴
  20. 一个绘制虚线的非常规函数(常规方法,打印机上绘制不出虚线)

热门文章

  1. 我心目中的伟人—卡尔.马克思
  2. 【仿真】Carla之Traffic Manager [3]
  3. 【 iconfont-阿里巴巴矢量图标库使用】
  4. [动图演示]Redis 持久化 RDB/AOF 详解与实践 1
  5. 【数值分析】拉格朗日插值法与牛顿插值法的C++实现
  6. 百科!生产计划如何在生产管理软件中制定
  7. 地址转换技术 NAT
  8. php链接文字变色,设置HTML中超链接文字颜色方法大全
  9. 深度学习基础--分类网络
  10. Zemax光学设计(一)——单透镜设计