自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (3)
  • 收藏
  • 关注

原创 allure参数配置生成

使用pytest+allure生成报告的命令配置:cd /d D:\v5_env_ui\Scripts && activate && cd /d D:\v5-auto\workspace\ltlv5\ui-main\ltlv5uicase && pytest --tb=no --alluredir=../allure-results

2021-03-01 17:24:13 405 1

原创 urllib3.exceptions.MaxRetryError问题的解决

1.背景描述在使用python+selenium做UI自动化时,单个脚本执行通过,多个脚本执行时,执行到第二个时失败。测试代码如下:# !/usr/bin/env python# -*- coding: utf-8 -*-from ltlv5uidata.init import autobenchclass TestGetCode: def setup(self): self.ui = autobench.ui self.ui.login_page

2020-12-30 14:47:40 29925 12

原创 0.关于设计模式

1.关于设计模式设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。即:设计模式是解决软件开发的常见方法经验,这些方法经验是从众多的实验、错误中总结得到的。2.设计模式的分类书籍推荐:《实战python设计模式》当然,你也可以阅读这些博客,作为你学习设计的模式的预备课程。例子都是使用py

2020-12-27 16:41:52 185

原创 15.模板方法模式

1.定义(1)内容定义一个操作中的算法骨架,将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。(2)使用模板方法,需要用到两种角色抽象类:抽象类的作用是是定义抽象类(钩子操作),实现一个模板方法作为算法的骨架。具体类:具体类的作用实现原子操作。2.实现from abc import ABCMeta, abstractmethodfrom time import sleep# 抽象类class Window(metacla

2020-12-27 16:06:25 158 1

原创 14.策略模式

1.定义定义一个个策略,把它们封装起来,并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。角色:抽象策略具体策略上下文2.实现from abc import abstractmethod, ABCMetafrom datetime import datetime# 抽象策略class Strategy(metaclass=ABCMeta): @abstractmethod def execute(self, data): .

2020-12-27 15:54:48 107 2

原创 13.观察者模式

1.定义观察者模式应用比较广泛,又被称为“发布-订阅”模式。它用来定义对象间一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自动更新。观察者模式的角色有:抽象主题具体主题(发布者)抽象观察者具体观察者(订阅者)一个主题存在一个或多个订阅者,一个订阅者可订阅多个主题,类似于微信公众号的订阅。具体主题在发布消息时,还要把消息推送到具体的订阅者处。订阅者具有订阅某个主题消息(绑定 attach)、不订阅某个消息(不绑定 detach)方法

2020-12-27 15:41:43 83

原创 12.责任链模式

1.定义(1)责任链模式的内容:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链并沿着这条链传递该请求,直到有一个对象处理它为止。责任链的角色:(2)抽象处理者具体处理者客户端如图所示:1级处理、2级处理、n级处理 构成了处理的链路,每个级别的处理对象都具有一定的处理权限机会。或每个级别的处理对象都进行处理,或只有满足当前处理对象的要求才可进行处理。高层代码只需要将数据传递给 1级处理对象 即可,而不用去管后面谁去进

2020-12-27 15:03:27 87

原创 11.代理模式

1.定义为其它对象提供一种代理以控制对这个对象的访问。(1)角色:抽象实体实体代理(2)应用场景:远程代理:为远程的对象提供代理(通过ORM向数据库写值,不用关注数据库是在远程)虚代理:根据需要创建很大的对象(需要的时候创建对象)保护代理:控制对原始对象的访问,用于对象有不同的访问权限。2.实现(1)不使用代理模式from abc import ABCMeta, abstractmethodclass Subject(metaclass=ABCMeta)

2020-12-27 14:41:57 82

原创 10.外观模式

