08 2020 档案

Selenium3+python3自动化(二十二)--窗口多标签处理方法总结
摘要:前言 访问某个链接时,可能会遇到单个窗口多个标签的情况,如,百度页面,点击新闻按钮,下面介绍2种方式 方式一、获取最后打开的标签(句柄),切换句柄 #coding:utf-8 from selenium import webdriver import time driver=webdriver.Ch 阅读全文

posted @ 2020-08-31 16:40 星空6 阅读(437) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(二十一)--table定位
摘要:前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见。本篇详细讲解table表格如何定位。 一、认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table。 2.源码如下: <!DOCTYPE html> <meta charset="UTF-8"> < 阅读全文

posted @ 2020-08-31 15:22 星空6 阅读(620) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(二十)--查看selenium API
摘要:前言 前面都是通过官网或他人博客学些selenium,介绍的一些selenium api使用方法,那么selenium的api到底有多少呢?本篇介绍如何查看完整的selenium api pydoc是Python自带的模块,主要用于python模块中自动生成文档,这些文档可以基于文本呈现的、也可以生 阅读全文

posted @ 2020-08-31 11:35 星空6 阅读(338) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十九)--js处理内嵌div滚动条
摘要:前言 前面介绍过js解决浏览器滚动条的问题,生活总是多姿多彩,有的滚动条就在页面上,这时候就得使用js了 一、内嵌滚动条 1.下面这张图就是内嵌div带有滚动条的样子 2.页面源码如下: <!DOCTYPE html> <meta charset="GBK"> <!-- for HTML5 --> 阅读全文

posted @ 2020-08-30 22:37 星空6 阅读(363) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十八)--js处理日历控件(删除readonly属性) document.getElementBy...Id,Name,TagName,ClassName
摘要:前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题。 基本思路:先用js去掉readonly属性,然后直接输入日期文本内容 一、日历控件 1.打开12306的车票查询界面 阅读全文

posted @ 2020-08-30 22:04 星空6 阅读(876) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十七)--处理富文本:切换iframe、js处理;操作完富文本,提交一次不成功,必须提交2次
摘要:前言 富文本编辑框是做web自动化最常见的场景,本篇以开源系统OPMS的添加新项目为例,解决如何定位富文本,输入文本内容 一、登录 # coding:utf-8 from selenium import webdriver driver=webdriver.Chrome() host="http:/ 阅读全文

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

Selenium3+python3自动化(十六)--单选框和复选框(radiobox、checkbox)
摘要:前言 在测试时,有时会遇到单选框和复选框的操作。操作方式;先定位,再点击;复选框可以先判断再点击。 一、认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.单选框是圆的;复选框是方的 二、radio和checkbox源码 1.上图的html源码如下,把下面这段复制下来,写到文本里,后缀改成. 阅读全文

posted @ 2020-08-30 11:47 星空6 阅读(518) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十五)--JS处理滚动条,window.scrollTo(xpos,ypos)
摘要:前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要Window对象。 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。 滚动条是无法直接使用工具来定位的。se 阅读全文

posted @ 2020-08-29 22:13 星空6 阅读(525) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十四)--alerts\confirm\prompt
摘要:前言 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert。先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决。 alerts\confirm\prompt弹出框操作主要方法有: text:获取文本值 accept():点击“确认” dismiss(): 阅读全文

posted @ 2020-08-29 21:30 星空6 阅读(313) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十三)--select下拉框
摘要:前言 下面以百度高级搜索下拉选项框为案例,详细介绍select下拉框相关的操作方法。 一、认识select 1.打开百度-设置-高级搜索界面,如下图所示 2.时间就是select选项框,打开F12定位, 3.选项有5个 二、定位 1.基本思路:先定位select框,再定位里面的选项 2.代码如下 # 阅读全文

posted @ 2020-08-29 17:02 星空6 阅读(624) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十二)--iframe
摘要:前言 163邮箱登录的时候,发现不管怎么定位都无法定位到,到底是什么原因呢?本篇详细介绍iframe相关的切换 以https://mail.163.com/为案例,详细介绍switch_to_frame使用方法 一、frame和iframe区别 Frame与iframe两者可以实现的功能基本相同,不 阅读全文

