Python
文章平均质量分 56
python相关的web编程、自动化测试
冷凝娇
白纸一张
展开
-
pytest(二):关于pytest自动化脚本编写中,初始化方式setup_class与fixture的对比
teardown_class 实际上并不是在每个测试方法之后调用,而是在整个类中的所有测试方法之后调用一次。这与 setup_class 的行为不一致,可能会导致误解。使用 autouse=True 的 fixture 作为类方法可能不是最佳实践,因为 fixture 通常不是类的一部分,而是独立的函数。原创 2024-05-07 13:51:38 · 390 阅读 · 0 评论 -
python:目录动态获取、获取传入路径下第一层目录,使用列表生成式获取、添加至环境变量等操作
【代码】python:目录自动获取、获取当前目录下所有目录,使用列表生成式获取、添加至环境变量等操作。原创 2024-03-22 15:50:14 · 223 阅读 · 0 评论 -
python进阶:装饰器一系列高级使用方式记录:常规方式、带参数装饰器、类装饰器、类内定义装饰器并传递self参数等
'''函数里面可以操作自己想加入的功能;加上*args,**kwargs两个参数,即表示:无论被修饰的函数/类有几个参数、什么类型,都可以用该装饰器装饰,如果,没有写这两个参数,那就必须被装饰的函数/类有几个参数,装饰器就写死为几个参数;就达不到想要的效果'''print("执行装饰器")return res#装饰器可装饰函数:@decoratorreturn x+y# 举例两个变量。原创 2024-03-22 14:36:50 · 540 阅读 · 0 评论 -
python:关于Socket编程写一篇小计(汇总所有之前的socket笔记)
socket原创 2024-03-20 15:30:06 · 254 阅读 · 0 评论 -
python:异常(二):万能异常Excepthon、多分支except
【代码】python:异常(二):万能异常Excepthon、多分支except。原创 2019-01-25 17:55:52 · 2291 阅读 · 1 评论 -
python:异常(一)
【代码】python:异常(一)翻译 2019-01-25 16:52:59 · 167 阅读 · 1 评论 -
python:反射;hasattr()、getattr()、setattr()、delattr()
重点:注意:下面的内容,没有__hasattr__();只有:__getattr__()、__setattr__()、__delattr__()翻译 2019-01-22 15:51:13 · 150 阅读 · 0 评论 -
python:格式化 时间和日期
返回值是struct_time格式,即:(tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)。tuple:传入时间元组或 time.struct_time 代表时间的对象。解释:时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。format:用英文引号引入目标时间格式,比如:‘%Y-%m-%d %H:%M:%S’用法:获取格式化的时间,将元组时间转为字符串时间。原创 2023-06-18 11:49:35 · 5538 阅读 · 0 评论 -
python:函数装饰器、列表生成式、生成器、(协程)理解IO雏形、迭代器
#装饰器def decorator(obj): def wrapper(*args,**kwargs): ''' 函数里面可以操作自己想加入的功能; 加上*args,**kwargs两个参数,即表示: 无论被修饰的函数/类有几个参数、什么类型,都可以用该装饰器装饰, 如果,没有写这两个参数,那就必须被装饰...原创 2019-01-24 18:23:18 · 193 阅读 · 2 评论 -
UI自动化测试:playwright工具(一):python环境下安装、UI录制使用(需要些代码能力)
1.支持所有主流浏览器:基于Chromium内核的Google chrome 和 Microsoft Edge浏览器), WebKit内核的Apple Safan 和 Mozila Firefox浏览器,不支持lE11。4.覆盖所有场景:支持文件下载、上传、0OPIF(out-of-process iframes),输入、点击,暗黑模式等。3.浏览器上下文并行:单个浏览器实例下创建多个浏览器上下文,每个浏览器上下文可以处理多个页面。4.有弹性的元素选择:可以使用文本、可访问标签选择元素,原创 2024-02-27 16:06:00 · 488 阅读 · 0 评论 -
第二章(一):Django框架的模型(Model)、ORM操作数据库
模型(Model)是 MTV 模式的重要组成部分。在 Django 框架中,主要通过模型来实现与数据库的交互功能,如数据的增加、删除、修改和查询,以及多表关联等。提示:以下是本篇文章正文内容,下面案例可供参考在Diango框架中,模型用于描述数据库表结构。模型实例可以实现数据操作。一个模型( Model)对应一个数据库表。模型中的字段对应数据库表中的一个字段。原创 2023-05-30 11:49:33 · 926 阅读 · 0 评论 -
第一章(三):Django框架的视图函数、视图类的认识及常规使用
理解好Django框架,了解Django的工作流是基础,掌握Django的视图函数是关键。本文,将呈现Django的工作流、视图,并结合实例展示基础效果。本文中曾提到过HttpRequest、HttpResponse两个对象可以处理的数据请求与返回响应数据;Django中将其进行了优化封装,提供了几个简单的函数及视图类供我们使用。提示:以下是本篇文章正文内容,如有疑问,欢迎评论中指出,定在一周内予以回复。原创 2023-04-02 09:26:52 · 606 阅读 · 0 评论 -
第一章(一) : Django框架之创建项目/应用/templates、连接MYSQL、配置日志LOGGING、启动django项目;
注意⚠️:在startapp创建了Django应用后,还需要打开项目guest/settings.py配置文件,找到INSTALLED_APPS,注册应用。如果你已经成功的安装 Django,在.../python35/Scripts/目录中将会多出一个 django-admin.exe 文件。Python 官方仓库下载地址:https://pypi.python.org/pypi/Django。Django 官方网站:https://www.djangoproject.com/原创 2018-12-25 18:40:40 · 1121 阅读 · 2 评论 -
【网络协议之基础一】HTTP协议简介(请求头、响应头、请求方式)请求协议、响应协议
无状态协议,即:服务器不需要知道客户端是谁,只认请求(一次请求request,一次相应response),例如,客户端请求淘宝网,会在浏览器上得到一个响应(即网页),此时,不管服务器挂了还是怎么了,客户端都可以浏览网页内容,除非你再次请求才会报错;之所以,大家认为每一次登录,好像客户端都能找到自己账号的相关信息(如:已下的订单),其实是cookie和session的作用,和http协议本身无关了浏览器发送给服务器的内容就这个格式的,如果不是这个格式服务器将无法解读。原创 2019-02-24 21:28:08 · 23728 阅读 · 4 评论 -
关于django的ORM查询出来的数据格式的转换:OrderedDict类型转换为list;serializers序列化器配置字段可以为null
关于django的ORM查询出来的数据格式的转换:OrderedDict类型转换为list;serializers序列化器配置字段可以为null原创 2021-03-17 14:24:43 · 2019 阅读 · 0 评论 -
python常用数据类型转换(str、list、tuple、set、dict)方法&编码与解码&字符串格式化处理&时间格式化
可哈希:python中set集合进行数据存储的时候,需要对数据进行哈希计算,根据计算出来的哈希值进行存储数据;# set集合要求存储的元素,必须是可以进行哈希计算的: # 不可变的数据类型值(是值,不是变量类型):int、str、tuple、bool # # 不可哈希:可变的数据类型值(是值,不是变量类型):list、dict、set 这些是不可作为set元素值存储在set变量中的;原创 2022-06-27 15:46:33 · 785 阅读 · 0 评论 -
Flask(六):关于ORM框架:SQLAlchemy
这里写自定义目录标题1.SQLAlchemy的安装2.SQLAlchemy简介3.SQLAlchemy使用一:执行原生sql语句4.SQLAlchemy使用二:ORM4.1 创建数据库表的几种情况4.2 操作数据库表的几种情况:基本增删改查4.3 操作数据库表的几种情况:常用操作4.4 操作数据库表的几种情况:原生sql4.5 操作数据库表的几种情况:基于relationship操作ForeignKey4.6 操作数据库表的几种情况:基于relationship操作m2m1.SQLAlchemy的安装p原创 2021-08-03 16:20:56 · 743 阅读 · 0 评论 -
python面向对象-最新笔记:__mro__、__dict__、类的创建方式、metaclass
这里写目录标题0. 类的__mro__:属性继承顺序1. 类的__dict__ VS 对象的__dict__:2. python类的创建方式:3. 类创建默认metaclass=type,自定义type3.1 自定义type:MyType3.2 使用自定义type创建类3.3 继承类,则metaclass同基类相同3.4 函数的方式创建类4. 实例化类时,执行过程总结0. 类的__mro__:属性继承顺序class A(object):passclass B(A):passclass C(o原创 2021-07-15 16:00:36 · 298 阅读 · 0 评论 -
Flask(五):组件的使用(flask-session存储session、wtforms表单校验)
这里写目录标题1.flask-session三级目录1.flask-sessionpip install flask-session 比session(session是将内容存到用户浏览器,而flask_session则是将内容存到后端redis,给用户响应的只是一个uuid),也是继承dict作用:将默认保存的签名cookie中的值 保存到 redis/memcahed/file/Mongodb/SQLAlchemy中,一般我们使用redis配置:方法1:settings中 SESSIO原创 2021-07-14 11:19:23 · 643 阅读 · 1 评论 -
关于pymysql对mysql数据库的查询封装、DBUtils链接池
import pymysqlclass SQLHelper(object): ''' 在外面调用改类方法:SQLHelper.fetch_one('select id , name from userinfo where name=%s and pwd=%s', [user, pwd]) 如果是调用fetch_many,调用改类方法:SQLHelper.fetch_one('select id , name from userinfo where name=%s and pwd=%原创 2021-07-13 17:52:53 · 804 阅读 · 0 评论 -
关于:ini、yaml/yml、excel文件的python操作封装
【代码】关于:ini、yaml/yml、excel文件的python操作封装。原创 2021-07-05 11:34:16 · 475 阅读 · 0 评论 -
面向对象:类的私有变量如何在外面调用?
一、类的私有变量是什么特性?class Foo(): def __init__(self): self.__age = 18 # 就是前面加了两个下划线:__此时,你在实例化类后,以常规的方式调用,会报错:'Foo' object has no attribute '__age'print(Foo().__age)二、类的私有变量在实例化类后,如何调用私有变量class Foo(): def __init__(self): self.__age =原创 2021-06-28 16:40:22 · 774 阅读 · 0 评论 -
python生成及安装requirement.txt的两种方式
方式一:freeze >requirements.txt的生成: pip freeze > requirements.txt安装requirements.txt 里面依赖的包:pip install -r requirements.txt方式二:pipreqsrequirements.txt的生成:# 安装pipreqspip install pipreqs# 生成 requirements.txtpipreqs ./...原创 2021-06-02 17:57:01 · 3382 阅读 · 0 评论 -
关于paramiko包远程连接windows、Windows安装OpenSSH服务、获取远程执行命令的结果并转为汉字
一、paramiko模块的安装与使用本文介绍系统是windows,linux系统请自行百度1.paramiko模块的安装pip3 install python-devpip3 install paramiko如果上面的命令执行报错,则很大程度是需要安装gcc环境,在windows上可以安装:https://pan.baidu.com/s/18vBTYBL1QU0lysVLK0QsuQ提取码:twyo2.paramiko模块的简单使用示例(包含知识点:将b'\xs\sj\hx….原创 2021-01-11 14:52:17 · 2260 阅读 · 1 评论 -
Selenium分布式自动化测试平台 Standalone Server 搭建
一、预置条件0.Finalshell或者xshell远程连接及操作Linux系统的优秀工具,本人推荐Finalshell链接:https://pan.baidu.com/s/1V8WEfCQsb24rnoeLMtfCMA提取码:on5o1.在linux服务器上,需要java环境、python3环境(具体安装,自行访问度娘)二、Selenium Grid环境安装(备注:由于公司采用Linux系统作为服务器,所以这里以Linux作为sample,windows环境安装逻辑基本一致)..原创 2020-11-23 15:32:33 · 2066 阅读 · 0 评论 -
python在安装.exe类型的第三方包报错:python version 3.8 required,which was not fount in the registry
解决方式:建立一个文件 register.py 内容如下. 然后执行该脚本.import sysfrom winreg import *# tweak as necessaryversion = sys.version[:3]installpath = sys.prefixregpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)installkey = "InstallPath"pythonkey = "Python.原创 2020-09-27 13:23:38 · 1755 阅读 · 0 评论 -
关于python安装whl文件:.whl is not a supported wheel on this platform.
4.如果第3步提示类似:.whl is not a supported wheel on this platform.则使用下面的py脚本查询当前python版本支持的whl格式。1.将下载的whl包指定到python的Lib/site-packages。网站上包的名称没有对应的,下载最接近的名称,然后将名称改来对应。2.在命令提示符中,cd到site-packages目录。5.如果上面报错,直接命令提示符里:直接用。3.pip install whl文件。安装对应的支持格式下载,如果。原创 2020-09-27 11:12:00 · 8604 阅读 · 4 评论 -
python在linux中安装
Linux系统上安装python详细步骤原创 2020-07-16 18:12:40 · 212 阅读 · 0 评论 -
python之文件读写、目录操作、序列化str操作后写入文档、xml模块、configparser模块
一、文件打开open函数是用来打开文件;格式:open (name[.mode[.buffering]]);必填参数:1.name(即:文件名或文件路径);选填参数:1.mode(即:权限模式)、包含:w、r、b、a、+;2.buffering(即:控制文件的缓冲),如值为0,无缓冲,直接将数据写到硬盘;若为1,有缓冲,在flush()或close()执行后数据才会更新...原创 2020-04-07 15:54:04 · 1498 阅读 · 1 评论 -
Python接口自动化-简单总结(包含:excel/json操作封装、request的封装)
推荐方式:数据库、excel示例2.2 主要模块简介util---operation_excel:操作excelimport os'''操作excel,获取testcase'''else:#获取sheet的内容#获取sheet的行数#获取某一个单元格的内容#写入单元格内容#根据caseid,找到对应用例所在行的内容#根据case_id找到对应用例的行的行所在的索引号(行号)row_num=0#根据行号row,找到该行的内容#根据列column获取某一列的内容if column。原创 2020-03-26 14:15:56 · 669 阅读 · 0 评论 -
fiddler抓取不到python-request的包?InsecureRequestWarning: Unverified HTTPS request is being made to host '
问题一:在使用python-requests做接口请求时,fiddler抓取不到request请求?解决方式:在request.get()\requet.post()里面加参数:verify=False;目的是:移除SSL认证;此时,fiddler就可以抓取到python-requets 请求的包了;问题二:当使用Python requests 设置verify=False移除SSL认...原创 2020-02-20 14:08:14 · 4388 阅读 · 4 评论 -
jenkins添加python项目,如何解决Jenkins控制台输出类似与:ModuleNotFoundError: No module named 'requests'
继:自动化测试框架【windows系统】:Jmeter+Ant+JenkinsJenkins在windows环境下的下载与安装下面,添加python项目时的注意事项:步骤一:安装好Jenkins后,进入首页,点击新建项目//进入项目名称、风格选择的页面//选择自由风格,点击【ok】步骤二:项目配置,在“一般”选项卡里面选择【高级】;在高级里面,选择自定义目录,输入python项...原创 2020-02-20 13:48:49 · 1453 阅读 · 0 评论 -
Django框架(十八):Form组件之字段类型及参数、widget定制HTML插件、file文件上传小知识
继:https://blog.csdn.net/ak739105231/article/details/103832294在上面的博客中,了解到创建Form组件的class需要定义一些需要验证的字段以及error_messages字段……同时前端也可以很快的生成html脚本;下面,更多的了解一些Form组件的字段类型,以及字段类型下对应的不同的参数;创建Form类时,主要涉及到 【字段】 ...转载 2020-01-06 12:05:20 · 2525 阅读 · 0 评论 -
Django框架(十七):Form组件之基本功能初识
前言:在前端页面输入数据,数据进入数据库或者后台逻辑之前,往往需要对数据的类型、格式、长度等一系列属性进行验证;若仅仅使用js前端验证或后端代码验证这显得十分麻烦;于是有了Form组件存在的意义;一、Form组件的作用、基本使用ajax方式提交数据与下面form表单提交有些许不同,因为ajax本身在错误的情况下不刷新页面;https://blog.csdn.net/ak739105231/...原创 2020-01-04 16:17:37 · 478 阅读 · 0 评论 -
JavaScript:Ajax在Django中的应用、jquery事件绑定、jquery事件委托、serialize、serializeArray获取form的输入值
一、初识AjaxAjax是属于javaScript的一种方法,简单明了的说,其功能就是在实现Web页面不刷新的情况下,向后台发起请求,进而更新Web页面部分数据。1.1 什么时候适合使用Ajax向后台发送请求喃?下面我们就列举一下: a.对话框方式:1.数据量小或条目少;2.【新增】功能、【编辑/更新】功能、【删除】功能;需要注意的是:a.模态对话框基础;b.table...原创 2019-12-13 19:25:21 · 581 阅读 · 0 评论 -
Web自动化测试【分层架构设计与实现】五:异常处理层
一、异常处理主要是用来统一处理测试过程中的各种异常;【没有详细研究……主要还是就装饰器的运用……】#!/usr/bin/env python# -*- coding: utf-8 -*-import sysimport tracebackfrom selenium.common.exceptions import NoSuchElementExceptionfrom Result....原创 2019-10-21 14:16:05 · 230 阅读 · 0 评论 -
Web自动化测试【分层架构设计与实现】二:定位符驱动层
链接:https://blog.csdn.net/ak739105231/article/details/102409810说明了python实现web自动化测试的基本逻辑以及数据驱动层,简单的说就是如何将数据与业务分离,实现数据、脚本的维护更简洁。一、定位符驱动层1.定位符指的是定位web页面上特定元素的字符串。一般情况下,selenium定位方式有很多,但是对于一个测试脚本,建议全部都...原创 2019-10-12 16:39:53 · 384 阅读 · 0 评论 -
Web自动化测试【分层架构设计与实现】三:页面操作层
总纲及数据驱动层:https://blog.csdn.net/ak739105231/article/details/102409810定位符驱动层:https://blog.csdn.net/ak739105231/article/details/102517323一、页面操作层页面操作层是专门用于封装页面元素操作的。每一个页面都需要有一个对应的操作类,在这个类里面包含该页面上所有的...原创 2019-10-14 13:24:46 · 1040 阅读 · 0 评论 -
Web自动化测试【分层架构设计与实现】四:结果驱动层
总纲、数据驱动层:https://blog.csdn.net/ak739105231/article/details/102409810定位符驱动层:https://blog.csdn.net/ak739105231/article/details/102517323页面操作层:https://blog.csdn.net/ak739105231/article/details/102544...原创 2019-10-17 18:17:23 · 532 阅读 · 0 评论 -
Python之打开浏览器访问网页
方法一:os模块下,startfile方法;方法二:webbrowser模块下,open方法;方法三:使用selenium 下面的webdriver原创 2018-11-03 22:33:47 · 1285 阅读 · 0 评论