1.定义外观模式为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。外观模式下的角色有外观和子系统类。优点:减少系统相互依赖,提高灵活性,提高了安全性。如图所示:系统内部存在method1...methodn方法,每个方法有各自处理逻辑,methodAll调用n个方法,向高层client提供一个统一的入口,供调用。而client无需知道method1...methodn的调用方法,只需要知道methodAll 的调用方法即

2020-12-27 14:06:10 214

原创 9.组合模式

1.定义将对象组合成树形结构以表示“部分-整体”的层次结构(特别是结构是递归的)。组合模式使得用户对单个对象和组合对象的使用具有一致性。优点:定义了包含基本对象和组合对象的层次结构;简化客户端代码,客户端可以一致地使用组合对象和单个对象;更加容易增加新类型的组件。举例:单个形状可成组,得到:对大哥形状可以进行放大、缩小、变换颜色、样式等,而对成组形状也可进行放大、缩小、变换颜色、样式等。对单个形状和组合形状的操作具有一致性。2.实现from abc im

2020-12-27 13:49:08 85

原创 8.桥模式

1.定义桥模式是将一个事物的两个维度分离,使其都可以独立地变化。当事物有两个维度的表现,两个维度都可能扩展时使用。2.实现设定实现图形绘制类的一套接口,共有两个维度的属性:形状、颜色,并且两者都可以扩展。以下有两种实现方式:(1)不使用桥模式class Shape: passclass Rectangle(Shape): passclass Circle(Shape): passclass RedRectangle(Rectangle): passclas.

2020-12-27 12:04:30 753

原创 7.适配器模式

1.定义将一个类的接口转换成客户希望的另外一个接口,适配器使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。实现适配器的两种方式,类适配器使用多继承,对象适配器使用组合。组合就是一个类中放入另一类的对象。2.分类(1)类适配器模式from abc import ABCMeta, abstractmethod# 目标接口class Payment(object, metaclass=ABCMeta): @abstractmethod def pay(sel.

2020-12-27 11:38:31 176 3

转载 你真的会学习吗?从结构化思维说起

【转自阿里技术】一 前言试想,接手一个新的业务方向,业务方的诉求是要求你能快速熟悉并投入,你会如何去应对这样的挑战呢?再试想,作为一名风控技术的新人,你需要在原先的防控策略上引入新的图计算技术,又该如何快速学习新的技术,从而达成业务目标?如何你恰好听说过XY问题的理论,你就会知道,上述问题其实都是笔者抛出来的Y问题,X问题是我们到底应该如何快速去学习一项新的课题。XY问题是他人询问自己的尝试的解决方案Y,而不是实际问题X。这会浪费大量的时间和精力,无论是寻求帮助的人,还是那些提供帮..

2020-12-25 09:30:03 160

原创 python操作kafka报错:return ‘<SimpleProducer batch=%s>‘ % self.async

1.遇到的问题C:\ProgramData\Anaconda3\python.exe C:/git/base_function/kafka_usage.pyTraceback (most recent call last): File "C:/git/base_function/kafka_usage.py", line 6, in <module> from kafka import KafkaProducer File "C:\ProgramData\Anaconda.

2020-12-22 09:13:15 6097

原创 6.单例模式

1.定义单例模式保证一个类只有一个实例,并提供一个访问它的全局访问点。2.角色使用__new__方法实现class Singleton: # 当类实例化时,首先会调用类的__new__方法进行初始化,产生一个新的对象 def __new__(cls, *args, **kwargs): if not hasattr(cls, "_instance"): # 调用python的__new__方法进行初始化 cls

2020-12-20 15:46:19 128 2

原创 5.建造者模式

1.定义建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2.角色抽象创建者具体创建者指挥者产品from abc import ABCMeta, abstractmethod# ------产品------class Player: def __init__(self, face=None, body=None, arms=None, legs=None): self.face = face s.

2020-12-20 15:27:14 75 2

原创 4.抽象工厂模式

