07 2020 档案

pytest(二十七)--allure-pytest
摘要:allure-pytest环境准备 windows环境相关: python 3.7版本 pytest 5.4.3版本 allure-pytest 2.8.17 最新版 使用pip install allure-pytest安装 allure命令行工具 allure是一个命令行工具,需要去github 阅读全文

posted @ 2020-07-31 22:56 星空6 阅读(278) 评论(0) 推荐(0) 编辑

pytest(二十六)--重复执行用例(pytest-repeat)
摘要:前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次。 pytest-repeat pytest-repeat是pyt 阅读全文

posted @ 2020-07-31 15:05 星空6 阅读(637) 评论(0) 推荐(0) 编辑

pytest(二十四)--运行上次失败用例(--if 和 --ff)
摘要:前言 "80%的bug集中在20%的模块,越是容易出现bug的模块,bug是越改越多"平常我们做手工测试的时候,比如用100个用例需要执行,其中10个用例失败了,当开发修复完bug后,我们一般是重点测上次失败的用例。那么自动化测试也一样,当用例特别多时,为了节省时间,第一次部分用例失败了,修复完之后 阅读全文

posted @ 2020-07-31 14:11 星空6 阅读(343) 评论(0) 推荐(0) 编辑

pytest(二十三)--conftest.py作用范围
摘要:前言 一个测试工程下是可以有多个conftest.py的文件,一般在工程根目录放一个conftest.py起到全局作用。 在不同的测试子目录也可以放conftest.py,作用范围只在该层级及以下目录生效。 conftest层级关系 在web_item_py项目工程下建两个子项目(包)QQ、UC,并 阅读全文

posted @ 2020-07-31 12:12 星空6 阅读(415) 评论(0) 推荐(0) 编辑

