自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 KeyError: ‘xxx‘报错

以上是函数是return的值是字典,但字典中没有那个“键”,会报错。解决方法为r.setdefault(‘smscode’, 0):设定这个键的默认值。

2020-09-27 16:45:58 6783 2

转载 requests 数据库参数化

一、requests接口自动化-数据库参数化数据库参数化的场景部分接口,参数其他方式获取不到,可以去数据库去获取,如手机验证码安装pymysql-==================================================-二、配置文件def sql_conf():# 定义数据库的配置host=‘127.0.0.1’user=‘root’password=‘123456’database=‘employees’port=3306charset=‘utf8’

2020-09-02 13:59:14 368

原创 Appium 定位元素

一、界面元素查看工具1.uiautomateviewer它在SDK目录目录 的 tools\bin 目录中2.Appium Inspector

2020-08-26 13:21:44 204

原创 Appuim 示例代码

from appium import webdriverfrom appium.webdriver.extensions.android.nativekey import AndroidKeydesired_caps = {‘platformName’: ‘Android’, # 被测手机是安卓‘platformVersion’: ‘8’, # 手机安卓版本‘deviceName’: ‘xxx’, # 设备名,安卓手机可以随意填写‘appPackage’: ‘tv.danmaku.bili’,

2020-08-26 12:47:29 243

原创 Appium 安装自动化环境

一、安装client编程库因为用Python语言开发,所以当然是用pip安装,如下pip install appium-python-client-=======================================================-二、安装Appium Server点击安装包一路下一步-=======================================================-三、安装JDK点击安装包一路下一步-===========

2020-08-26 12:16:47 185

原创 requests 的session机制

requests库给我们提供一个 Session 类 。通过这个类,无需我们操心, requests库自动帮我们保存服务端返回的 cookie数据, HTTP请求自动 在消息头中放入 cookie 数据。

2020-08-25 21:25:49 446

原创 requests拉取响应消息

一、检查响应状态码通过.status_code来获取响应状态码-====================================================-二、检查响应的消息头注意:如果要完全转换为字典,可以这么print(dict(response.headers))-====================================================-三、检查响应的消息体1.要获取响应的消息体的文本内容,直接通过response对象 的 text

2020-08-25 17:34:02 382

原创 requests构建API请求

一、构建URL参数把url参数传递给params里-===================================================-二、构建请求消息头把消息头的数据传递给headers里-===================================================-三、构建请求消息体Web API接口中,消息体基本都是文本,文本的格式主要是这3种: urlencoded ,json , XML。1.xml格式消息体存放在data里如

2020-08-25 12:15:24 524

原创 fiddler抓包

一、设置过滤-=====================================================-二、requests设置fiddler代理import requestsproxies = {‘http’: ‘http://127.0.0.1:8888’,‘https’: ‘http://127.0.0.1:8888’,}response = requests.get(‘http://www.baidu.com/’,proxies=proxies)print(re

2020-08-24 22:34:23 132

原创 http协议基础

一、HTTP协议简介HTTP 有好几个版本,包括: 0.9、1.0、1.1、2,当前最广泛使用的是 HTTP/1.1 版本。HTTP 协议最大的特点是 通讯双方 分为 客户端 和 服务端 。由于 目前 HTTP是基于 TCP 协议的, 所以要进行通讯,客户端 必须先 和服务端 创建 TCP 连接。而且 HTTP 双方的信息交互,必须是这样一种方式:客户端 先发送 http请求(request)给 服务端然后服务端 发送 http响应(response)给 客户端-===============

2020-08-24 18:08:51 240

原创 pytest数据驱动 与 调试

一、数据驱动import pytestfrom lib.weblogin import loginAndCheckclass Test_哔哩登陆:@pytest.mark.parametrize(‘username, password, expectedalert’, [(None, ‘5465468’, {‘请输入注册时用的邮箱或者手机号呀’:’’}),(‘KKC12345’, None, {’’:‘喵,你没输入密码么?’}),(None, None, {‘请输入注册时用的邮箱或者手机号呀’

2020-08-24 14:33:08 306

原创 pytest实战框架 示例代码

一、lib里的函数from selenium import webdriverfrom time import sleepdef loginAndCheck(username=None, passwd=None):driver = webdriver.Chrome(r’d:\Chromedriver.exe’)driver.implicitly_wait(5)driver.get('https://passport.bilibili.com/login')if username is not

2020-08-24 12:47:14 645

原创 pytest 挑选用例执行

一、指定一个模块可以像这样只挑选一个模块执行pytest cases\登录\test_错误登录.py-======================================================================-二、指定目录可以像这样只挑选一个目录执行pytest cases也可以指定多个目录pytest cases1 cases2\登录-===========================================================

2020-08-20 14:37:02 1322

原创 pytest 初始化清除功能

一模块级别def setup_module():print(’\n *** 初始化-模块 ***’)def teardown_module():print(’\n *** 清除-模块 ***’)放在用例 类 的上方,如-======================================================================-二、类级别setup_class 和 teardown_class 类方法,如-=====================

2020-08-19 21:08:46 914

原创 pytest安装 与 基本操作

一、安装直接执行 如下命令即可安装 pytestpip install pytest我们还需要产生测试报表,所以要安装一个第三方插件 pytest-html ,执行如下命令安装pip install pytest-html-======================================================================-二、用例写法格式首先,我们编写的测试用例代码文件, 必须以 test_ 开头,或者以 _test 结尾比如,我们创建一个 文件名为

2020-08-17 17:24:41 1612 1

原创 seleuinm的Xpath选择元素

一、Xpath语法,(绝对路径)xpath 语法中,整个HTML文档根节点用’/‘表示,如果我们想选择的是根节点下面的html节点,则可以在搜索框输入/html如果输入下面的表达式/html/body/div这个表达式表示选择html下面的body下面的div元素。注意 / 有点像 CSS中的 > , 表示直接子节点关系。代码表达式如下:driver.find_elements_by_xpath(‘/html/body/div’)-==========================

2020-08-16 18:46:47 627

原创 selenium的弹出框处理

一、Alert 类型弹框selenium提供如下方法进行操作:driver.switch_to.alert.accept()注意:如果我们不去点击它,页面的其它元素是不能操作的。 {: .notice–info}如果程序要获取弹出对话框中的信息内容, 可以通过 如下代码driver.switch_to.alert.text示例代码如下:from selenium import webdriverdriver = webdriver.Chrome()driver.implicitly_wa

2020-08-15 11:47:54 6008 2

原创 selenium选择框

一、radio框radio框选择选项,直接用WebElement的click方法,模拟用户点击就可以了。-================================================================================-二、checkbox框我们的思路可以是这样:先把 已经选中的选项全部点击一下,确保都是未选状态再点击 小雷老师示例代码~# 先把 已经选中的选项全部点击一下elements = wd.find_elements_by_cs

2020-08-13 20:19:58 507

原创 seleuinm的frame切换/窗口切换

一、iframe 或 frame切换1.使用 WebDriver 对象的 switch_to 属性,像这样driver.switch_to.frame(frame_reference)其中, frame_reference 可以是 frame 元素的属性 name 或者 ID 。比如这里,就可以填写 iframe元素的id ‘frame1’ 或者 name属性值 ‘innerFrame’。像这样driver.switch_to.frame(‘frame1’)或者driver.switch_t

2020-08-12 12:49:23 365

原创 selenium的css表达式选择元素

一、css表达式的写法:find_element_by_css_selector(CSS Selector参数) 或find_elements_by_css_selector(CSS Selector参数)1.找class的属性,使用点“.”表示,如find_element_by_css_selector(’.plan’)2.找id的属性,使用“#”表示,如find_element_by_css_selector(’#su’)-==============================

2020-08-10 12:31:43 734

原创 selenium的一些基本操作

一、使用驱动打开浏览器,并进入百度网址。driver = webdriver.Chrome(r’d:\chromedriver.exe’)driver.implicitly_wait(5) #如果网页服务器没有返回响应,则每隔半秒再拉取一次直至超时5秒报错。driver.get(‘http://www.baidu.com//’)-==============================================================================-二、se

2020-08-08 16:24:46 316

原创 selenium安装库与驱动

1.安装库pip install selenium-==============================================================================-2.安装驱动,如Chrome浏览器为例Chrome 浏览器驱动下载地址:https://chromedriver.storage.googleapis.com/index.html找到对应浏览器版本的编号下载解压,放在可以快捷找到目录下。...

2020-08-08 15:57:01 304

原创 Postman导出、导入接口文件 & 生成代码片段

1.导出-==============================================================================-2.导入-=============================================================================-3.生成接口代码片段

2020-08-06 16:56:25 1930

原创 Postman之Monitor监控器

1.介绍2.注意事项:遇到必填不可重复的参数请输入随机数。

2020-08-06 16:45:44 953

原创 Postman之随机数

1.方法介绍-===============================================================================-2.例子

2020-08-06 16:34:07 990

原创 Postman参数化测试

1.创建一个txt,写入以下数据。(注意要用英文逗号隔开)2.把接口需要参数化的数值用{{ }}符号内填上txt文件内的标题3.点击该集合的Run,修改以下数值4.修改完毕后点击Run

2020-08-05 15:39:25 203

原创 Postman的tests断言

1.断言的几种方式:-===============================================================================-2.例子:包含某个字符串检验是否等于某个“整个”字符串检验某个字段是否等于某个值(通常使用较多的方法)检验响应头是否包含某个值检验响应时间检验响应状态码(通常使用较多的方法)...

2020-08-04 14:58:27 503

原创 Postman设置变量

1.全局变量,所有环境都可以使用-================================================================================-2.环境变量,根据环境调用变量-===============================================================================-3.Tests设置变量关联jsonData 这个变量名可以跟自己习惯随便取名,如改成:Da

2020-08-02 21:09:04 855

原创 Postman集合测试

1.2.调用变量

2020-08-01 19:38:59 330

原创 postman接口传参

1.必要条件:2.以下为常用的:3.示例 json格式传参:选择 rawBody是返回信息(主要看)。-===============================================================================-4.示例 表单格式传参:

2020-07-30 20:14:19 1903

原创 with语句应用

2020-07-23 20:10:39 127

原创 flask连接数据库

一.1.在app文件夹下创建libs(库)和spider(爬虫);2.把以下的文件拖入这个两个文件夹下,如图:python3的新版本会自动更改关联这3个文件的导入路径,所以不用手动更改;-===============================================================================-二.创建数据库1.运行Xampp,点击MySQL一栏的Start:2.打开数据库可视化管理工具如:Navicat for MySQL-===

2020-07-21 22:35:05 726

原创 视图函数的参数校验

一.安装wtforms1.在终端上输入:pipenv shell启动环境;2.输入:pipenv install wtforms下载wtforms;-================================================================================-二.验证层1.在app文件夹下新建一个forms文件夹(以后把所有校验文件都放在forms文件夹下);2.在forms文件夹下新建book.py,写入以下代码:Form:需要在wtfo

2020-07-14 21:02:17 204

原创 应用蓝图与视图函数

一.app、蓝图、视图函数框架-================================================================================-二.把视图函数从入口启动文件中分离出来1.在fisher文件下新建文件夹app、web、book.py,写入以下代码:(web文件夹代表的是蓝图)web = Blueprint(): 需要从flask里导入Blueprint;之前的@app.route()改成@web.route();2.之前的fis

2020-07-06 21:27:33 327

原创 web的搜索功能编写

isdigit()函数:检验是否为数字;replace()函数:替换函数,如:replace(’-’, ‘’)把‘-’替换成‘空格’;注:第二if判断含有多个and的复杂判断要放在后面,越复杂的判断越消耗性能,当前面的判断为真时就不会跑后面的判断,节省性能。-================================================================================-2.优化上面的代码首先创建一个helper配置文件,写入以下代码然后...

2020-07-01 22:57:40 1446

原创 flask搭建最基础WEB

@app.route():python简洁的装饰器,用于路由注册;debug=True:服务器自动重启的调试模式,但正式环境不能使用调试模式;host=‘0.0.0.0’:指定本机所有网卡地址,使用任意一个网卡地址都能访问,同时连接了外网;port=81:指定端口为81;-===============================================================================-2.解决正式环境代码的镜像性,使用配置文件:创建一个配置文...

2020-06-29 22:13:32 194

原创 安装pipenv

1.打开终端,cd到项目文件夹;2.输入 pip install pipenv 下载安装;3.绑定项目,给项目安装虚拟环境输入 pipenv install;4.启动虚拟环境输入 pipenv shell;5.查看虚拟环境下有什么包,输入 pip list;6.安装flask输入 pipenv install flask;7.校验是否安装成功,输入 flask 没有报错表示安装成功;8.一些pipenv的管理命令:退出虚拟环境:exit卸载包:pipenv uninstall + 包名查

2020-06-26 20:52:13 808

原创 安装自己的库

2020-06-25 21:46:09 227

原创

例子

2020-06-24 07:48:49 83

原创 数据结构

sorted():让列表中的元素从小到大、从a到z、从短到长排列,但不会改变列表本身。reverse:排列顺序相反。例子:1.结果为2.lower():大写转小写。结果为upper():小写转大写。enumerate():列出列表内的每个元素的排列位置。...

2020-06-17 18:04:29 171

空空如也

空空如也

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

TA关注的人

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