自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安小静--

小白测试进阶中....

  • 博客(357)
  • 收藏
  • 关注

原创 HTML入门12_内联框架iframe

iframeiframe元素会创建包含另外一个内联框架(即行内框架)使用src指定地址例子:将百度页面的内容链接到当前页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><iframe src="http://www.baidu.co

2020-12-09 13:14:24 177

原创 HTML入门11_表单_下拉选择框

select标签和option标签:<select> 元素用来创建下拉列表。<select> 元素中的 <option> 标签定义了列表中的可用选项。<select name="downlist"> <option>Java</option> <option>Python</option> <option>PHP</option> <option

2020-12-08 16:07:11 5620

原创 HTML入门10_表单_label标签和textarea标签

label标签:label标签为input 元素定义注释,标记label不会为用户呈现任何特殊效果,不过,他为鼠标用户改进了可用性,如果你在label元素内点击文本,就会触发次控件,就是说,当用户选择该标签时,浏览器会自动将焦点转移到和标签相关的表单控件上;<label>标签的for属性应当与相关元素的id属性相同;<form> <label for="user">姓名:</label> <input type="text" na

2020-12-08 16:06:28 503

原创 HTML入门9_表单_input标签

表单是一个包含表单元素的区域。表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。表单使用表单标签 <form> 来设置:<form>.input 元素.</form>form标签属性:action : 定义表单数据提交地址method : 定义表单提交方式(常见的post和get)form表单中包含的元素:<l

2020-12-08 16:04:07 341

原创 HTML入门8_常用标签_表格table

表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。<table> <tr> <td>苹果</td> <td>橘子</td> &

2020-12-08 16:02:20 139

原创 HTML入门7_常用标签_列表

列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。有序列表网页上定义一个有编号的内容,列表项目使用数字进行标记。 有序列表始于 <ol> 标签。每个列表始于 <li> 标签。<ol> <li>第1条内容</li> <li>第2条内容</li> <li>第3条内容</li> <li>第4条内容</li> <li

2020-12-08 15:59:48 166

原创 HTML入门5_常用标签_图像标签img和链接标签a

img标签:img元素向网页中插入图像,并不是插入而是链接图像,标签创建的是被引用的图像的占位空间;<img>有有两个必需的属性,src属性和alt属性;语法格式:<img src="url" alt="some_text">alt: 规定图像的替代文本src: 规定显示图像的URLheight :定义图像的高度width: 设置图像的宽度举例如下:<!DOCTYPE html><html lang="en"><head&g

2020-12-08 15:53:35 593

原创 HTML入门4_常用标签_文本格式化_粗体、斜体和下划线标签

本篇介绍HTML中字体效果,分别是粗体和斜体以及下划线效果。HTML中<b>标签表示粗体,是英文打次blod的缩写;<i>标签标签斜体,是英文单词italic的缩写;<u>表示下划线,是英文单词underline的缩写。来看一个例子<!DOCTYPE html><html> <head> <title> HTML中的粗体,斜体和下划线标签 </title> <meta h

2020-12-08 15:46:22 462

原创 HTML入门3_常用标签_居中和空格

1.居中center显示使用center标签这里用标题来演示。默认不使用居中会在居左显示。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>HTML中的居中标签center</title></head><body> <center> <h1>标题居中显示

2020-12-08 15:42:31 251

原创 HTML入门2_常用标签_段落和标题标签

1. 注释:定义和用法:注释标签用于在源代码中插入注释,注释不会显示在浏览器中;有助于后期对代码理解;例如:<!--这是一段注释不会在浏览器中显示-->2. 段落标签段落是通过 <p> 标签定义的。<p>这是一个段落 </p><p>这是另一个段落</p>浏览器会自动地在段落的前后添加空行。(</p> 是块级元素)段落中换行如果您希望在不产生一个新段落的情况下进行换行(新行),请使用 <br&

2020-12-08 15:40:59 281

原创 HTML入门1.HTML简介