posted @ 2020-08-29 15:12 星空6 阅读(336) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十一)--多窗口/标签页、句柄(handle);js将多窗口设置为一个窗口
摘要:前言 有些页面的链接打开后,会重新打开一个窗口/标签页,对于这种情况,屏幕会聚焦在新窗口或新标签页上,但WebDriver 不知道操作系统认为哪个窗口是活动的。要使用新窗口,您需要切换到它。获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了。当然,我们也可以通过j 阅读全文

posted @ 2020-08-29 12:09 星空6 阅读(563) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(十)--操作元素(键盘和鼠标事件)
摘要:前言 在前面几篇中重点介绍了一些元素的定位方法,定位元素后,接下来就是操作元素了。下面讲解操作元素(键盘和鼠标事件) 一、简单操作 1.点击(鼠标左键)页面按钮:click() 2.清空输入框:clear() 3.输入字符串:send_keys() 4.打开百度后,一般为了保证输入的正确性,可以先清 阅读全文

posted @ 2020-08-28 17:19 星空6 阅读(264) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(九)--定位一组元素find_elements
摘要:前言 前面的几篇都是讲如何定位一个元素,有时候一个页面上有很多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象。 webdriver提供了定位一组元素的方法,跟前面八种定位方式其实一样,只是前面是单数,这里是复数形式:find_elements 本篇以百度搜索为例,从搜索结果 阅读全文

posted @ 2020-08-28 16:10 星空6 阅读(495) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(八)--登录案例、获取某元素的某属性的值.get_attribute("属性名")
摘要:前言 前面几篇都是讲一些基础的定位方法,没具体的案例,下面以开源系统OPMS登录为例。可参考:linux下搭建opms项目 一、登录 1.先打开浏览器 2.打开opms登录页:http://ip:8088/login 3.查找元素之前可以先设置元素等待:implicitlywait() 4.输入用户 阅读全文

posted @ 2020-08-27 22:40 星空6 阅读(788) 评论(0) 推荐(1) 编辑

Selenium3+python3自动化(七)--CSS定位语法
摘要:前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求。css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁。 一、css:属性定位 1.css可以通过元素的id、class、标签这三个常规属性直接定位到 2.如下是百度输 阅读全文

posted @ 2020-08-26 22:31 星空6 阅读(332) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(六)--xpath定位
摘要:前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到。这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法 什么事xpath呢? 百度结果:XPath即为XML路径语言(XML Path Language),它 阅读全文

posted @ 2020-08-26 21:22 星空6 阅读(589) 评论(0) 推荐(0) 编辑

Selenium3+python3自动化(五)--八种元素定位
摘要:前言 自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告。 元素定位在这四个环节中是至关重要的,如果说按学习经历分配的话,元素定位占70%;操作元素10%,获取返回结果10%;断言10%。如果一个页面上的元素不能被定位到,那后面的操作就无 阅读全文

posted @ 2020-08-26 15:33 星空6 阅读(302) 评论(0) 推荐(1) 编辑

Selenium3+python3自动化(四)--操作浏览器基本方法
摘要:前言 前面已把环境搭建好了,这里再小结一下: 安装python3——pip安装selenium——根据浏览器名称,版本下载合适的driver——将该driver所在的目录添加到path中; 查看selenium版本:pip show selenium 下面正式学习selenium的webdriver 阅读全文

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

Selenium笔记(二)--Webdriver了解组件、驱动要求、操控浏览器
摘要:一、了解组件 API:应用程序编程接口。这是一组用来操作WebDriver的“命令”。 库:一个代码模块,它包含api和实现这些api所需的代码。库是对应于具体语言的,如java的.jar文件 驱动程序:负责控制实际的浏览器。大多数驱动程序是由浏览器厂家自己创建的。驱动程序通常与浏览器一起在系统上运 阅读全文