1.定义定义一个工厂类的接口让工厂子类来创建一系列相关或者相互依赖的对象。相比工厂方法模式,抽象工厂模式中的每一个具体工厂都生产一套产品。2.角色抽象的产品具体的产品抽象的工厂具体的工厂客户端from abc import ABCMeta, abstractmethod# ------抽象的产品------class PhoneShell(metaclass=ABCMeta): @abstractmethod def show_shell(self)

2020-12-20 15:14:43 74

原创 3.工厂方法模式

1.定义每个具体产品对应一个具体的工厂类,工厂类中包含生产该产品的全套方法。2.具体角色抽象产品角色具体产品角色抽象工厂角色具体工厂角色from abc import ABCMeta, abstractclassmethod, abstractmethodclass Payment(metaclass=ABCMeta): @abstractmethod def pay(self, money): pass# 具体产品角色class Al

2020-12-20 14:55:16 127 1

原创 2.简单工厂模式

1.定义简单工厂模式不属于23设计模式中的一种。简单工厂模式通过不向客户端暴露具体对象的创建模式,而是通过一个工厂类来负责产品类实例的创建。2.简单工厂模式的角色有工厂角色:定义工厂中的具体方法和变量。如:Alipayment。抽象产品角色:用来将工厂角色中的类实例化出具体对象的类。具体产品角色:由抽象产品角色实例化出具体对象,具体对象可以控制实例出不同的工厂对象,通过工厂对象可以调用工厂的中方法和属性。from abc import ABCMeta, abstractclas

2020-12-20 13:22:20 118

原创 1.面向对象设计的5大原则

1.开放封闭原则定义:一个软件实体如模块,类,函数应该对扩展开放,对修改关闭。即软件实体应该在不修改源码的情况下进行修改。理解:面向对象软件开发过程中,存在类的封装,类实例化出对象,对象调用类中方法和属性。一个类可以实例出多个对象,类中方法、属性被多个对象和引用,因此一般不要修改类中已存在的方法,而是应该在不影响其原有的功能上,去修改其功能。2.里斯替换原则定义:所有引用父类的地方必须能透明地使用其子类的对象,一个简单的例子加强理解理解:User类中和VIPUSer类中都

2020-12-20 12:55:31 285 3

原创 ‘ascii‘ codec can‘t encode characters in position 7-8: ordinal not in range...

使用python3,出现这样的错误。发现与数据库操作相关的出错了。windows系统中需要设置一下环境变量:NLS_LANGAMERICAN_AMERICA.UTF8

2020-10-27 10:33:46 338

原创 Job、接口、Q消息

做项目的自动化过程中,经常听到job、接口、MQ消息相关的名词。就想把这些个东西搞明白,定义、区别、作用,实现等。1、job是定时任务。在某个时间段、某个时间点执行。定时任务中可以调用接口,可以发送Mq消息。例如:每天早上六点喊我起床就是一个定时任务,就算是一个job了。python中实现job:"""1.循环sleep实现"""from datetime import datetimeimport time# 每n秒执行一次def timer(n): whil

2020-07-16 16:20:17 1548

原创 oracle使用dblink的使用

当在两个数据库之间进行数据同步时,可在A数据库创建B数据库的DBlink,如此使用dblink即可访问B数据库。1、在A数据库中创建连接B数据库的dblink:-- Create database link create database link your_dblink_name connect to username identified BY "password" using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PRO

2020-07-15 09:52:24 4747 2

原创 jenkins上生成的allure报告无数据内容

1、问题因为要开展新的自动化项目,要在slave机器上搭建新的环境。前面的步骤执行起来都很顺序,也没有出错。但是到了最后生成的allure报告一致没有内容,截图如下:2.尝试解决第一次尝试解决:是否为allure配置的路径错了。检查job中配置的各项参数,目录等是否正确。检查结果:各项完全正确。生成allure报告的路径和最终的路径都是正确的。因此排查路径错误。2.尝试解决:是否为salve上的allure问题查看构建日志:从日志中看到,使用的是:.