从这篇开始,新写一个系列,主要用来记录学习HTML的过程,顺便通过博客文章的方式,记录学习过程。还有一个原因是接下来会想后续搭建一个自动化测试平台,那么前端内容是必不可少的;什么是HTML(超文本标记语言)HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页HT

2020-12-08 15:28:54 1331

原创 记录一个日志模块loguru

在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样。在使用时我们需要配置一些 Handler、Formatter 来进行一些处理,比如把日志输出到不同的位置,或者设置一个不同的输出格式,或者设置日志分块和备份。但其实个人感觉 logging 用起来其实并不是那么好用,其实主要还是配置较为繁琐。今天发现了一个好用的日志模块loguru,个人感觉非常好用:安装pip3 install loguru基本使用:rom loguru import

2020-10-22 18:53:58 337

原创 Json Schema

一、引言什么是Json Schema?JSON Schema是基于JSON格式,用于定义JSON数据结构以及校验JSON数据内容。假设有一个web api,接受一个json请求,返回某个用户在某个城市关系最近的若干个好友。一个请求的例子如下:{ "city" : "chicago", "number": 20, "user" : { "name":"Alex", "age":20 }}在上面的例子中,web ap

2020-09-29 02:22:52 540

原创 10. Requests库_unittest用例封装

一、API测试项目简介项目名称:天气API项目来源:https://www.sojson.com/blog/305.html接口URL:http://t.weather.sojson.com/api/weather/city/+city_code请求方式:GET参数说明:city_code表示城市的Id码,由9为纯数字组成,拼接在以上接口URL的末尾,测试时不需要单独作为参数进行请求各个城市的city_code码获取地址:http://cdn.sojson.com/_city.json二、

2020-09-27 11:02:03 268

原创 9. Requests库_流式请求

流式请求:有的接口返回值包含有多个结果,而非常规的返回一个结果。比如查询接口,其返回值为排在前面固定数量的多个结果。案例请求接口:http://httpbin.ors/streas/{n}n表示返回结果集的数量,比如输入10则会返回10个不同id的结果,如下:r = requests.get(base_url+'/stream/10')print(r.text)针对此类型接口,对结果集的处理需要使用iter_lines()迭代方法来处理。如下:执行代码:import requestsi

2020-09-27 10:49:03 2105

原创 8. Requests库_SSL验证 & 代理设置

1.SSL证书验证Requests可以模拟Web浏览器,实现对HTTPS请求来验证SSL证书。SSL验证默认是开启的,若证书验证失败,Requests会抛出SSLError;若不想验证SSL则可以使用verify参数(verify=False)关闭验证SSL。以验证12306网站的证书为例,如下:1)保持默认开启SSL证书验证,发送请求import requestsr = requests.get('https://www.12306.cn')print(r.text)执行结果:ssl.C

2020-09-27 10:37:19 954

原创 7. Requests库_超时设置 & 文件上传

1.超时设置将timeout作为参数项,若响应超过设置的时间后即停止等待响应,以防某些请求没有响应而一直处于等待状态;1)先获取响应时间获取响应时间res.elapsed.total_seconds()案例:import requestsbase_url = 'http://httpbin.org'cookie = {'uid':'666'}r = requests.get(base_url+'/cookies',cookies=cookie)print(r.text)print

2020-09-27 10:26:55 320

原创 6. Requests库_Cookies,Session和身份认证