posted @ 2020-08-25 15:57 星空6 阅读(369) 评论(0) 推荐(0) 编辑

Selenium笔记(一)selenium简介、安装
摘要:前言 招聘要求中,基本都要求selenium,在测试群里问了下,实际使用的并不多,好吧,为了找工作,下面开始学习selenium;首先参考官方文档,大概操作一遍,然后参考博客再操作一遍,最后在开源系统上实战一遍; 简介 参考官网:https://www.selenium.dev/documentat 阅读全文

posted @ 2020-08-25 11:26 星空6 阅读(386) 评论(0) 推荐(0) 编辑

navicat premium安装,使用
摘要:一、navicat官网下载,安装 navicat premium 15 安装,激活;参考:https://www.jianshu.com/p/aca31d8f4c5b 官网下载navicat premium 15——安装——安装成功; 下载激活工具Navicat Keygen Patch v5.6. 阅读全文

posted @ 2020-08-21 14:26 星空6 阅读(963) 评论(0) 推荐(0) 编辑

Oracel 之PL/SQL Developer使用
摘要:执行单条sql语句,选中某条sql语句,点击Execute图标 或 F8执行。 使用''(单引号),不能使用""(双引号); 阅读全文

posted @ 2020-08-21 14:25 星空6 阅读(130) 评论(0) 推荐(0) 编辑

PLSQL,sql语句中带有中文的查询条件查询不到数据
摘要:只要简单的添加一个系统变量就ok了 NLS_LANG=AMERICAN_AMERICA.AL32UTF8 具体操作方法:右击“计算机”-“属性”-“高级系统设置”-“环境变量”,在系统变量下,“新建” 变量名:NLS_LANG 变量值:AMERICAN_AMERICA.AL32UTF8 不需要添加到 阅读全文

posted @ 2020-08-21 14:20 星空6 阅读(671) 评论(0) 推荐(0) 编辑

python学习5--生成日期/生日
摘要:前言 python接口自动化添加员工信息时,需要填写生日,批量添加员工,如何随机生成生日呢? python提供了一个time和calendar模块可以用于格式化日期和时间。 一、了解python3 日期和时间的基础知识 1.1 时间戳,time.time() #1597902084.742635 1 阅读全文

posted @ 2020-08-20 15:19 星空6 阅读(1135) 评论(0) 推荐(0) 编辑

python3 + requests + pytest + allure 登录禅道12.3.3-提交bug-编辑bug-确认bug-解决bug-关闭bug
摘要:前言 最近学习完了requests、pytest,实践出真知。下面以禅道为例。docker方式搭建禅道 一、Pycharm中创建项目结构 1.新建一个工程,工程名称自己定义,如:zentao 2.在工程的根目录下新建一个conftest.py(测试用例的一些fixture配置)和pytest.ini 阅读全文

posted @ 2020-08-18 23:31 星空6 阅读(975) 评论(0) 推荐(0) 编辑

python学习4--python3连mysql增删改查
摘要:前言 pymysql是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中则使用mysqldb。 环境准备 python3.7 使用pip安装PyMySQL pip install pymysql 先使用第三方工具连接mysql数据库,比如navicat连接mysql 连接名 阅读全文

posted @ 2020-08-17 16:30 星空6 阅读(198) 评论(0) 推荐(0) 编辑

pytest使用 小结
摘要:pytest是一个使构建简单和可扩展测试变得容易的框架。 命名 文件名必须是test_开头 或_test结尾的.py文件 类名必须是Test开头 测试函数以test_开头;_test结尾不可以(如b_test()); 文件夹(包名)名可以随意命名 cmd下执行测试 1.执行当前cmd所在目录下的所有 阅读全文

posted @ 2020-08-14 10:56 星空6 阅读(599) 评论(0) 推荐(0) 编辑

python接口自动化 小结
摘要:requests 发送http请求类型:get、post、put、delete、head get 参数:params 值:字典格式 嵌套列表 array数组 import requests from urllib.parse import unquote url="http://www.exampl 阅读全文

