Python
tester_sz
忙,都没时间写....
展开
-
Flask-SQLAlchemy 与 SQL Alchemy 的区别、联系
sqlalchemy转载 2022-11-21 20:29:41 · 823 阅读 · 0 评论 -
AttributeError: ‘sqlalchemy.cimmutabledict.immutabledict‘ object has no attribute ‘setdefault‘
flask 版本兼容性转载 2022-11-21 20:15:30 · 525 阅读 · 0 评论 -
Flask 连接MongoDB和查询Mysql
flask+mongodb+mysql原创 2022-11-21 20:12:19 · 391 阅读 · 0 评论 -
创建数据库表提示Working outside of application context.
问题:RuntimeError: Working outside of application context.原创 2022-11-04 16:09:25 · 999 阅读 · 0 评论 -
npm:无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
在终端中输入“sudo”/"npm"命令,出现错误提示:无法将“sudo”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。cmd运行node -v, npm -v检查是否安装。Node.js是一个Javascript运行环境。转载 2022-10-25 16:59:43 · 690 阅读 · 0 评论 -
ModuleNotFoundError: No module named ‘flask‘
之前运行没问题,突然冒出了这个问题,一面懵逼,看安装的模块发现安装了但是不知道为啥还是会报这个错误。大概率就是编译器的问题,看下python环境变量和pycharm设置的编译器是哪个。由于创建新的项目时,使用Edit的配置可能会改变,在另外的配置中没有模块。在Pycharm中点击右键弹出选项,选择当前Edit配置,选择P。转载 2022-10-25 16:49:23 · 1526 阅读 · 0 评论 -
显式等待与隐式等待
【代码】显式等待与隐式等待。转载 2022-09-19 09:49:52 · 129 阅读 · 0 评论 -
Pycharm 虚拟环境创建及解释器的设置
Virtualenv: 项目文件夹下创建一个独立的虚拟环境Pipenv: pip包的一个管理模块Conda: conda环境下的解释器环境。转载 2022-08-12 15:44:02 · 601 阅读 · 0 评论 -
Pycharm三种运行方式如何选择
https://blog.csdn.net/ludanatong/article/details/113821576转载 2022-08-12 14:33:51 · 356 阅读 · 0 评论 -
3.3python基础03
len 函数的基本语法格式为:其中 string 用于指定要进行长度统计的字符串。例如,定义一个字符串,内容为“http://c.biancheng.net”,然后用 len() 函数计算该字符串的长度,执行代码如下:4.2split():分割字符串split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来。该方法的基本语法格式如下:此方法中各部分参数的含义分别是:需要注意的是,在未指定 sep 参数时,split()原创 2022-06-24 17:35:12 · 87 阅读 · 0 评论 -
3.2python基础02
列表(list)和元组(tuple)比较相似,它们都按顺序保存元素,所有的元素占用一块连续的内存,每个元素都有自己的索引,因此列表和元组的元素都可以通过索引(index)来访问。它们的区别在于:列表是可以修改的,而元组是不可修改的。字典(dict)和集合(set)存储的数据都是无序的,每份元素占用不同的内存,其中字典元素以 key-value 的形式保存需要明确的是,Python 中没有数组,但是加入了更加强大的列表列表可以存储整数、小数、字符串、列表、元组等任何类型的数据,并且同一个列表中元素的类型也可以原创 2022-06-24 17:24:53 · 210 阅读 · 0 评论 -
3.1python基础01
简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。命令规则标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。1.5 Python内置函数Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块。二、python原创 2022-06-24 17:24:38 · 391 阅读 · 0 评论 -
httprunner3、pytest、allure资料整理合集
httprunner3 pytest allure原创 2022-06-10 15:55:54 · 4263 阅读 · 1 评论 -
python虚拟环境env
虚拟环境为一系列潜在问题提供简单的解决方案,尤其是在以下几个方面:虚拟环境是用于依赖项管理和项目隔离的Python工具,允许Python站点包(第三方库)安装在本地特定项目的隔离目录中,而不是全局安装(即作为系统范围内的Python的一部分)。这听起来不错,但到底什么是虚拟环境呢?虚拟环境只是一个包含三个重要组件的目录:Python 3.5 后推荐使用 venv 来创建虚拟环境激活虚拟环境关闭虚拟环境4.Pycharm 项目关联新创建的虚拟环境https://www.jb51.net/a原创 2022-06-07 19:36:48 · 3221 阅读 · 0 评论 -
python无需下载就可使用的标准模块
在Python中模块分为以下几种:切记:自定义模块的命名一定不能和系统内置的模块重名如果是标准模块,可以直接导入,不用下载安装,类似于内置函数(比如print),不需要导入,可以直接使用...原创 2022-06-07 19:17:52 · 1221 阅读 · 0 评论 -
浏览器兼容性自动化测试过程
概述浏览器兼容性是目前前端项目迭代中常常遇到的问题.每次迭代, 回归测试需要消耗大量人力进行手动操作, 去覆盖不同浏览器下不同业务场景的前端展示情况.本文的目的即探讨解决这类问题的一个方案: 利用分布式的UI自动化测试框架Selenium Grid解决跨浏览器的兼容性问题.技术方案Python + Selenium3, 用于驱动不同的浏览器执行验证操作Selenium Grid, 用于实现分布式执行用例VMware, 安装不同种类浏览器, 作为执行节点https://www.jiansh转载 2021-09-09 16:49:21 · 355 阅读 · 0 评论 -
List,Set,Map三种集合的区别:
List,Set,Map三种集合的区别:List是一种有序(存储顺序)可重复(元素)的集合。Set是一种无序(存储顺序)不可重复(元素)的集合。Map是一种以键值对形式存储的集合,存储 的数据是无序的,Key值不能重复,value值可以重复。(python中是没有map说法的,python中指的是字典)...原创 2021-08-28 09:49:22 · 237 阅读 · 0 评论 -
UI自动化经常踩的坑
1、启动浏览器报错报错信息:Exception in thread “main” org.openqa.selenium.WebDriverException: unknown error: call function result missing ‘value’出现以上报错信息,是由于浏览器版本与driver版本不匹配,各版本driver下载地址为:https://npm.taobao.org/mirrors/chromedriver;在进行UI测试之前,一定要先检查自己浏览器的版本,然后找到对应版本转载 2021-08-28 08:58:27 · 1096 阅读 · 1 评论 -
混合型app UI自动化怎么从原生切换到H5,切换handle
我们生活中的app很大一部分都是混合型的app分别由移动端的开发人员开发的原生页面,以及h5的同学开发的h5页面进行融合.其中有一部分的作用在于能更好的更换内容.以及维护. 下面我们就来说一说如何在原生页面遇到h5也就是android俗称的webview的时候,如何进行切换方式,来获取到元素.现在来带大家看一下如何进行来回的切换.从而进行获取元素.用python来做的话,其实操作非常简单首先:获取当前页面的具柄,也就是查看当前页面是否是混合型的查看当前页面的具柄:contexts = dri原创 2021-08-28 08:25:17 · 1020 阅读 · 0 评论 -
python wsgi 规范 与java的servlet规范
背景Web应用的本质就是:浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;服务器把HTML文档作为HTTP响应的Body发送给浏览器;浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。Apache、Nginx、Lighttpd等这些常见的静态服务器就是干这件事情的。如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接原创 2021-08-28 08:20:43 · 664 阅读 · 0 评论 -
python --lambda和三元表达式
lambda关键字lambda表示匿名函数,冒号前面的x表示函数参数。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。>>> f = lambda x: x * x>>> f<function <lambda> at 0x101c6ef28>>>> f(5)25三元表达式python中没有其他语言中的三元表达式,不过有类似的实现方法在python中只有类似的替代办法,如果原创 2021-07-21 18:31:45 · 433 阅读 · 0 评论 -
requests设置cookie和headers
通过服务端打印可以看出,如果我们不设置User-Agent,requests模块的请求头是python-requests/2.21.0,这不是正常浏览器的请求头,这也是为什么我们做爬虫时一定要修改请求头的一个原因使用requests.session()可以帮助我们保存这个会话过程中的所有cookie,可以省去我们自己获取上一个请求的cookie,然后更新cookie后重新设置再进行请求这类操作通过s.cookies 和s.headers设置的整个会话中都会携带的cookie和header通过s.g.原创 2021-07-09 11:22:04 · 3199 阅读 · 0 评论 -
linux环境下无界面运行WEB端UI自动化脚本
新版本的Selenium不再支持PhantomJS了,请使用Chrome或Firefox的无头版本来替代。Headless模式在Windows中是Chrome 59中的新特征,要使用Chrome需要安装chromedriver。from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()#其他参数请自行查找chrome_options..原创 2021-06-24 17:02:30 · 905 阅读 · 0 评论 -
HttpRunner接口自动化测试框架
文章目录简介框架流程:下载安装录制生成用例转换测试用例关键字简介运行测试提取上一个请求返回的参数到下一个请求中简介HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。框架流程:核心特性继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性测试用例支持分层机制,充原创 2021-06-21 10:40:37 · 211 阅读 · 1 评论 -
flask_sqlalchemy 新增和更新数据实现时间列自动更新
一、使用场景需求1、在实际项目开发过程中,用户可以操作的数据,我们往往会新增一个字段,来保存用户最后一次修改时间2、一些系统中,我们需要存储用户最后一次登录时间,来统计用户的活跃度二、 在flask_sqlalchemy 中常规的做法数据模型from flask_sqlalchemy import SQLAlchemyfrom flask_migrate import Migratedb = SQLAlchemy()class UserModule(db.Model): ""原创 2021-06-09 11:31:46 · 1994 阅读 · 0 评论 -
python通过telnet接口访问dubbo服务
##简介dubbo服务发布之后,我们可以利用telnet命令进行调试、管理。更多资料参见Telnet命令参考手册telnet 调用示例:$ telnet 172.17.103.110 9097Trying 172.17.103.110...Connected to 172.17.103.110.Escape character is '^]'.dubbo>ls com.oppo.sso.service.onekey.IOnekeyRegisterregisterdubbo>i转载 2021-06-07 19:45:17 · 268 阅读 · 0 评论 -
使用python的kazoo模块连接zookeeper实现最基本的增删改查
from kazoo.client import KazooClient# 连接zookeeper,有些需要登录的填写账号密码zk = KazooClient(hosts="192.168.0.162:2181",auth_data=[("digest", "user:password")])# 启动连接zk.start()## 创建节点zk.ensure_path("/my/favorite")## 节点添加数据,必须是bytezk.create("/my/favorite/no原创 2021-06-07 16:46:40 · 662 阅读 · 1 评论 -
python连接redis集群
#!/usr/bin/env python# coding: utf-8from rediscluster import RedisCluster#from rediscluster import StrictRedisCluster会报错#StrictRedisCluster名字换成了RedisClusterclass RedisCluster(object): # 连接redis集群 def __init__(self,conn_list): self.conn_原创 2021-06-03 14:16:57 · 133 阅读 · 0 评论 -
python 报错:NameError: name ‘null’ is not defined
报错原因:Python不能处理null这样的字符串在python中是没有NULL的,取而代之的是None解决方法有两个:一、把null转换为python可以接受的字符,例如空字符串如:global nullnull=’’a=’{“errno”:0,“errmsg”:null,“unassigned”:0,“total”:0,“list”:null}’a=eval(a)print type(a)发现这时就可以正常转换了。二、使用json模块的loads()方法这是一个大杀器,直接使用如原创 2021-06-03 12:01:26 · 5208 阅读 · 0 评论 -
按天分割日志文件demo
class Logger(object): def __init__(self, logger_name="test"): # 初始化log self.logger = logging.getLogger(logger_name) # self.logger = logging.getLogger('werkzeug') # 设置根log的级别 logging.root.setLevel(logging.NOTSET)原创 2021-03-23 18:36:19 · 159 阅读 · 0 评论 -
flask-sqlalchemy 一对一,一对多,多对多操作
@[OTC]##一对多:class Parent(db.Model): id=db.Column(db.Integer,primary_key=True) name=db.Column(db.String(30),unique=True) # children是关系的名字,Parent的实例对象可以通过children来查询其对应的有那些图书 # Child是该关系对应的模型类类名,名字是类名,不能随意起 # backref='parent'是回原创 2021-02-25 18:15:48 · 1052 阅读 · 1 评论 -
pytest、allure--python
python 自动化测试框架unittest与pytest的区别:关于python的测试框架,目前比较流行的有unittest、pytest、nosetest。今天要讲的是pytest与unittest之间的比较。unittest是python内嵌的测试框架,原名为PyUnit。unittest提供了test cases、test suites、test fixtures、test runner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:1.测试文件必须先i原创 2021-02-23 15:15:09 · 172 阅读 · 2 评论 -
flask数据库可视化SQLite
在 Flask-SQLAlchemy 中,数据库使用 URL 指定。最流行的数据库引擎采用的数据库 URL格式如下表所示。FLask-SQLAlchemy数据库URLSQLite 数据库不需要使用服务器,因此不用指定 hostname、 username 和password。 URL 中的 database 是硬盘上文件的文件名。还可以根据环境配置数据库地址:在3个子类中,SQLALCHEMY_DATABASE_URI变量都被制订了不同的值。这样程序就可以在不同的配置环境中运行,每个环境使用不同的原创 2021-01-21 11:26:23 · 208 阅读 · 0 评论 -
python把xmind转换成excel测试用例
传送门https://www.jb51.net/article/197244.htm转载 2021-01-05 16:25:42 · 498 阅读 · 0 评论 -
Python 多线程和多进程入门
python提供了两个模块来实现多线程thread 和threading ,thread 有一些缺点,在threading得到了弥补,为了不浪费你和时间,所以我们直接学习threading 就可以了。一.多线程#coding=utf-8import threadingfrom time import ctime,sleepdef music(func): for i in range(2): print "I was listening to %s. %s" %(f.原创 2020-10-24 17:51:36 · 152 阅读 · 1 评论 -
python中全局变量与局部变量、global关键字
局部变量就是定义在一个函数体内部的变量全局变量是定义在外面的变量a = 1def f(): b = 2其中a就是全局变量,而b是局部变量。局部变量只在函数体内部有效,出了函数体,外面是访问不到的,而全局变量则对下面的代码都有效。在函数体内部使用全局变量全局变量可以直接在函数体内容部使用的,你可以直接访问,但是注意的是,如果对于不可变类型的数据,如果在函数里面进行了赋值操作,则对外面的全局变量不产生影响,因为相当于新建了一个局部变量,只是名字和全局一样,而对于可变类型,如果使用赋值语.原创 2020-10-24 17:22:35 · 349 阅读 · 0 评论 -
Python unittest 简单实现参数化
Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确。但是实际操作过程中,时不时还是有控制入参的需求的。利用类的属性这种方法可以不依赖其他第三方库,而且可以将参数化应用到setUpClass 和setUp方法中。class TestOdd1(unittest.TestCase): NUMBER=1 def runTest(self): """Assert that the item is odd""" .原创 2020-10-24 16:12:10 · 671 阅读 · 0 评论 -
python argparse模块
python argparse模块使用argparse 配置命令行参数时,需要三步:创建 ArgumentParser() 对象调用 add_argument() 方法添加参数使用 parse_args() 解析添加的参数例如:import argparseparser = argparse.ArgumentParser()parser.add_argument("x", help="横坐标",type=int)parser.add_argument('y', help="纵坐标",t原创 2020-09-27 10:18:02 · 104 阅读 · 0 评论 -
正则匹配{}
{}一般是用来匹配的长度。比如\s{3}表示匹配三个空格,\s{1,3}表示匹配1到3个空格\s 表示空格原创 2020-08-11 11:19:44 · 1243 阅读 · 0 评论 -
formate和%s
都是运用于字符串字符串中本身有{}可以使用两个{{}}“{{% asset_img {path} {title} %}}”.format(title=“pic”,path=“img/mypic.png”)原创 2020-08-11 11:17:14 · 313 阅读 · 1 评论