![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自动化测试
程序员-小枫
这个作者很懒,什么都没留下…
展开
-
python 模块定义、导入、优化
python 模块定义、导入、优化模块:在Python中,一个.py文件就称之为一个模块(Module)。它是实现了某个功能的代码集合。模块分为三种:1.自定义模块2.内置标准模块(又称标准库)3.开源模块模块导入方法:1. import module_name (导入一个模块)2. import module_name,module2_name (导入多个模块)3. from module_name import * (不推荐使用)4. from mo.原创 2020-09-17 19:05:47 · 622 阅读 · 0 评论 -
python-自定义模块mylog
python-自定义模块mylog在编写程序中添加一大堆的代码就不是那么愉快的事情,好在python有强大的import,完全可以先配置好一个mylog.py,以后需要使用时直接导入mylog.py模块即可编写mylog.py,代码如下#!/usr/bin/env python# coding: utf-8__author__ = 'www.py3study.com'import loggingimport getpassimport sys#定义类class MyLog.原创 2020-09-17 18:51:53 · 1538 阅读 · 1 评论 -
测试自动化Python类的继承和合成
什么是继承?继承的用处,就是用来指明一个类的大部分或全部功能,都是从一个父类中获得的,当你写成class Foo(Bar)时,代码就发生了继承效果,这句代码的意思是“创建一个叫Foo的类,并让他继承Bar”,当你这样写时,python语言会让Bar的实例具有的功能都工作在Foo的实例上,这样可以让你把通用的功能放到Bar里边,然后在给Foo特别设定一些功能隐式继承首先在父类里定义了一个函数,但没有在子类中定义的例子,这时候会发生隐式继承代码如下# coding: utf-8__aut原创 2020-09-17 18:47:13 · 682 阅读 · 0 评论 -
Python习题1:我的第一个程序
习题1:第一个程序2018-08-02阅读1260打开pycharm,创建一个test项目目录,所有的习题都将存放在这个目录下点击File---New Project 创建一个ex1.py文件 ...原创 2020-09-17 14:58:16 · 562 阅读 · 1 评论 -
2020最全面的python3安装
Windows下python3安装Windows下python3安装官网下载最新版本>=3.0https://www.python.org/downloads/有win,linux,mac3个版本,是什么系统就安装对应版本,注意还要看看自己的系统是32位还是64位的系统,下载的时候选择对应的 x86指32系统 x86-64指64位系统查看方法如下计算机,右键---属性下载对应版本下载后会有一个python-3.6.2-amd64.exe文件,...原创 2020-09-17 14:41:43 · 991 阅读 · 1 评论 -
100道接口测试面试题收好了!【建议收藏】
100道接口测试面试题收好了!【建议收藏】HTTP, HTTPS协议什么是DNSHTTP协议怎么抓取HTTPS协议说出请求接口中常见的返回状态码HTTP协议请求方式HTTP和HTTPS协议区别HTTP和HTTPS实现机有什么不同POST和GET的区别HTTP请求报文与响应报文格式什么是HTTP协议无状态协议?怎么解决HTTP协议无状态协议常见的POST提交数据方式HTTP请求报文与响应报文格式HTTP协议学了哪几个版本Session和Cook.原创 2020-09-16 22:05:31 · 12112 阅读 · 3 评论 -
阿里八年大佬,分享三款值得推荐的开源接口测试工具
三款值得推荐的开源接口测试工具接口测试可以测试APIs((Application Programming Interface)是否符合功能,可靠性,性能和安全要求。接口测试对于成功的CI/DevOps来说至关重要。JMeter【简介】尽管JMeter的最初目的是为了做压力测试,但是实际上广泛用于接口功能测试。【特征】支持回放测试结果支持CSV文件,所以可以快速的创建唯一参数用于接口测试JMeter可与Jenkins进行集成,从而在CI pipeline中集成接..原创 2020-09-16 20:26:41 · 1099 阅读 · 0 评论 -
零基础如何自学软件测试?2020软件测试学习路线
零基础如何自学软件测试?2019软件测试学习路线软件测试自学实践部分比较难,因为需要找到有问题的源代码进行测试,更建议跟团队一起学习。下面讲讲软件测试的学习路线,希望对你有所帮助:功能测试1.计算机基础计算机基础:操作系统,进制转换,逻辑代数,计算机网络基础软件生命周期,开发模型,测试模型2.软件测试核心理论软件测试概念,术语,目的,意义,前景软件测试方法及分类(白盒测试,黑盒测试,单元测试。集成测试,系统测试,回归测试,验收测试,负载测试,压力测试,易用性测试,兼.原创 2020-09-16 20:19:04 · 769 阅读 · 0 评论 -
接口测试框架接入性能测试实践分享
1. 前言现如今接口测试在软件质量行业中的地位,已经越来越重要,相对于上层的UI自动化测试和下层的单元测试,接口测试的“低”投入、“高”回报,也成了绝大多数质量保障实践的首选。在开展接口测试时,往往很多时候都只在关注接口的功能性质量,而对于非功能性的质量保障验证,比如性能、安全,在实际工程应用或者设计用例时关注度明显不足(甚至很多压根没有这方面的测试实践)。今天就以Python系下requests库(常用于接口测试)和Robot FrameWork框架为例,和大家聊聊在接口测试过程中,和功能需求原创 2020-09-16 20:16:08 · 315 阅读 · 0 评论 -
Python可以做异步接口吗?Python应该怎么做测试异步接口?看看大牛是如何做的....
Python怎么测试异步接口当业务处理比较耗时时, 接口一般会采用异步处理的方式, 这种异步处理的方式又叫Future模式.一般流程当你请求一个异步接口,接口会立刻返回你一个结果告诉你已经开始处理,结果中一般会包含一个任务id类似的东西用于追踪结果, 另外会提供一个查询结果的接口, 当结果未处理完查询接口会返回相应的"未完成"状态, 如果已经处理完,则会返回相应的数据.处理方法异步接口我们一般采取轮询的方法,每隔一定时间间隔取请求一下查询结果的接口,直到接口返回的状态是已完成/查询到指.原创 2020-09-15 20:33:12 · 1474 阅读 · 0 评论 -
接口测试简谈 & 工作上常用接口测试工具
接口测试简谈 & 工作上常用接口测试工具接口测试相关知识接口定义我们常说的接口一般指两种:API:应用程序编程接口。程序间的接口; GUI:图形用户界面。人与程序的接口;这里我们所说的接口特指API接口。API接口定义:对协议进行定义的引用类型。开发人员分前后端,他们之间如何配合工作的,就是其中一方定义接口,另一方来调用接口,以实现预期功能。常见接口分类restful webservice接口 Soap Webservice接口WebService接口是.原创 2020-09-15 20:28:54 · 570 阅读 · 1 评论 -
ython+Selenium之(五)-Python读取配置文件内容
本文来介绍下Python中如何读取配置文件。任何一个项目,都涉及到了配置文件和管理和读写,Python支持很多配置文件的读写,这里我们就介绍一种配置文件格式的读取数据,叫ini文件。Python中有一个类ConfigParser支持读ini文件。1. 在项目下,新建一个文件夹,叫config,然后在这个文件夹下新建一个file类型的文件:config.ini文件内容如下:# this is config file, only store browser type and serv...原创 2020-09-15 20:26:26 · 353 阅读 · 0 评论 -
Python+Selenium之(四)-封装一个自己的类-浏览器引擎类
前一篇文章我们知道了,如何去封装几个简单的Selenium方法到我们自定义的类,这次我们编写一个类,叫浏览器引擎类,通过更改一个字符串的值,利用if语句去判断和控制启动那个浏览器。这里我们暂时,支持三大浏览器(IE,Chrome,Firefox)。这里有一个前提条件,在基础篇中,启动三大浏览器的driver文件,检查下你的Python安装路径下有没有这三个driver插件,如果没有,请回到基础篇的如何启动火狐和IE浏览器文章去看看如何做。 我们继续在test1这个包下新建一个brow...原创 2020-09-15 20:23:40 · 668 阅读 · 1 评论 -
Python+Selenium之(三)-二次封装Selenium中几个方法
本文来介绍,如何把常用的几个webdriver的方法封装到自己写的一个类中去,这个封装过程叫二次封装Selenium方法。我们把打开站点,浏览器前进和后退,关闭和退出浏览器这这个方法封装到一个新写的类中去。我们按照如下层次结构在PyCharm中新建两个包和两个.py文件: 上图,baidu_search.py是我们编写测试脚本的python文件,具体测试代码写在这个文件。包test1下的basepage.py文件是这次我们介绍的二次封装selenium方法而新建的。这里提一下,py...原创 2020-09-15 20:22:34 · 926 阅读 · 0 评论 -
Python+Selenium之(二)-Python中类/函数/模块的简单介绍和方法调用
前篇文章介绍了PyCharm的基本使用,接下来我们的脚本代码都在这个PyCharm这个编辑器里写。好处有很多,项目文件结构层次清晰,写代码的时候会自动化提示和补全。这里,我们在昨天创建的项目下,新建一个包,然后在包下面新建一个demo.py文件。抄写以下代码到你的环境里,尝试运行下,看看有没有问题。关于Python中类和函数及方法的调用,我们写在这个demo.py文件,具体代码如下: # coding=utf-8 class ClassA(object): s...原创 2020-09-15 20:19:31 · 522 阅读 · 0 评论 -
Python+Selenium之(一)-Python IDE工具-PyCharm的安装和简单使用
从本文开始陆续介绍一些中级的技能,本篇文章介绍,在Python开发过程中,比较流行,很优秀的一款IDE工具-PyCharm,这里关于它的介绍就一句话,它就相当于Java开发中的Eclipse软件一样。有些人说,Eclipse上可以通过安装插件扩展来支持Python的代码编写,虽然可以这样,但是我强烈建议,你本来就是学习,为啥不选择一个符合大众的选择工具呢,不管你用没有用户Eclipse,在这里,你将要用PyCharm进行自动化测试框架的开发。一,PyCharm的官网下载打开浏览器,地址栏输入http原创 2020-09-15 20:17:42 · 411 阅读 · 0 评论 -
python重试装饰器(Python function retry decorator)
python重试装饰器(Python function retry decorator)在用requests请求接口或者html的时候,很容易出现超时,限制等各种原因。在对源代码不进行修改的情况下,可以用装饰器来进行重试任何函数: 成功,返回-结果,失败,返回--False 都可以用这个装饰器进行重试1.不需要传参的装饰器写法:max_retry 为默认重试的次数import requestsdef retry(func): def inner(*args, **kw原创 2020-09-14 21:02:29 · 1793 阅读 · 0 评论 -
selenium python 实现基本自动化测试的示例代码
安装selenium打开命令控制符输入:pip install -U selenium火狐浏览器安装firebug:www.firebug.com,调试所有网站语言,调试功能Selenium IDE 是嵌入到Firefox 浏览器中的一个插件,实现简单的浏览器操 作的录制与回放功能,IDE 录制的脚本可以可以转换成多种语言,从而帮助我们快速的开发脚本,下载地址:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/如何使用ID原创 2020-09-14 20:57:32 · 2414 阅读 · 0 评论 -
python接口自动化测试 - 数据驱动DDT模块的简单使用
DDT简单介绍名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数据发生大量变化的情况下,测试代码可以保持不变 实际项目:excel存储测试数据,ddt读取测试数据到单元测试框架(测试用例中),输出到html报告什么是数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。说的直白些,就是参数化的应用DDT基础使用(一):传递基础数据类型原创 2020-09-14 20:36:08 · 760 阅读 · 0 评论 -
Linux 常用操作及命令
1. 什么是 Linux 服务器 Load Average?Load 是用来度量服务器工作量的大小,即计算机 CPU 任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多。2. 如何查看 Linux 服务器负载?您可以通过执行w,top,uptime,procinfo命令,或者访问/proc/loadavg文件进行查看。procinfo 工具安装请参考 Linux 环境下安装软件的相关文档。3. 服务器负载高怎么办?服务器负载(Load/Load Average)是...原创 2020-09-14 20:23:08 · 505 阅读 · 0 评论 -
Python自动化测试框架有哪些,看了后,原来这这么多
令开发者万分高兴的是,开发自己的测试框架的日子终于结束了。以前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架。一个测试框架应该具有最佳的测试用例、假设(assumptions)、脚本和技术来运行每一处代码和模块,从而发现代码缺陷和不足。不同的项目需要不同的测试用例、假设和脚本,而这也是为什么会在这些开发中花费大量时间。随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架,你可以使用这些框架,在调整特定测试适用性和效率参数后,测试你项原创 2020-09-14 20:21:03 · 311 阅读 · 0 评论 -
django滑动验证码
一、概述最近用django写了一个后台系统,使用的是验证码方式。但是开发人员抱怨,输入验证太麻烦,还有可能出错,太影响效率了。是否可以用滑动验证码,一拖动就可以了!网上大部分文章,用的是极验GeeTest,需要你自己注册账号,才能使用。官网:https://www.geetest.com/但是有次数限制!免费jquery插件我在网上找了一款免费的jquery插件,链接如下:http://www.htmleaf.com/jQuery/Form/201711064813.htm原创 2020-09-12 21:59:26 · 983 阅读 · 0 评论 -
python调用jenkinsAPI
一、概述在工作中我们会有直接想通过http方式运行Jenkins job的需求,这样就不需要每次都进入JENKINS的页面了。二、安装python-jenkinspip3 install python-jenkins基本用法:import jenkins# 登录jenkinsserver = jenkins.Jenkins('http://192.168.59.149:8080', username='jenkins', password='jenkins@!23')# 构建普原创 2020-09-12 21:48:51 · 1148 阅读 · 0 评论 -
django查询今天,昨天,一周,分组统计月,年
一、概述有一个用户表,models.py内容如下:from django.db import models# Create your models here.class User(models.Model): #用户名表 username = models.CharField(max_length=16,verbose_name="用户名") password = models.CharField(max_length=32,verbose_name="密码")原创 2020-09-12 21:45:56 · 1111 阅读 · 0 评论 -
基于docker封装prometheus解决时区问题
一、概述官方dockerhub上面的prometheus,下载命令如下:docker pull prom/prometheus发现它的时区为:UTC,我需要更改为CST,也就是中国上海时区。发现修改变量TZ=Asia/Shanghai,修改/etc/localtime 文件都无法修改时区,均失败了。那么解决办法,就只有自己封装prometheus镜像了。二、启动prometheus环境说明操作系统:centos 7.6docker版本:19.03.5ip地址:192原创 2020-09-12 21:43:06 · 2687 阅读 · 0 评论 -
Python搭建接口测试自动化框架(二)
从今天开始,继续这个系列,一步一步的,搭建一个自己理想的自动化测试框架。 关于第一部分,可以戳这里(链接)目录结构再定义由于距离上一篇已经有一段时间了,项目的目录结构也发生了一些变化,这里再重新定义下目录结构框架结构代码结构 Excel 文件结构代码详细解析1.工具包 tools封装操作 excel 方法...原创 2020-09-11 20:59:42 · 398 阅读 · 0 评论 -
Python搭建接口测试自动化框架(一)
接口测试是测试领域很大的一块,做好接口测试,那么整个平台的基本流程和功能也就调通了。而接口测试自动化不仅可以减轻重复工作的人力成本,也可以提高测试质量和准确率。本文主要介绍我对于接口测试自动化架构的理解。01.自动化框架结构如下是我的自动化框架结构,使用execl作为数据驱动。 case目录存储测试用例代码config目录存储程序的配置文件data目录存储测...原创 2020-09-11 20:55:33 · 1309 阅读 · 0 评论 -
2020最新 面试| Python 自动化测试面试经典题目回顾
Python 自动化测试面试题目汇总1、super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super?请举例说明。答:super 用于继承父类的方法、属性。 super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。 使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。 代码举例:class baseClass: def.原创 2020-09-11 20:47:20 · 1882 阅读 · 1 评论 -
python接口自动化测试 - unittest框架基本使用
unittest简单介绍单元测试框架 还可以适用WEB自动化测试用例的开发与执行 提供丰富的断言方法unittest基础使用 1 # 导入unittest模块 2 import unittest 3 4 5 # 创建单元测试类,继承unittest.TestCase 6 class testCase(unittest.TestCase): 7 8 def setUp(self): 9 print("case执行前")10 11 def原创 2020-09-11 20:29:01 · 379 阅读 · 0 评论 -
Python办公自动化 | 从PPT到Word
今天继续讲解如何将文字从PPT中提取出来并写入Word,主要将涉及如何使用python-pptx和python-docx交互操作word和ppt文件!本文依旧来源于真实的办公自动化需求!一、需求说明 有一份如图所示的ppt,包含了Python的介绍。现在需要将PPT中的文字都提取出来并写入Word中,如下图 二、涉及知识代码实际上非常简单,基于python-pptx和python-docx两个模块即可,核...原创 2020-09-11 20:20:21 · 505 阅读 · 0 评论 -
Python接口自动化之动态数据处理
以下主要介绍:接口自动化过程中,动态数据如何生成、动态数据与数据库数据进行对比并替换。一应用场景注册接口参数需要手机号,手机号如何动态生成? 生成的手机号如何与数据库数据进行对比? 未注册的手机号如何替换用例数据中的手机号?二动态手机号处理思路①编写函数,生成随机的手机号;②将生成的手机号进行数据库查询;③如手机号已存在,就重新生成手机号;④如手机号不存在,就将此手机号替换测试用例中的手机号。三动态手机号处理1注册接口测试用例在data/cases.原创 2020-09-11 20:15:36 · 816 阅读 · 1 评论 -
python自动化环境搭建
1 selenium环境搭建1.1seleniumselenium是测试web应用程序的框架,selenium为没有测试脚本的人提供了(seleniumide)提供了录制/回放的工具,同时它也提供了特定域的语言来编写测试脚本,如c#,java,python等,selenium可以针对最现代的web浏览器运行测试,如firefox,chrome,ie,open等浏览器,selenium可以在windows,linux等平台上部署,selenium同时是开放源码的软件,是在apache2.0许可证下发布原创 2020-09-11 20:13:26 · 1113 阅读 · 0 评论 -
Python接口自动化之yaml配置文件
在自动化过程中,需要使用配置文件储存数据,比如数据库信息、账号信息、域名等。其中,yaml文件是一种配置文件类型,相比较ini,conf配置文件来说,更加的简洁,操作也更加简单,同时可以存放不同类型的数据。以下主要介绍yaml语法、yaml存储数据,封装类读写yaml配置文件。一 yaml介绍及使用01 yaml简介YAML 语言( /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。YAML 是一种非常灵活的格式,几乎是 JSON 的超集。除了支持原创 2020-09-11 20:11:40 · 1182 阅读 · 1 评论 -
Python接口自动化之登录接口测试
01 什么是接口?接口:检测外部系统与系统之间以及内部各个子系统之间的交互点。通俗来说,接口就是连接前后端的桥梁,接口测试可以简单理解为脱离了前端的功能测试。一个又一个的接口就对应功能测试内一个又一个的功能。但注意,一个功能有可能不是一个接口就能实现。那么,接口测试和功能测试的区别在哪呢?其实功能测试就是在页面上输入我们的参数值,点点点;而接口测试没有前端,而是通过接口文档上的调用地址、请求参数等,校验返回的结果值,也就是说,接口可以看成没有界面的功能测试。因此,可以分析,系统间的接口包原创 2020-09-11 20:07:02 · 3793 阅读 · 1 评论 -
自动测试失败的5个原因,相信你也遇到过这些问题
测试自动化正在不断普及,也是公司快速有效地部署应用程序的好方法。但是,无论是要进行初始投资还是要扩展自动化工作,测试自动化都会带来某些看似艰巨的挑战。为了尽早解决这些挑战,下面汇总了自动测试失败的五个主要原因。始终注意这些问题,可以作为参考,让自动化项目朝着正确方向进行测试自动化的指南。过多的测试自动化自动化测试项目可能失败的一个原因是,一些测试任务不应将其自动化。尽管测试自动化有助于跟上发布周期,但自动化并不是解决软件测试问题的万能解决方案。实现100%的测试自动化是高度不切实际的期望,而尝试原创 2020-09-10 21:41:41 · 2382 阅读 · 0 评论 -
TDD测试驱动开发的基础
★如果您需要软件并且需要快速,那么测试驱动开发(TDD)可能是解决方案。TDD致力于快速将软件从计算机推向市场,是当今顶级软件开发和软件测试公司正在使用的最有效方法之一。”什么是测试驱动开发?敏捷性和速度是赋予测试驱动开发运动力量的两个概念。但是什么是TDD,流程如何运作?测试驱动的开发是一个软件开发过程,其重点是在开发人员编写实际代码之前为软件测试编写测试。目的是使开发人员专注于代码的用途并确保其功能。运作方式如下: 每个测试驱动的开发周期都始于编写测试以查看软件是否可以运行。该原创 2020-09-10 19:40:50 · 180 阅读 · 0 评论 -
LInux操作系统安装Python3.8.0,以及安装步骤
1、依赖安装 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel yum -y install gcc 2、下载安装包下载安装包:https://www.python.org/ftp/python/3.8..原创 2020-09-10 19:12:04 · 3206 阅读 · 0 评论 -
UI自动化之分层思想pom模式
1.什么是POM页面对象模型(POM)是一种设计模式,用来管理维护一组web元素集的对象库;在POM下,应用程序的每一个页面都有一个对应的page class;每一个page class维护着该web页的表现层和操作层;page class中的方法命名最好根据其对应的业务场景进行,例如通常登录后我们需要等待几秒中,我们可以这样命名该方法: waitingForLoginSuccess().2.POM优点2.1.POM提供了一种在UI层操作、业务流程与验证分离的模式,这使得测试代码变得原创 2020-09-10 18:52:02 · 3467 阅读 · 1 评论 -
每天一小时,15天学完测试步骤&接口测试$功能测试&流程测试
接口测试功能测试添加账户_key-value(键值对) 正常流 (请求 ,信息头管理器,响应断言) 异常流 请求 ,信息头管理器,响应断言) 添加账户_json (线程组) 正常流 异常流 删除账户 正常流 异常流 流程测试 添加账户(键值对)-删除账户 添加账户(json)-删除账户 添加账户 查找 删除账户 *添加账户 查找All 删除账户json符号{ } 对象" " 引号 字符串: 连接符, / 逗号斜杠 分隔号[ ]: 数组测试步骤..原创 2020-09-10 14:41:20 · 368 阅读 · 0 评论 -
性能测试JMeter工具必知必会知识系列(15): JMeter测试关系数据库
JMeter测试关系数据库15.1 JDBC连接JDBC介绍JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC驱动类型及原理JDBC驱动类型及原理使用JDBC连接操作数据库步骤总共有7个步骤:1....原创 2020-09-10 14:20:54 · 329 阅读 · 0 评论