posted @ 2020-08-09 23:11 星空6 阅读(312) 评论(0) 推荐(0) 编辑

python笔记3--HTTP对外接口sign签名
摘要:前言 一般公司对外的接口都会用到sign签名,对不同的客户提供不同的apikey,这样可以提高接口请求的安全性,避免被人抓包后乱请求。 sign签名是一种很常见的方式。 sign签名 签名参数sign生成的方法 第1步:将所有参数(注意是所有参数),除去sign本身,以及值是空的参数,按参数名字母升 阅读全文

posted @ 2020-08-08 17:41 星空6 阅读(743) 评论(0) 推荐(0) 编辑

python接口自动化(三十一) json解析神器jsonpath
摘要:前言 做接口测试的时候,大部分情况下返回的是json数据,我们需要对返回的json断言。 当返回的数据量比较大,并且嵌套的层级很深的时候,很多小伙伴不会取值,往往在返回结果取值上浪费很多时间,于是就有了jsonpath解析库,专门解决json路径深,取值难的问题。 字典取值 对接口返回的json,转 阅读全文

posted @ 2020-08-08 14:56 星空6 阅读(939) 评论(0) 推荐(0) 编辑

python接口自动化(三十) 上传文件时自动判断文件类型(filetype)
摘要:前言 如何判断一个文件的类型呢,判断这个文件是png还是jpg,还是MP3文件?filetype包是python用来判断文件类型的依赖包,github地址:https://github.com/h2non/filetype.py filetype安装 pip install filetype 简介 阅读全文

posted @ 2020-08-08 13:37 星空6 阅读(1009) 评论(0) 推荐(0) 编辑

python接口自动化(二十九)get请求传array数组
摘要:前言 使用传统的http发get请求时,如果传参为array数组,参数名称为a时,可以这样传值a=1&a=2&a=3,但是当只有一个时,这种方式就不合理了。 get请求还有另外一种方式传array数组,在参数名称后面加个[],如:a[]=1,2,3 参数名称一样 如果抓包看到是这种格式:http:/ 阅读全文

posted @ 2020-08-08 09:19 星空6 阅读(2187) 评论(0) 推荐(0) 编辑

python接口自动化(二十八) requests超时重试方法(由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败)
摘要:前言 “由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”,这是经常遇到的问题requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.github.com', port=443): Max retrie 阅读全文

posted @ 2020-08-07 22:26 星空6 阅读(4905) 评论(0) 推荐(0) 编辑

python接口自动化(二十七) requests-html支持JavaScript渲染页面
摘要:前言 requests虽好,但有个遗憾,它无法加载JavaScript,当访问一个url地址的时候,不能像selenium一样渲染整个html页面出来。 requests-html终于可以支持JavaScript了,这就相当于是一个真正意义上的无界面浏览器了。 JavaScript支持 当第一次使用 阅读全文

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

python接口自动化(二十六) requests-html爬虫框架
摘要:前言 python拥有众多的爬虫框架,其中最简单的莫过于requests-html了。它和著名的网络请求库requests是同一个作者,着重于XML数据提取,可以说是最简单的爬虫框架了。 环境安装 pip install requests-html 该库旨在解析HTML(例如,抓取Web)尽可能简单 阅读全文

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

python接口自动化(二十五) urlencode编码%E7%94%9F%E6%B4%BB与解码
摘要:前言 urllib.parse里面三个方法:urlencode,quote,unquote详解。 在做接口自动化过程中,http协议在发送url的时候,是以urlencode的编码格式传过去的,通常requests库会帮我们自动处理了。但是服务端返回的url地址,有时候是以urlencode的编码传 阅读全文

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

python接口自动化(二十四) 参数关联和JSESSIONID(上个接口返回数据作为下个接口请求参数)
摘要:前言 参数关联是接口测试和性能测试最为重要的一个步骤,很多接口的请求参数是动态的,并且需要从上一个接口的返回值里面取出来,一般只能用一次就失败了。 最常见的案例就是网站的登录案例,很多网站的登录并不仅仅只传username和psw两个参数,往往有其它的动态参数。 有时候还需要带上cookies参数, 阅读全文