一、Requests Cookies设置 1.设置Cookies 2.获取Cookies二、Session会话对象三、身份认证一、Requests Cookies设置在这里插入代码片1.设置Cookies通过cookies参数可以设置Cookieimport requestsbase_url = 'http://httpbin.org'cookie = {'uid':'666'}r =requests.get(base_url+'/cookies',cookies=c

2020-09-27 10:04:40 222

原创 5. Requests库_发送请求&请求参数&请求头

一、Requests发送HTTP请求二、Requests参数传递 1.传递URL参数 2.传递Body参数一、Requests发送HTTP请求案例:选定某个测试的URL,利用requests库内置的不同的方法来发送不同类型(GET/POST/PUT/DELETE)的http请求,并输出响应的状态码# 导入requests库import requests# 定义base_url作为基础被测URLbase_url = 'http://httpbin.org'# 发送get

2020-09-27 09:52:50 2229

原创 4.Requests库-简介 & 安装操作

一、Request库-引入背景接口测试常用的工具,有如Postman、JMeter,此类工具虽使用不复杂,但灵活性并不高。需要在界面上进行各种配置,辅助使用时甚至还会限定脚本语言(Postman限定使用js,JMeter限定使用java)。若能直接使用自己熟悉的语言来编写代码,则进行接口测试将会更加灵活便捷。通过引入Python来进行接口测试,利用其Requests库正好可以化解此困境。Requests中文文档:http://docs.python-requests.org/zh_CN/latest/

2020-09-25 17:45:07 238

原创 5. Postman_批量执行 & 数据驱动

目录结构一、批量执行 【方式1】按Collection中的API自上而下顺序执行 Step-1:测试集准备 Step-2:进入Collection Runner界面 Step-3:配置Collection Runner中的选项,开始批量执行 Step-4:检查批量执行效果 【方式2】在Tests中通过设置脚本控制API的执行顺序二、数据驱动 Step-1:数据文件&测试集准备 Step

2020-09-25 17:37:33 787

原创 4. Postman_断言

一、断言简介通常执行完成测试时,需要对测试结果进行检验,判断返回结果是否符合预期效果,即为断言。在接口测试中一般会根据响应状态码or响应返回的数据进行断言。断言通俗理解:检验预期值与实际值是否相等or相匹配预期值 = 实际值 ==> Pass(通过)预期值 ≠ 实际值 ==> Fail(不通过)Postman提供了一个测试沙箱(Postman Sandbox),是一个JavaScript执行环境,可通过JS脚本来编写Pre-request Script和Test Script。P

2020-09-25 14:50:09 144

原创 3. Postman_四种变量类型

目录结构一、Postman变量简介 1. 变量引入 2. Postman变量类型二、Postman变量类型 1. 环境变量(Environment Variable) 2. 本地变量(Local Variable) 3. 全局变量(Global Variable) 4. 数据变量(Data Variable)一、Postman变量简介1. 变量引入在软件开发的不同阶段,一般都会存在不同的环境,如:测试环境和生产环境。按照常规思路,一种方式是需要维

2020-09-25 14:30:03 2341

原创 2.Postman_接口授权设置 & Cookie设置

目录结构一、授权设置二、授权协议主要类型 1. Basic Auth 2. Digest Auth 3. Hawk Auth 4. OAuth 1.0三、Cookie设置一、授权设置出于安全考虑,有的接口并不希望对外公开,此时需要使用授权(Authorization)机制,通过授权验证是否具有访问服务器响应数据的权限。为确保请求具有访问和返回所需数据的权限,当发送请求时通常需要包含参数,而Postman提供了授权的类型,可在Postman本地应用程序中处理身份验

2020-09-25 12:00:58 2201 1

原创 1. Postman_发送请求

目录结构:一、Postman简介 1. Postman简介 2. Postman下载安装 3. Postman入门 4. Postman工作原理二、Postman请求发送类型 1. GET请求发送 2. POST请求发送 3. PUT/DELETE请求发送 4. Request Headers / Response Headers一、Postman简介1. Postman简介一般的接口测试可以直接在浏览器里面进行调试,但若涉及到一

2020-09-25 11:44:56 5886

原创 3.JSON数据解析

JSON:(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。它独立于语言和平台,JSON解析器和JSON库支持不同的编程语言。JSON具有自我描述性,很容易理解。目前大多数接口返回的数据格式为JSON,因此进行接口测试必须掌握JSON。

2020-09-25 11:15:21 171

原创 2. HTTP基本原理

一、HTTP概述 1. HTTP简介 2. 超文本 3. URL 4. HTTP功能二、HTTP功能与特点 1. HTTP特点 2. HTTP与HTTPS 3. HTTP与TCP/IP的区别三、HTTP请求 1. HTTP请求过程 2. HTTP请求方法(Request Method) 3. HTTP请求头与请求URL(Request Headers/Request URL) 4. 请求体(Request Body)

2020-09-25 11:00:15 438

原创 1.接口概述

一.接口概述:1. 接口的概念接口:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是在无需访问源码or理解内部工作机制细节的情形下,提供应用程序与开发人员基于某软件or硬件得以访问一组例程(可运行的例子程序)的能力。硬件接口-例子USB接口,耳机接口、麦克风接口、电源接口…我们无需关心这些接口的工作原理,只需通过这些接口满足我们的使用需求即可。软件接口-例子在中国天气网查询某个城市天气,输入城市名称即可获取到对应的天气。查

2020-09-25 09:36:19 234

原创 10.HttpRunner_skip机制和hook机制

skip机制skip类型skip: 无条件跳过测试skipIf: 判断结果返回为true时,跳过测]p- skipUnless:判断结果返回为false时,跳过测试p使用方法:在api中增加skip节点或在testcase的teststeps增加skip节点。skip跳过测试,值为跳过测试的说明- api: api/sale/order_products.yml skip: 跳过测试的说明skipIf跳过测试,值为验证方法,方法在debugtalk.py中定义

2020-09-25 08:27:39 749

原创 6.HttpRunner_测试用例分层_testsuites

testsuite(测试用例集)当测试用例数量比较多以后,为了方便管理和实现批量运行,通常需要使用测试用例集来对测试用例进行组织。testsuites 这一层是测试用例的集合,把测试用例放到一个测试套件去执行,用例执行应该是无序的,有依赖的场景在testcase这一层测试用例里面就已经按步骤写好了。config: 测试用例集的总体配置参数testcases : 值为字典结构(无序),key 为测试用例的名称,value 为测试用例的内容;在引用测试用例时也可以指定 variables,实现对引用测

2020-09-24 17:41:38 720

原创 5.HttpRunner_测试用例分层_testcases

testcase 用例层testcase是包含多个测试步骤的集合。每一个测试步骤是一次请求,各个测试之间可能有相同的请求参数,他们相互关联,又有顺序依赖。调用api层的接口是写测试用例,用例的步骤是有序的。将请求中公有的部分可以独立出来,写入到config中测试用例中通过关键字api引用接口的yaml文件用例层主要是config和teststeps组成,teststeps测试步骤中api指的是api目录下的文件路径config: name: "登录-获取项目列表"teststeps

2020-09-24 17:40:28 422

原创 9.HttpRunner_参数化(引用 debugtalk 函数)

本篇讲解调用 debugtalk.py 中自定义的函数生成参数列表,生成的参数列表必须为 list of dict 的数据结构。单个参数:需对 user_id 进行参数化数据驱动,参数取值范围为 1001~1004,那么就可以在 debugtalk.py 中定义一个函数,返回参数列表;def get_user_id(): return [ {"user_id": 1001}, {"user_id": 1002}, {"user_id": 1003

2020-09-24 17:05:49 1687

原创 8.HttpRunner_参数化(引用外部csv数据)

httprunner 参数化数据源指定支持三种方式:在 YAML/JSON 中直接指定参数列表:该种方式最为简单易用,适合参数列表比较小的情况通过内置的 parameterize(可简写为P)函数引用 CSV 文件:该种方式需要准备 CSV 数据文件,适合数据量比较大的情况调用 debugtalk.py 中自定义的函数生成参数列表:该种方式最为灵活,可通过自定义 Python 函数实现任意场景的数据驱动机制,当需要动态生成参数列表时也需要选择该种方式;本篇讲解内置的 parameterize(可

2020-09-24 16:57:43 903

原创 7. HttpRunner_参数化和数据驱动

参数化的功能需要在 testsuite 中实现。参数配置如需对某测试用例(testcase)实现参数化数据驱动,需要使用 parameters 关键字,定义参数名称并指定数据源取值方式。参数名称的定义分为两种情况:独立参数单独进行定义;多个参数具有关联性的参数需要将其定义在一起,采用短横线(-)进行连接。数据源指定支持三种方式:在 YAML/JSON 中直接指定参数列表:该种方式最为简单易用,适合参数列表比较小的情况通过内置的 parameterize(可简写为P)函数引用 CSV 文

2020-09-24 15:23:36 248 1

原创 4.HttpRunner_测试用例分层_api

httprunner 2.x版本最大的改进就是分层机制了,可以定义公共的方法,在用例里面直接引入步骤,这样公共方法我们只需写一次;分层机制:测试用例分层机制的核心是将接口定义、测试步骤、测试用例、测试场景进行分离,单独进行描述和维护,从而尽可能地减少自动化测试用例的维护成本。我们从httprunner项目目录中也可以直接看到分层:api:接口描述testcases(测试用例):测试用例(testcase)应该是完整且独立的,每条测试用例应该是都可以独立运行的teststep :用例是测试步骤(

2020-09-24 15:11:51 662

原创 3.HttpRunner_variables变量声明与引用

在 HttpRunner 中,支持变量声明(variables)和引用($var)的机制。在 config 和 test 中均可以通过 variables 关键字定义变量,然后在测试步骤中可以通过 $ + 变量名称 的方式引用变量。区别在于:在 config 中定义的变量为全局的,整个测试用例(testcase)的所有地方均可以引用;在 test 中定义的变量作用域仅局限于当前测试步骤(teststep)局部变量在登录案例中,账号和密码是写死的,一般写用例的时候,我们最好把这种可能会变的参数单

2020-09-24 14:20:37 855

原创 2. HttpRunner_extract提取token值参数关联

我们做接口自动化的时候经常遇到接口关联,需要返回登录的token给后续接口使用,我们一般只需要取出token值,设置为一个中间变量a,然后下个接口传入这个变量a就可以了,需要进行两步:取出token关联参数场景案例:例如接口测试平台中,要获取项目列表,需要传入登录后的token信息进行验证才可以获取:extract提取token提取登录接口返回的token值,使用extract提取器 extract: - token: content.token使用提取的变量

2020-09-24 14:07:19 687

原创 1. HttpRunner_简介

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,只需要编写一份YAML/JSON脚本,即可实现自动化测试,性能测试,线上监控,持续集成等多种测试需求;项目背景:业务导向,快速落地提高投入产出比高速发展和扩张:业务增长,人员增长,学习成本需要低普遍具有功能回归测试,性能测试,持续集成,线上监控,测试生成等需求设计理念充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组成战车遵循约定大于配置的准则,在框架功能中融入自动

2020-09-24 13:31:55 378

原创 16.Jmeter_线程组(Thread Group)

认识JMeter的线程组(Thread Group)性能测试的资源调度池控制性能测试的运⾏调度、参与⼈数(并发数)、执⾏策略分类 Setup, TearDown, Normal不同的分类在整个压测执⾏的⽣命周期内的执⾏时间点不同线程组的配置参数第⼀部分:在请求取样器执⾏错误时需要执⾏的下⼀步动作第⼆部分:线程属性第三部分:调度配置1.线程组配置参数详解:第⼀部分:在请求取样器执⾏错误时需要执⾏的下⼀步动作Continue:继续执⾏接下来的操作Start Next Loop

2020-08-14 15:51:41 226

原创 15.Jmeter_数据库压测

需要操作数据库的常⻅场景准备、制造测试数据获取、查询测试数据清理测试环境、删除过程数据数据库压测操作数据库场景准备好可⽤的MySQL Server(可以⽤docker 搭建)➢ 建库建表➢ 验证数据库可连通建库建表SQL语句: iJmeter/sql/order.sql✓ 将mysql connector 依赖包复制粘贴到 <jmeter_path>/lib ⽬录下,依赖包位置 iJmeter/jars/mysql-connector-java-8.0.15.j

2020-08-14 15:22:33 191

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除