- 博客(84)
- 收藏
- 关注
原创 【Jenkins基础教程】WEB自动化项目配置
WEB自动化项目配置配置 Git/GitHub 现在越来越多的项目开始使用 Git 进行代码的版本管理,这里介绍基于 Git/GitHub 的Jenkins 配置。 第一步,进入 Jenkins 首页,单击“Manage Jenkins”→“Global Tool Configuration”选项,找到 Git 选项,如图所示: 在“Path to Git executabl...
2021-11-22 16:57:00 114
原创 【Jenkins基础教程】Jenkins2.303.3的基本使用
Jenkins的基本使用环境版本:Jenkins2.303.3创建一个构建任务 初次接触 Jenkins 时会感觉比较神秘,为了尽快熟悉 Jenkins,我们先来创建一个简单的任务。 首先,单击 Jenkins 首页左上角的“新建Item”选项,弹出选择 Jenkins 任务类型界面,Jenkins 提供了多种类型的任务,这里选择“Freestyle project”,输入项目...
2021-11-21 19:11:00 105
原创 【python教程】sys.path.insert() 的用法
sys.path.insert() 的用法sys.path模块可以动态修改系统路径。模块需要处于python搜索路径中的目录里,才能被导入,但是我们不喜欢维护一个永久性的大目录,因为其他所有的python脚本和应用程序导入模块时,性能会被拖累。sys.path是一个列表,在末尾添加目录是很容易的,用 sys.path.append 就行了。当这个append执行完之后,新目录即时生效,以后...
2021-11-20 19:25:00 634
原创 【pytest单元测试框架】(5)pytest-base-url库切换base_url测试环境介绍
pytest-base-url库切换base_url测试环境介绍前言 当我们自动化代码写完成之后,期望能在不同的环境测试,这时候应该把 base_url 单独拿出来,能通过配置文件和支持命令行参数执行。pytest-base-url 是 pytest 里面提供的一个管理 base-url 的一个非常实用的插件,参考文档https://pypi.org/project/pytest-bas...
2021-11-20 15:59:00 100
原创 【pytest单元测试框架】(4)click模块介绍
Click模块 click模块是Flask的作者开发的一个第三方模块,用于快速创建命令行。它的作用与Python标准库的argparse相同,但是,使用起来更简单。 click是一个第三方库,因此使用起来需要先行安装安装click模块使用pip命令即可完成模块的安装:pip install click基本使用Click对argparse的主要改在在于易用性,使用click模...
2021-11-19 18:12:00 46
原创 【pytest单元测试框架】(3)pytest 扩展
pytest 扩展Pytest 可以扩展非常多的插件来实现各种功能,这里介绍几个对做 Web 自动化测试非常有用的插件。1、pytest-htmlpytest-html 可以生成 HTML 格式的测试报告。首先,通过 pip 命令安装 pytest-html 扩展。pip install pytest-html其次,运行测试用例,并生成测试报告pytest ./ --htm...
2021-11-18 18:09:00 42
原创 【pytest单元测试框架】(2)pytest 的基本使用方法
pytest 的基本使用方法1、断言 在 unittest 单元测试框架中提供了丰富的断言方法,如 assertEqual()、assertIn()、assertTrue()、assertIs()等。pytest 单元测试框架并没有提供专门的断言方法,而是直接使用Python 的 assert 进行断言。 创建 test_assert.py 文件# -*- coding:ut...
2021-11-18 17:18:00 32
原创 【pytest单元测试框架】(1)pytest 简单例子
pytest 简单例子 pytest 官方网站:https://docs.pytest.org/en/latest/ pytest 支持 pip 安装pip install pytest 通过 pytest 编写一个简单的测试用例,创建 test_sample.py 文件# -*- coding:utf-8 -*-# filename: /pyTest/test_...
2021-11-18 14:11:00 46
原创 【unittest单元测试框架】(10)poium 测试库
poium 测试库1、基础介绍 poium 是一个基于 Selenium/appium 的 Page Object 测试库,最大的特点是简化了 Page层元素的定义。 项目地址:https://github.com/SeldomQA/poium 支持 pip 安装: pip install poium 使用 poium 重写 baidu_page.py# -*...
2021-11-17 21:33:00 173
原创 【unittest单元测试框架】(9)认识Page Object
认识Page Object Page Object 是 UI 自动化测试项目开发实践的最佳设计模式之一,它的主要特点体现在对界面交互细节的封装上,使测试用例更专注于业务的操作,从而提高测试用例的可维护性。 当为 Web 页面编写测试时,需要操作该 Web 页面上的元素。然而,如果在测试代码中直接操作 Web 页面上的元素,那么这样的代码是极其脆弱的,因为 UI 会经常变动。 p...
2021-11-17 16:34:00 83
原创 将博客搬至CSDN
自2021-11-17日起,本人的博客将如数全部搬至CSDN。个人CSDN博客地址:https://www.cnblogs.com/yinzuopu/
2021-11-17 15:30:00 42
原创 【unittest单元测试框架】(8)用 yagmail 发送邮件,整合自动发送邮件功能
用 yagmail 发送邮件,整合自动发送邮件功能 自动发送邮件功能是自动化测试项目的重要需求之一,当自动化测试用例运行完成之后,可自动向相关人员的邮箱发送测试报告。严格来讲,这里介绍的发送邮件模块并不属于 unittest 的扩展,不过,我们仍然可以将它与 unittest 结合使用。 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,是一组由源...
2021-11-17 15:03:00 130
原创 【unittest单元测试框架】(7)DDT库
DDT库DDT(Data-Driven Tests)是针对 unittest 单元测试框架设计的扩展库。允许使用不同的测试数据来运行一个测试用例,并将其展示为多个测试用例。GitHub 地址:https://github.com/datadriventests/ddtDDT 支持 pip 安装 pip install ddt1、DDT基础用法同样以百度搜索为例,来看看 DD...
2021-11-17 11:48:00 37
原创 【unittest单元测试框架】(6)Parameterized库
ParameterizedParameterized 是 Python 的一个参数化库,同时支持 unittest、Nose 和 pytest 单元测试框架。GitHub 地址:https://github.com/wolever/parameterized。Parameterized 支持 pip 安装这里将通过 Parameterized 实现参数化# -*- coding:...
2021-11-16 20:34:00 35
原创 【unittest单元测试框架】(5)数据驱动应用
数据驱动应用 数据驱动是自动化测试的一个重要功能,虽然不使用单元测试框架一样可以写测试代码和使用数据文件,但是这就意味着放弃了单元测试框架提供给我们的所有功能,如测试用例的断言、灵活的运行机制、结果统计及测试报告等。这些都需要自己去实现,显然非常麻烦。所以,抛开单元测试框架谈数据驱动的使用是没有意义的。 下面探讨数据驱动的使用,以及 unittest 关于参数化的库:1、数据驱动 ...
2021-11-16 20:11:00 55
原创 【unittest单元测试框架】(4)HTML 测试报告
HTML 测试报告 HTMLTestRunner 是 unittest 的一个扩展,它可以生成易于使用的 HTML 测试报告。HTMLTestRunner 是在 BSD 许可证下发布的。 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html。 GitHub 地址:https://github.com/defnngj/HTM...
2021-11-16 19:24:00 43
原创 【unittest单元测试框架】(3)unittest 编写 Web 自动化测试
unittest 编写 Web 自动化测试 我们学习 unittest 的目的是用它编写 Web 自动化测试用例,所以接下来会将 unittest 与Selenium 结合起来进行 Web 自动化测试。 创建 test_baidu.py 文件。 这里将百度首页的访问和搜索过程封装成一个 baidu_search()方法,并定义 search_key参数为搜索关键字,根据接收的关键...
2021-11-16 17:53:00 46
原创 【unittest单元测试框架】(2)关于 unittest 还需要知道的
关于 unittest 还需要知道的1、测试用例的执行顺序 测试用例的执行顺序涉及多个层级:多个测试目录 > 多个测试文件 > 多个测试类 >多个测试方法(测试用例)。unittest 提供的 main()方法和 discover()方法是按照什么顺序查找测试用例的呢? 我们先运行一个例子,再解释 unittest 的执行策略。# -*- coding:utf...
2021-11-16 16:50:00 41
原创 【unittest单元测试框架】(1)认识 unittest
认识 unittest1、认识单元测试 不用单元测试框架能写单元测试吗?答案是肯定的。单元测试本质上就是通过一段代码去验证另外一段代码,所以不用单元测试框架也可以写单元测试。下面就通过例子演示: 创建一个被测试文件 calculator.py:# -*- coding:utf-8 -*-# filename: calculator# author: hello.yincl...
2021-11-16 15:03:00 47
原创 【python基础教程】(9)Python3 面向对象
Python3 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程。接下来我们先来简单的了解下面向对...
2021-11-15 21:09:00 33
原创 【python基础教程】(8)Python3 输入和输出
Python3 输入和输出输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数。第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。str()...
2021-11-15 18:13:00 29
原创 【python基础教程】(7)Python 模块介绍
Python 模块在前面的几个章节中我们基本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能...
2021-11-15 16:53:00 29
原创 【python基础教程】(6)Python3 数据结构
Python3 数据结构1、列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。以下是 Python 中列表的方法:下面示例演示了列表的大部分方法:实例:>>> a = [66.25, 333, 333, 1, 1234.5]>>> print(a.count(333), ...
2021-11-15 11:34:00 27
原创 【python基础教程】(5)Python3 函数
Python3 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。1、定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传...
2021-11-14 22:48:00 29
原创 【python基础教程】(4)迭代器与生成器
迭代器与生成器1、迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。字符串,列表或元组对象都可用于创建迭代器:list = [1, 2, 3, 4]it = iter(list...
2021-11-14 21:51:00 74
原创 【python基础教程】(3)Python3 循环语句
Python3 循环语句Python 中的循环语句有 for 和 while。Python 循环语句的控制结构图如下所示:1、while 循环Python 中 while 语句的一般形式:while 判断条件(condition): 执行语句(statements)……执行流程图如下:同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。...
2021-11-14 19:38:00 88
原创 【python基础教程】(2)Python3 条件控制
Python3 条件控制Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:代码执行过程:1、if 语句Python中if语句的一般形式如下所示:if condition_1: statement_block_1elif condition_2: statement_...
2021-11-14 16:50:00 27
原创 【python基础教程】(1)编程第一步:写一个斐波纳契数列
1、在学习一些python的基础语法后,我们尝试编写一个斐波纳契数列,两个元素的总和确定了下一个数# -*- coding:utf-8 -*-a, b = 0 ,1while b < 10: print(b) a, b = b , a+b执行结果:C:\Users\yzp\PycharmProjects\base_practice\Scripts\pyth...
2021-11-14 15:53:00 27
原创 【测试日常】软件测试词汇整理
1、什么是黑盒测试? 黑盒测试技术( Black Box Testing ):黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:正确性 (Correctness) :计算结果,命名等方面。可用性 ...
2021-11-12 17:53:00 31
原创 【Python接口自动化测试】(19)使用python自动发送邮件
使用python自动发送邮件1、Python 自带的发送邮件功能在生成报告后我们希望框架能自动把报告发送到我们的邮箱中。和outlook,foxmail等邮件客户端一样,Python中发送邮件需要通过Email的smtp服务发送。首先需要确认用来发送邮件的邮箱是否启用了smtp服务,以126邮箱为例:发送邮件分3步1. 编写邮件内容(Email邮件需要专门的MIME格式)2....
2021-11-12 14:45:00 39
原创 【Python接口自动化测试】(18)增加log功能
增加log功能1、新建config.py代码实现:# -*- coding:GBK -*-import logginglogging.basicConfig(level=logging.DEBUG, # log level日志级别 format='[%(asctime)s] %(levelname)s [%(funcName)s: %(fil...
2021-11-12 11:16:00 55
原创 【Python接口自动化测试】(17)数据分离 - 从Excel中读取数据
数据分离 - 从Excel中读取数据1、Excel读取方法: Python我们使用三方库xlrd来读取Excel之前的用例中,数据直接写在代码文件里,不利于修改和构造数据 这里我们使用Excel保存测试数据,实现代码和数据的分离 新建Excel文件test_user_data.xlsx包含两个sheet工作簿TestUserLogin和TestUserReg,并复制到项目根目录下Test...
2021-11-11 16:18:00 39
原创 【Python接口自动化测试】(16)Python+Flask自己搭建Mock接口
Python+Flask自己搭建Mock接口使用Flask包我们可以快速搭建Mock接口pip install flask实现代码:import randomfrom flask import Flask, request, jsonify, abortapp = Flask(__name__) # 实例化一个Flask对象@app.route("/api/use...
2021-11-10 20:35:00 28
原创 【Python接口自动化测试】(14)Mock Server之Postman的Mock Server功能
Mock Server之Postman的Mock Server功能1、Mock Server是什么? Mock 即模拟,就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,其最大的优势就是降级前后端耦合度,使前端工程师可以不依赖后端返回数据,先开发前端样式以及逻辑处理 简单来说: Mock是用了解决依赖问题的,将复杂的/不稳定的/还未建立的依...
2021-11-10 20:13:00 33
原创 【Python接口自动化测试】(13)unittest 测试框架
unittest 测试框架1、unitttest简介参考:https://docs.python.org/2/library/unittest.html2、为什么要使用unittest在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行。使用测试框架可以互不影响的用例执行及更灵...
2021-11-10 16:42:00 26
原创 【Python接口自动化测试】(12)Python 操作数据库
Python 操作数据库 在功能、接口测试中常常需要通过数据库的操作,来准备数据、检测环境及核对功能、接口的数据库操作是否正确。 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备、环境检查及数据库断言的功能。 使用Python操作MySQL数据库这里我们需要用到三方库Pymysql安装方法:pip install pymysql1、数据库操作1. 建立数据库连接 con...
2021-11-10 11:50:00 44
原创 【Python接口自动化测试】(11)带安全认证的请求
带安全认证的请求1、需要登录的请求(Cookie认证)1.1抓取cookies1. 使用Chrome浏览器访问https://demo.fastadmin.net/admin.php/index/login,登录2. 打开开发者工具刷新当前页面(https://demo.fastadmin.net/admin.php/dashboard?ref=addtabs)3. Network面...
2021-11-10 10:46:00 47
原创 【Python接口自动化测试】(10)Requests 库详解
Requests 库详解1、请求方法requests.get()requests.post()requests.put() ...requests.session(): 用于保持会话(session) 除了requests.session()外,其他请求方法的参数都差不多,都包含url,params, data, headers, cookies, files, auth,timeo...
2021-11-09 20:42:00 32
原创 【Python接口自动化测试】(9)JSON 类型解析
JSON 类型解析1、序列化和反序列化 程序中的对象,如Python中的字典、列表、函数、类等,都是存在内存中的,一旦断电就会消失,不方便传递或存储,所以我们需要将内存中的对象转化为文本或者文件格式,来满足传输和持久化(存储)需求。序列化: 内存对象 -> 文本/文件反序列化: 文本 -> 内存对象 对象在HTTP中的传输过程 HTTP协议是超文本传输协议,是通过...
2021-11-09 20:36:00 27
原创 【python】使用python十分钟创建个人聊天机器人教程
以青云客和图灵机器人接口示范python创建个人聊天机器人教程一、以青云客聊天机器人为例示范get请求官方网址:http://api.qingyunke.com/1、接入指引请求地址 http://api.qingyunke.com/api.php请求方式 GET 字符编码 utf-8请求示例 http://api.qingyunke.com/api....
2021-11-09 16:35:00 24
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人