pytest(二十二)--fixture的作用范围(scope)
摘要:fixture作用范围 fixture里面有个scope参数可以控制fixture的作用范围:session > module > class > function fixture(scope="function", params=None, autouse=False, ids=None, nam 阅读全文

posted @ 2020-07-31 11:25 星空6 阅读(331) 评论(0) 推荐(0) 编辑

pytest(二十一)--使用多个fixture和fixture直接互相调用
摘要:使用多个fixture 如果用例需要用到多个fixture的返回数据,fixture也可以return一个元组、list或字典,然后从里面取出对应数据。 #test_fix1.py import pytest @pytest.fixture() def user(): a="admin" b="12 阅读全文

posted @ 2020-07-31 10:31 星空6 阅读(308) 评论(0) 推荐(0) 编辑

pytest(二十)--fixture详细介绍-作为参数传入,error和failed区别
摘要:前言 fixture是pytest的核心功能,也是亮点功能,熟练掌握fixture的使用方法,pytest用起来才会得心应手! fixture简介 fixture的目的是提供一个固定基线,在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统单元测试(setup/teardown)有显 阅读全文

posted @ 2020-07-31 10:08 星空6 阅读(387) 评论(0) 推荐(0) 编辑

pytest(十八)--doctest测试框架
摘要:前言 doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest模块会搜索哪些看起来像交互式会话的python代码片段,然后尝试执行并验证结果。 doctest测试用例可以放在两个地方: 函数或者方法下的注释里面 阅读全文

posted @ 2020-07-30 23:12 星空6 阅读(311) 评论(0) 推荐(0) 编辑

pytest(十七)--配置文件pytest.ini
摘要:前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 ini配置文件 pytest里面有些文件是非test文件 pytest.ini pytest的主配置文件,可以改变pytest的默认行为 conftest.py 阅读全文

posted @ 2020-07-30 17:31 星空6 阅读(489) 评论(0) 推荐(0) 编辑

pytest(十六)--fixture值autouse=True
摘要:前言 平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了。当用例很多的时候,每次都传这个参数,会比较麻烦。 fixture里面有个参数autouse,默认是False没开启的,可以设置为True开启自动使用fixture功能,这样用例就不用每次都去传参了。 阅读全文

posted @ 2020-07-30 16:58 星空6 阅读(328) 评论(0) 推荐(0) 编辑

pytest(十五)--用例a失败,跳过测试用例b和c并标记失败xfail
摘要:前言 当用例a失败的时候,如果用例b和用例c都是依赖于第一个用例的结果,那可以直接跳过用例b和c的测试,直接给他标记失败xfail 用到的场景,登录时第一个用例,登录之后的操作b是第二个用例,登录之后操作c是第三个用例,很明显三个用例都会走到登录。 如果登录失败了,那后面2个用例就没有必要了,直接跳 阅读全文

posted @ 2020-07-30 15:59 星空6 阅读(369) 评论(0) 推荐(0) 编辑

pytest(十四)--使用自定义标记mark
摘要:前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行。 一个大项目自动化用例时,可以划分多个模块,也可以使用标记功能,标明哪些是模块1用例,哪些是模块2的,运行代码时候指定mark名称运行就可以。 -v 指定的函数节点id 如果想指定运行某个.py模 阅读全文

posted @ 2020-07-30 15:07 星空6 阅读(284) 评论(0) 推荐(0) 编辑

pytest(十三)--函数传参和fixture传参数request
摘要:前言 为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数。 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登录函数就行。但是登录的账号不能写死,有时候我想用账号1去登录,执行用例1,用账号2去登录执行用例2,所以需要对函 阅读全文

posted @ 2020-07-30 14:05 星空6 阅读(697) 评论(0) 推荐(0) 编辑

pytest(十二)--skip跳过用例
摘要:前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者你希望失败的测试功能 skip意味着只有在满足条件时才希望测试通过,否则pytest应该跳过运行测试。常见示例是在非windows平台上跳过仅限windows的测试,或跳过测试依赖于当前不可用的外部资源(例如数据库)。 阅读全文

posted @ 2020-07-30 10:36 星空6 阅读(327) 评论(0) 推荐(0) 编辑

pytest(十一)--assert断言
摘要:前言 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed assert pytest允许您使用标准Python断言来验证Python测试中的期望和值。例如,你 阅读全文

posted @ 2020-07-29 22:40 星空6 阅读(372) 评论(0) 推荐(0) 编辑

pytest(十)--命令行传参
摘要:前言 命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在cmd执行"pytest --html=report.html",这里面的"--html=report.html"就是从命令行传入的参数。对应的参数名称是html,参数值是report.html. conftest配置参数 1.首先 阅读全文

posted @ 2020-07-29 20:58 星空6 阅读(516) 评论(0) 推荐(0) 编辑

pytest(九)--参数化parametrize
摘要:前言 pytest.mark.parametrize装饰器可以实现测试用例参数化。 parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 # coding:utf-8 import pytest @pytest.mark.parametrize("test_inp 阅读全文

posted @ 2020-07-29 17:22 星空6 阅读(275) 评论(0) 推荐(0) 编辑

pytest(七)--pytest-html生成html报告
摘要:前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告。 pytest-html 1.pip安装 pip install pytest-html 2.执行方法 pytest --html=report.html html报告 1.打开cmd,cd到需要执行pytest用例 阅读全文

posted @ 2020-07-29 16:02 星空6 阅读(462) 评论(0) 推荐(0) 编辑

pytest(六)--fixture之yield实现teardown
摘要:前言 上一篇讲到fixture通过scope参数控制setup级别,既然有setup作为用例之前的操作,用例执行完之后那肯定也有teardown操作。 这里用到fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作。 scope="module" 1.fix 阅读全文

posted @ 2020-07-29 15:06 星空6 阅读(303) 评论(0) 推荐(0) 编辑

pytest(五)--fixture之conftest.py
摘要:前言 上一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景: 用例1需要先登录,用例2不需要登录,用例3需要登录。很现实这就无法用setup和teardown来实现了。 这就是本篇学习的目的,自定义测试用例的预置条件。 阅读全文

posted @ 2020-07-29 14:20 星空6 阅读(375) 评论(0) 推荐(0) 编辑

pytest(四)--测试用例setup和teardown
摘要:前言 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次。当然还有更高级一点的setupClass和teardownClass,需配合@classmethod装饰器一起使用,在做selenium自动化的时候,它的效率尤为突出,可以只 阅读全文

posted @ 2020-07-29 11:21 星空6 阅读(564) 评论(0) 推荐(1) 编辑

pytest(三)--pycharm运行pytest
摘要:上一篇已经介绍了如何在cmd执行pytest用例,那么pycharm下如何运行pytest用例呢? pycharm运行三种方式 1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式 阅读全文

posted @ 2020-07-28 22:31 星空6 阅读(599) 评论(0) 推荐(0) 编辑

pytest(二)--用例运行规则
摘要:用例设计原则 文件名以test_*.py文件和*_test.py 以test_开头的函数 以Test开头的类 所有的包pakeage必须要有__init__.py文件 help帮助 1.查看pytest命令行参数,可以用pytest -h 或 pytest --help查看 可以按照如下写用例 #D 阅读全文

posted @ 2020-07-28 21:28 星空6 阅读(400) 评论(0) 推荐(0) 编辑

pytest(一)--安装和入门
摘要:参考官网:https://docs.pytest.org/en/latest/getting-started.html,https://docs.pytest.org/en/latest/contents.html 参考上海-悠悠博客:https://www.cnblogs.com/yoyoketa 阅读全文

posted @ 2020-07-28 17:12 星空6 阅读(912) 评论(0) 推荐(0) 编辑

Python接口自动化(十三) unittest简介
摘要:下面来看一些python的单元测试框架unittest。 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发 与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。 unittest官网: https://doc 阅读全文

posted @ 2020-07-28 14:50 星空6 阅读(222) 评论(0) 推荐(0) 编辑

Python接口自动化(十二) token登录
摘要:Token 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。 为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。有些登录不是用cookie来验证的,是用token参数来判断是否登录。token传参有两种:一种是放在请求头里 阅读全文

posted @ 2020-07-28 12:00 星空6 阅读(526) 评论(0) 推荐(0) 编辑

Python接口自动化(十一) Json数据处理
摘要:返回json数据的网址:http://jsonplaceholder.typicode.com/posts 大致流程步骤:web页面操作——>抓包看参数和url——>代码模拟接口请求——>取到接口返回结果——>断言 import requests #代码模拟接口请求 url="http://json 阅读全文

posted @ 2020-07-28 11:36 星空6 阅读(222) 评论(0) 推荐(0) 编辑

Python接口自动化(十)重定向(Location)
摘要:在实际工作中,有些接口请求完以后会重定向到别的url,而你却需要重定向前的url。 1、请求转发 该动作是服务器行为,在web容器中进行的,客户端对于跳转是不知道的,地址栏中显示的URL是不会变化的,因为请求转发中是一次请求,相同的request,可以在请求中设置属性对象(setAttribute( 阅读全文

posted @ 2020-07-27 22:31 星空6 阅读(410) 评论(0) 推荐(0) 编辑

Python接口自动化(九) cookie登录,session保持,参数关联接口
摘要:cookie登录博客园,session保持,发布新博客,报错:{'errors': ['用户账号不匹配,请备份未提交的内容并检查当前登录账号'], 'type': 0} import requestsimport jsonimport datetimeheaders={"User-Agent":"M 阅读全文

posted @ 2020-07-27 17:27 星空6 阅读(727) 评论(0) 推荐(0) 编辑

python知识
摘要:ISO格式时间 包含百度联盟的广告页面都会有Hm_lpvt_xxxx以及Hm_lvt_xxx这类cookie;其具体含义和用途对于联盟使用者或许根本就不需要知道。 Hm_lpvt_xxxxxxx 为当前时间戳(秒) Hm_lvt_xxx 为一串时间戳。最近的一次访问时间戳追加在后面,最多保留4个时间 阅读全文

posted @ 2020-07-27 16:57 星空6 阅读(291) 评论(0) 推荐(0) 编辑

Python接口自动化(八) python登录禅道11.4.1版本实战
摘要:一、需要使用requests下的会话对象; 会话对象让你能够跨请求保持某些参数。它也会在同一个Session实例发出的所有请求之间保持cookie。 方法级别的参数不会被跨请求保持。 参考:https://requests.readthedocs.io/zh_CN/latest/user/advan 阅读全文

posted @ 2020-07-27 12:05 星空6 阅读(1305) 评论(0) 推荐(0) 编辑

Python接口自动化(七) 参数化关联接口
摘要:我们用自动化新建项目之后,要想接着对这个新建项目操作,那就需要用参数关联了,新建项目之后会有一个项目的id,获得到这个id,就可以通过这个项目id继续操作这个新建项目。 大致流程步骤:登录——>新建项目——>web界面操作项目进度——>fiddler抓取操作请求——>提取参数——>传参——>代码实现 阅读全文

posted @ 2020-07-26 21:12 星空6 阅读(797) 评论(0) 推荐(0) 编辑

Python接口自动化(六) session关联接口
摘要:session保持存会话 help(session()) 通过help方法查看帮助文档。 使用session登录开源的OPMS系统,搭建OPMS系统,参考:https://www.cnblogs.com/canglongdao/p/12562972.html #coding:utf-8 import 阅读全文

posted @ 2020-07-26 17:30 星空6 阅读(350) 评论(0) 推荐(0) 编辑

Python接口自动化(五) cookie绕过验证码登录
摘要:有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接)。获取不到也没关系,可以通过添加cookie的方式绕过验证码。 抓登录cookie 如博客园,未登录时,使用fiddler抓包查看cookie值。登录后,使用fiddler抓包查看cook 阅读全文

posted @ 2020-07-26 16:30 星空6 阅读(844) 评论(0) 推荐(0) 编辑

Python接口自动化(四) https请求(SSLError解决办法)
摘要:电脑环境 python:3.7 requests:2.22.0 fiddler:v5.0.20 一、SSL问题 1.在你不启用fiddler时,python代码直接发送https请求,不会有SSL问题(也就是说不想看到SSL问题,关掉fiddler就行) 2.启动fiddler抓包,会出现SSLEr 阅读全文

posted @ 2020-07-26 15:15 星空6 阅读(5704) 评论(1) 推荐(2) 编辑

Python接口自动化(三)post请求四种传送正文方式
摘要:HTTP协议规定POST提交的数据必须放在消息主题(entity-body)中,但协议并没有规定数据必须使用什么编码方式。 浏览器行为:Form表单提交 Http协议行为:Http1.1协议 我们知道,HTTP协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。规范把HTTP请求分为三 阅读全文

posted @ 2020-07-26 14:13 星空6 阅读(457) 评论(0) 推荐(0) 编辑

Python接口自动化(二) 发送post请求的接口;发送post【data】;python中字典和json的区别
摘要:help函数 help(requests)查看相关注释和案例内容。 发送post请求的接口(dict参数) 发送post请求的接口(json参数) post的body是json类型,也可以用json参数传入。 先导入json模块,用dumps方法转化成json格式。 请求头header 现在由于对接 阅读全文

posted @ 2020-07-26 11:13 星空6 阅读(572) 评论(0) 推荐(0) 编辑

requests高级用法
摘要:会话对象 会话对象让你能够跨请求保持某些参数。它也会在同一个Session实例发出的所有请求之间保持cookie,期间使用urllib3的connection pooling功能。所以如果你向同一主机发送多个请求,底层的TCP链接将会被重用,从而带来显著的性能提升。 我们来跨请求保持一些cookie 阅读全文

posted @ 2020-07-25 20:48 星空6 阅读(755) 评论(0) 推荐(0) 编辑

Jmeter测试TCP协议,不知道怎么测
摘要:本文主要介绍如何使用JMeter对TCP协议进行测试 一、TCP概念 二、TCP协议的三次握手 三、TCP取样器参数介绍 四、Wireshark抓包和开发TCP脚本 一、TCP概念 1. TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于 阅读全文

posted @ 2020-07-24 17:02 星空6 阅读(2092) 评论(0) 推荐(0) 编辑

安装requests,requests基本使用
摘要:安装requests;pip install requests 发送请求 import requests#导入requests模块 r=requests.get("https://www.baidu.com/")#获取某个网页 print(r) 传递URL参数 requests允许你使用params 阅读全文

posted @ 2020-07-23 22:45 星空6 阅读(713) 评论(0) 推荐(0) 编辑

Oracle远程连接工具PL/SQL Developer安装及使用
摘要:一、下载plsqldev711.exe安装包,傻瓜式安装; 二、安装成功后,桌面出现PLSQL快捷方式,双击该快捷方式,出现界面的对话框,但是database选项我们没办法进行选择。 原因是我们的机器没有安装oracle client端,要正常的使用PL/SQL Developer程序,我们必须要安 阅读全文

posted @ 2020-07-22 11:33 星空6 阅读(1276) 评论(0) 推荐(0) 编辑

高阶函数,装饰器函数,类方法,静态方法,访问控制,私有变量,保护变量,
摘要:如何装饰一个类? 为一个类通过装饰,增加一些类属性。 之所以能够装饰,本质上是为类对象动态的添加了一个属性,而这个标识符My指向这个类对象。 def sethu(name): def wrapper(self): self.NAMES=name #print(self) return self #p 阅读全文

posted @ 2020-07-20 22:38 星空6 阅读(166) 评论(0) 推荐(0) 编辑

内存
摘要:1、核心概念 物理内存:就是系统硬件提供的内存大小,是真正的内存,一般叫做内存条,是与CPU直接交换数据的内部存储器,也叫主存(内存)。 虚拟内存:相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出一块逻辑内存,用作虚拟内存的 阅读全文

posted @ 2020-07-20 17:29 星空6 阅读(490) 评论(0) 推荐(0) 编辑

python面向对象,类的定义,类初始化,实例,类变量,实例变量,
摘要:类:抽象的概念;是属性和方法的集合。类中的函数叫方法。 对象instance、object 对象是类的具象,是一个实体。对象是数据和操作的封装。 面向对象3要素: 1.封装: 2.继承: 多复用,继承来的就不用自己写了 多继承少修改。 3.多态: 面向对象编程最灵活的地方,动态绑定。 类: 必须使用 阅读全文

posted @ 2020-07-18 18:17 星空6 阅读(1501) 评论(0) 推荐(0) 编辑

centos,Windows下操作redis
摘要:centos7下安装启动,请参考:https://www.cnblogs.com/canglongdao/p/12564800.html redis参考:https://mp.weixin.qq.com/s?__biz=MzU4MjQ5NzMzNA==&mid=2247484976&idx=1&sn 阅读全文

posted @ 2020-07-17 17:31 星空6 阅读(285) 评论(0) 推荐(0) 编辑

python插入排序,冒泡法,函数练习,参数解构,高阶函数 lambda函数,map函数,filter函数
摘要:增加一个哨兵位,每轮和哨兵位进行比较。 a=[3,0,1,0] a.insert(0,0) for i in range(len(a)):#0, for j in range(1,i): a[0]=a[i]#2,1;0 if a[0]<a[j]: a[0],a[j]=a[j],a[0] a[i]=a 阅读全文

posted @ 2020-07-16 20:44 星空6 阅读(191) 评论(0) 推荐(0) 编辑

python函数定义,函数参数
摘要:函数定义 def 函数名(参数列表): 函数体(代码块) 函数名就是标识符。 语句块必须缩进,约定4个空格。 python的函数没有return语句,隐式会返回一个None值。 定义中的参数列表称为形式参数,只是一种符号表达,简称形参。 调用 函数定义,只是声明了一个函数,它不会被执行,需要调用。 阅读全文

posted @ 2020-07-14 22:29 星空6 阅读(1277) 评论(0) 推荐(1) 编辑

jmeter之实战总结
摘要:jmeter请求参数中,有json数据时,勾选编码; jmeter csv data set config可以输入相对路径 或绝对路径,如与当前jmx脚本同级的address.txt;输入address.txt; tomcat线程池调优tomcat:8080 server.xml maxThread 阅读全文

posted @ 2020-07-14 15:54 星空6 阅读(367) 评论(0) 推荐(0) 编辑

jmeter压力测试50并发用户运行时长5分钟,报错java.net.BindException: Address already in use: connect
摘要:原因:windows提供给TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,导致如上报错。 解决办法(在jmeter所在服务器操作): 1.cmd中输入regedit命令打开注册表; 2.在 HKEY_LOCAL_MACHINE 阅读全文

posted @ 2020-07-14 15:28 星空6 阅读(2614) 评论(0) 推荐(0) 编辑

python字符串
摘要:字符串 字符串是不可变对象 a='string' a="sting2" a=r"hello\n mm" a="""abc""" a='a\ b\ c' 字符串跨行写,加\ 字符串编码 字符串支持使用索引访问;a[0] for i in a: print(i) 可迭代(字符串,元组,数组);list[ 阅读全文

posted @ 2020-07-13 22:32 星空6 阅读(211) 评论(0) 推荐(0) 编辑

Python内置数据类型
摘要:数值型 int float complex bool 数字的处理函数 round();四舍六入,五取偶;round(1.5)=2;round(2.5)=2; floor()地板;天花板ceil(); math.floor(1.5)=1;math.ceil(1.5)=2; min(); max(); 阅读全文

posted @ 2020-07-11 21:39 星空6 阅读(246) 评论(0) 推荐(0) 编辑

Windows自带性能监控工具Perfmon使用介绍
摘要:一、Perfmon简介 Perfmon(Performance Monitor)是一款Windows自带的性能监控工具,提供了图表化的系统性能实时监视器、性能日志和警报管理。通过添加性能计数器(Performance Counter)可以实现对CPU、内存、网络、磁盘、进程等多类对象的上百个指标的监 阅读全文

posted @ 2020-07-04 21:12 星空6 阅读(5170) 评论(0) 推荐(0) 编辑

导航