posted @ 2020-08-07 09:39 星空6 阅读(592) 评论(0) 推荐(0) 编辑

python笔记2--lxml.etree爬取html内容
摘要:前言 本篇继续lxml.etree学习,在线访问接口,通过接口返回的html,解析出想要的text文本内容 环境准备: python3.7 lxml requests 定位目标 爬取我的博客首页https://www.cnblogs.com/canglongdao/侧边个人基本信息。 打开fiddl 阅读全文

posted @ 2020-08-06 20:57 星空6 阅读(1083) 评论(0) 推荐(0) 编辑

python笔记1--lxml.etree解析html
摘要:前言 lxml是一种使用Python编写的库,可以迅速、灵活地处理XML和HTML,学过xpath定位的,可以立马上手 使用环境: python3.7 lxml 4.3.3 lxml安装 pip install lxml,安装报错;指定版本为4.4.3时,安装成功 pip show lxml查看版本 阅读全文

posted @ 2020-08-06 15:56 星空6 阅读(790) 评论(0) 推荐(0) 编辑

python接口自动化(二十三) data和json参数传参,怎么区分呢?
摘要:前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候传json,什么时候传data? 一、识别json参数 1.post请求的body通常有四种类型,最常见的就是json格式了。 2.用抓包工具查看,首先点开Raw去查看b 阅读全文

posted @ 2020-08-06 13:46 星空6 阅读(812) 评论(0) 推荐(0) 编辑

python接口自动化(二十二) multipart/form-data表单提交
摘要:前言 multipart/form-data这种格式官方文档给的参考案例比较简单,实际情况中遇到会比较复杂,本篇讲解multipart/form-data的表单如何提交,非图片上传。 禅道提交bug 1.以禅道提交bug为参考案例,手动操作一次提交bug,抓包查看Content-Type:multi 阅读全文

posted @ 2020-08-06 11:02 星空6 阅读(761) 评论(0) 推荐(0) 编辑

python接口自动化(二十一) multipart/form-data上传图片
摘要:前言 在提交表单操作的时候,经常会遇到图片上传的操作,图片上传是一个单独的接口,本篇以禅道为例,介绍如何上传图片 上传接口 1.以禅道上提交bug为例,在选择图片时,点确定按钮,就是上传图片了。 2.用fiddler抓包,查看抓到的接口,以下这种接口就是multipart/form-data 先登录 阅读全文

posted @ 2020-08-06 10:19 星空6 阅读(856) 评论(0) 推荐(0) 编辑

python接口自动化(二十) 发xml格式post请求
摘要:前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded application/json text/xml multipart/form-data 本篇讲xml这种 阅读全文

posted @ 2020-08-05 23:02 星空6 阅读(738) 评论(0) 推荐(0) 编辑

python接口自动化(十九) 签名(signature)鉴权(authentication)之加密(HEX,MD5,HMAC-SHA256)
摘要:前言 开放的接口为了避免被别人乱调用,浪费服务器资源,这就涉及到签名(Signature)加密了 API使用签名方法(Signature)对接口进行鉴权(Authentication)。每一次请求都需要在请求中包含签名信息,以验证用户身份。 接口签名 1.根据需求文档,看接口的签名规则,每个公司的签 阅读全文

posted @ 2020-08-05 21:00 星空6 阅读(2182) 评论(0) 推荐(0) 编辑

python接口自动化(十八) 下载excel文件(Content-Type:octets/stream)
摘要:前言 Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢? 抓下载接口 1.使用fiddler工具抓包,先找到导出按钮,点导出时候抓包 2.抓到数据如下 代码实现 1.生成excel的路径 阅读全文

posted @ 2020-08-05 17:16 星空6 阅读(1448) 评论(0) 推荐(0) 编辑