2020-05-14 14:02:07 6824

原创 Python魔术方法简述

这篇文章介绍魔术方法。目录1.__enter__和__exit__实现上下问管理器2. __str__和 __repr__方法3.__add__和 __sub__方法4. __call__方法5.__new__方法1.__enter__和__exit__实现上下问管理器class OpenFile(object): def __...

2019-11-17 14:22:09 218

原创 python中的装饰器简述

目录一、基本概念二、几种不同的装饰器1.普通装饰器2.待参数的装饰器3.通用装饰器4.类的装饰器5.python的中内置装饰器6.缓存装饰器7.使用__call__方法实现装饰器三、装饰器的几个例子本篇文章介绍python中的装饰器。一、基本概念装饰器的作用:在不修改原功能的基础上,给原功能添加新功能开放封闭原则: 开放:对已实现的的功能的...

2019-11-16 14:01:22 215

原创 python高阶函数简述

这篇文章介绍一下python的高阶函数。目录1.偏函数2.lambda表达式(匿名函数)3.递归函数4.推导式5.函数闭包6.命名元组6.zip函数7.filter函数8.map函数9.global()和locals()函数1.偏函数作用:固定函数的参数,重写原函数,设置函数参数的默认值。from functools import p...

2019-11-16 13:14:53 184

原创 可能是史上最全的Python编程规范

GooglePython编程规范:https://www.runoob.com/w3cnote/google-python-styleguide.html (中文版本)https://google.github.io/styleguide/pyguide.html(英文原版)PEP8编程规范:https://blog.csdn.net/ratsniper/article/de...

2019-11-09 09:03:54 500

原创 BPMN业务流程建模

目录序言一、泳池和泳道二、流对象1.事件2.活动3.网关4.数据5.组/附件三、实际应用序言BPMN:描述一组业务活动,是一种业务流程建模表示法,比visio更加复杂,功能更加强大。五大基本元素:swimlanes:泳池,泳道Flow Objects:事件、活动、网关connection Obejects:顺序流、消息流、关联、数据关联...

2019-09-30 11:41:32 1468

原创 RabbitMQ的学习笔记

目录一、MQ的介绍1.消息队列(管道)2.消息的两种分发机制3.消息的确认模式二、RabbitMQ的介绍1.RabbitMQ2.AMQP3.基本对象三、使用python向RabbitMQ发送消息一、MQ的介绍1.消息队列(管道)先进先出的队列,队列中存放的是消息数据,主要是为了不同进程间的通信。不使用消息队列,则进程间在传递消息时的耦合太高了...

2019-09-30 11:25:05 99

原创 python函数的参数传递机制

先放结论:1. 不管什么类型参数,在python中对参数直接使用 “=” 进行赋值是没用的,直接 “=”并不能改变参数的值。2. 如果需要让函数改变某些参数的值,可以将这些参数包装成 列表、字典等可变对象,然后将可变对象作为参数传入到函数中,在函数中修改它们,这样才能真正改变这些数据。3. python的参数传递就是值传递,只不过当参数为可变对象时,传递的是可变对象的地址。4. p...

2019-09-01 20:02:30 1192 2

原创 python虚拟环境virtualenv使用2-在pycharm中使用virtualenv

方式一:创建工程时,选择使用虚拟环境中的解释器,而不是系统的解释器。创建成功之后,使用cmd进入到 “venv的Scripts”目录中,需要使用activate.bat 进行激活该虚拟环境:使用pycharm的化则不需要,直接进入:方式二:使用电脑中已经配置好的虚拟环境;按如下方式选择已经配置好的虚拟环境。配置好之后,可以看到当前工程的解释器是虚拟环...

2019-08-31 17:11:12 424

原创 python虚拟环境virtualenv使用1-创建、管理、迁移 virtualenv