python接口自动化(十七) requests获取响应时间(elapsed)与超时(timeout)
摘要:前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的。 如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间。 elapsed官方文档 1.elapsed方法的官方文档地址:http://cn.python-requests. 阅读全文

posted @ 2020-08-05 16:36 星空6 阅读(1620) 评论(0) 推荐(0) 编辑

python接口自动化(十六) requests-toolbelt处理multipart/form-data
摘要:requests-toolsbelt 1.官方文档地址:requests-toolsbelt官方文档 2.环境安装 pip install requests-toolbelt multipart/form-data传文件 from requests_toolbelt import Multipart 阅读全文

posted @ 2020-08-05 15:42 星空6 阅读(904) 评论(0) 推荐(0) 编辑

python接口自动化(十五) multipart/form-data上传多个附件
摘要:前言 上传附件的时候,文件的name参数名称是一样的,python里面key是不可以重复的,又如何处理参数名称相同的情况? 上传附件 OPMS——员工相册上传图片,提示成功,访问响应中的url也可以访问到该图片,web页面和数据库却没有该条数据;无解ing 禅道项目 1.下面以禅道提交bug的时候上 阅读全文

posted @ 2020-08-05 10:48 星空6 阅读(1219) 评论(0) 推荐(0) 编辑

Docker方式部署禅道
摘要:参考:https://www.zentao.net/book/zentaopmshelp/405.html 一、环境准备 运行环境需成功部署Docker服务,推荐使用Docker 18版本以上,对主机环境没有要求。 可以通过命令查看Docker版本 二、下载禅道环境 Docker Hub禅道镜像地址 阅读全文

posted @ 2020-08-04 23:06 星空6 阅读(2935) 评论(0) 推荐(0) 编辑

windows下使用phpstudy搭建禅道环境,线下禅道迁移到线上环境
摘要:一、下载phpstudy 访问phpstudy官网https://www.xp.cn/download.html,下载适合的版本 二、安装并启动服务 1.解压下载后的文件 2.双击.exe程序安装,提示非汉字和非空格的目录,可以自行修改安装目录; 3.安装完成后,弹出phpstudy窗口,点击【启动 阅读全文

posted @ 2020-08-04 14:13 星空6 阅读(1321) 评论(0) 推荐(0) 编辑

python函数装饰器
摘要:装饰器(Decorators)是Python的一个重要部分。简单地说:他们是修改其它函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic。 一切皆对象 我们可以将一个函数赋值给一个变量 def hi(): print("hihi") a=hi print(a,type(a)) hi( 阅读全文

posted @ 2020-08-02 22:54 星空6 阅读(239) 评论(0) 推荐(0) 编辑

pytest(三十八)--元数据使用(pytest-metadata)
摘要:前言 什么是元数据?元数据是关于数据的描述,存储着关于数据的信息,为人们更方便地检索信息提供了帮助。pytest 框架里面的元数据可以使用 pytest-metadata 插件实现。文档地址https://pypi.org/project/pytest-metadata/ pytest-metada 阅读全文

posted @ 2020-08-02 15:26 星空6 阅读(559) 评论(0) 推荐(0) 编辑

pytest(三十七)--fixture参数化params
摘要:前言 参数化是自动化测试里面必须掌握的一个知识点,用过unittest框架的小伙伴都知道使用ddt来实现测试用例的参数化。 pytest测试用例里面对应的参数可以用parametrize实现,随着用例的增多,我们的需求也会越来越多,那么如何在fixture中使用参数呢? fixture源码 先看下f 阅读全文

posted @ 2020-08-02 12:30 星空6 阅读(468) 评论(0) 推荐(1) 编辑

pytest(三十六)--参数化ids用例描述为中文时,控制台输出unicode编码问题(pytest_collection_modifyitems)
摘要:前言 使用pytest.mark.parametrize参数化的时候,加ids参数用例描述有中文时,在控制台输出会显示unicode编码,中文不能正常显示。 使用pytest_collection_modifyitems钩子函数,对输出的item.name和item.nodeid重写编码。 问题描述 阅读全文

posted @ 2020-08-02 11:44 星空6 阅读(456) 评论(0) 推荐(0) 编辑

pytest(三十五)--pytest.ini配置用例查找规则
摘要:前言 pytest如何执行不是test开头的用例?如执行xxx.*.py这种文件的用例。 pytest.ini配置文件可以修改用例的匹配规则。 pytest命令行参数 cmd打开输入pytest -h查看命令行参数找到[pytest] ini-options python_files(args)匹配 阅读全文

posted @ 2020-08-02 11:03 星空6 阅读(537) 评论(0) 推荐(0) 编辑

pytest(三十四)--参数化(parametrize)结合allure.title()生成不同标题报告
摘要:前言 pytest的参数化(parametrize)可以实现只需要维护测试数据,就能生成不同的测试用例目的。可以在参数化的时候加ids参数对每个用例说明使用场景。 最终我们希望在allure报告上能详细的展示出每个用例的标题描述,这样才能更直观的知道每个用例是干什么的。 参数化parametrize 阅读全文

posted @ 2020-08-02 09:31 星空6 阅读(558) 评论(0) 推荐(0) 编辑

pytest(三十三)--allure.step()添加测试用例步骤
摘要:前言 一般流程性的测试用例,写成自动化用例时,步骤较多写起来会比较长。在测试用例里面添加详细的步骤有助于更好的阅读,也方便报错后快速的定位到问题。 举个常见的测试场景用例:从登陆开始,到浏览商品添加购物车,最后下单支付。 用例步骤:1.登陆,2.浏览商品,3.添加购物车,4.生成订单,5.支付成功 阅读全文

posted @ 2020-08-01 17:40 星空6 阅读(1435) 评论(0) 推荐(0) 编辑

pytest(三十二)--自定义用例顺序(pytest-ordering)
摘要:前言 测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果。 有些同学在写用例的时候,用例写了先后顺序,有先后顺序后,后面还会有新的问题(如:上个用例返回数据作为下个用例传参,等等一系列的问题) github上有个pytest-ordering插件可以控制 阅读全文

posted @ 2020-08-01 16:39 星空6 阅读(406) 评论(0) 推荐(0) 编辑

pytest(三十一)--断言失败后还能继续执行pytest-assume
摘要:前言 pytest的断言失败后,后面的代码就不会执行了,通常一个用例我们会写多个断言,有时候我们希望第一个断言失败后,后面能继续断言。 pytest-assume插件可以解决断言失败后继续断言的问题。github地址:https://github.com/astraw38/pytest-assume 阅读全文

posted @ 2020-08-01 16:25 星空6 阅读(1597) 评论(0) 推荐(0) 编辑

allure(三十)--allure描述用例详细讲解
摘要:前言 pytest+allure是最完美的结合了,关于allure的使用,本篇做了一个总结。 allure报告可以包含很多详细的信息描述测试用例,包括epic、feature、story、title、issue、testcase、severity等 allure用例描述 测试案例 pytest结合a 阅读全文

posted @ 2020-08-01 15:27 星空6 阅读(3925) 评论(1) 推荐(1) 编辑

pytest(二十九)--allure标记用例级别severity
摘要:前言 我们在做功能测试的时候,执行完一轮测试用例,输出测试报告的时候,会有统计缺陷的数量和等级。在做自动化测试的过程中,当你的测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。 pytest结合allure框架可以对用例的等级做详细的划分。 用例等级 a 阅读全文

posted @ 2020-08-01 14:19 星空6 阅读(428) 评论(0) 推荐(0) 编辑

docker快速搭建禅道环境
摘要:前言 bug管理系统是每个公司测试团队必备的,当去一个新的公司组建一个测试团队的时候,需快速搭建一套bug管理系统,使用docker搭建禅道就非常方便。 拉取镜像 百度搜索docker,进入Docker Hub官网,搜索zentao,显示很多个,点击第一个。 先拉取zentao镜像,镜像地址http 阅读全文

posted @ 2020-08-01 10:35 星空6 阅读(953) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示