目录第一部分:创建virtualenv第二部分:管理virtualenv第三部分:迁移virtualenv第一部分:创建virtualenv1、使用的目的是一个虚拟的环境,是从电脑独立出来的环境。情境1: 每个项目都会使用不同的模块,或者是同一模块的不同的版本。如果你的A项目要使用某个模块的的1.0版本,而B项目要使用某个模块的2.0版本,如果你没有虚拟环境,那...

2019-08-31 17:06:56 861

原创 使用 python3.x + cx_Oracle的一些坑

使用 python3.x + cx_Oracle的一些坑error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows ...

2019-08-31 13:29:38 3631

原创 java程序 install as a service时WMI.WmiException:AcessDenied

WMI.WmiException:AcessDenied:install jenkins agent保存为本地服务时出现的问题:解决方法:1.在https://github.com/kohsuke/winsw/releases这里下载:2.下载之后,将slave-agent.jnlp和上面下面的两个文件放在同一个文件夹中,并且改名字:3.配置 slave...

2019-08-31 13:26:23 5628

原创 pytest安装+用例收集规则+fixture定义及使用+测试报告+运行方式

目录一、pytest的安装操作二、pytest中的测试用例的收集规则三、pytest的基本操作1. 使用Assert进行断言2. fixtured的操作3.fixture的其他操作4.统计用例的运行时间四、测试报告的生成1.生成junitXML格式的测试报告,方便Jenkins进行集成2.创建测试用例的URL3.生成HTML格式的测试报告五、pyte...

2019-07-30 23:24:17 933

原创 职场中的时间管理

目录1.时间管理现状2.时间管理常见的陷阱和现状3.如何规避这些陷阱3.1明确目标3.2分清缓急3.3 立即行动4.其他规避这些陷阱的技巧5.常用时间管理软件今天这篇文章主要讲讲时间管理相关的内容。首先明确一下:时间管理并非管理的是“时间”本身,而是本我或者是事件; 做好时间管理的前提是自控力和意愿; 时间管理是“自我管理”中的非常重要的组成部分...

2019-07-25 20:44:19 931

原创 性能测试3-性能监控与分析基础

目录性能测试的监控与分析1.原理1.1目的和意义 1.2 策略2.常用性能计数器2.1windows的常用性能计数器2.2linux的常用性能计数器3.操作系统监视工具3.1windows监视工具3.2linux监控工具这几篇博客是想把自己在做性能测试过程当中的一些知识点进行总结、归纳、分享。性能测试的监控与分析1.原理1...

2019-07-25 14:22:15 414

原创 性能测试2-需求分析与测试设计

目录性能测试的需求分析与测试设计1.业务建模的基本概念1.1什么是业务建模?1.2 业务建模考虑因素1.3 业务建模的成果物2.性能指标确认2.1性能指标的来源 2.2常用性能指标举例2.3性能指标的计算3.测试场景设计3.1 目的3.2 测试场景包含的内容3.3 测试场景设计原则3.4 测试场景运行时长3.5 测试场景...

2019-07-23 15:54:25 801

原创 性能测试1-基础知识与整体流程

目录性能测试基本概念1.什么是性能测试?2.常用的指标术语3.性能测试间的应用领域4.性能测试的整体流程这几篇博客是想把自己在做性能测试过程当中的一些知识点进行总结、归纳、分享。性能测试基本概念1.什么是性能测试?性能:指器物所具有的的性质和效用 软件质量模型中的性能:规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。包含:时间特性、资源利用特性...

2019-07-16 21:07:19 393

python设计模式-练习代码

python设计模式练习代码

2020-12-27

allure-2.6.0.zip

allure.zip 解压即可使用,allure_2.6.0,配合pytest进行使用。使用的pytest+allure+python

2020-05-14

pytest中文文档.pdf

pytest中文文档,共有22个章节,资源来源于好心人,方便使用。

2019-07-30

空空如也

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

TA关注的人

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