自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何写会议纪要

前言最近一连四周都在写会议纪要。在领导的指导下,我的编写会议纪要能力也不断的再提高。每次修改的过程中,我也在不断的去思考领导关注的是什么。 写会议纪要时,要避免写成记录。两者最大的区别是:会议的议题是否是每个人员的内容。即:会议纪要聚焦会议的议题,并非每个人说的内容。如果重心是每个人说的内容,那个是会议记录,非会议纪要。正文会议纪要,由三部分组成,分别是会议纪要的基础部分(包含会议纪要标题、会议时间及参会人员)、会议的主题内容部分(聚焦会议的内容、所达成的共识、...

2021-08-15 18:42:48 414

原创 pytest如何防止频繁打开浏览器

1、问题描述:登录系统后,进入A模块,点击【新增】按钮,执行新增操作的用例,我希望每次都是重新从新增按钮页面开始操作,而不需从新打开浏览器,进行登录,然后进入A模块等操作初步解决:虽然说,防止 频繁打开浏览器的方法是使用@pytest.fixture(scope="session")当然scope也可能是class,但是实战过程中,发现依旧是重新打开浏览器等操作实例:@pytest.fixture(scope="session")def browser(): option=we.

2021-01-18 09:16:30 1108 2

原创 python任意组合调用多个函数

1、需求:做自动化测试的时候,需要验证某个必填项不能为空,但是系统存在多个必填项,且必填项是下拉框形式,不能通过文本输入,而是模拟用户点击操作,获取的内容解决:每个下拉框操作封装成一个函数,然后调用时,每一轮调用,都只验证一个必填项不能为空(即:该操作不执行---该函数不调用,其他的函数调用)解决思想:使用0、1判断,如果是1 则执行,0 则不执行,有几个函数,就有几个0或者1def a1(): print("执行1")def a2(): print("执行2")def a

2020-12-11 21:37:47 906

原创 总结:如何更高效的进行现场测试-------持续更新

现场测试,最忌讳的是闷头测试,应该及时反馈问题,并与现场开发人员密切配合。方法:1、每日汇报测试进度,并盘点测试bug 数量2、与需求或者研发经理沟通,确认bug修改优先级,并把需要优先修改的bug标记出来,发到群里,让其他开发和研发经理明确3、督促每日优先修改的缺陷4、回归修改的缺陷,并群内反馈5、收集现场用户反馈的问题,并多听多观察多感受现场测试与公司内测试的不同6、离场前,写现场测试反馈邮件,并将自己总结的一些现场测试经验在邮件中反馈总结:1、告诉领导你做.

2020-09-17 08:26:51 251

原创 Jenkins+jmeter+ant自动化设置jira面板统计图每日更新

1.需求描述领导提出了一个需求:每天可以看到仪表盘中,关于项目A的每日bug统计情况2.初步思路1)根据创建时间,设置当日进行查询,然后保存为筛选器名称:当日数据统计2)仪表盘中,添加一个二维数据统计的小程序,然后选择该是筛选器,即可在界面中展示当日数据统计情况3.遇到问题1)jira创建时间中,无法自动根据每日数据进行统计,根据实践,只有选择在2020-04-19和2...

2020-04-19 20:56:58 2283

原创 jmete测试登录(MD5加密+密码有变动)

1、问题描述:测试登录时,密码一直显示错误,查看源代码,发现密码组成形式为<input type="hidden" id="salt" value="2676note"/>var newPass = jQuery("#password").val() + salt; var finalPass = hex_md5(newPass); jQuery("#password"...

2019-12-09 13:53:32 906

原创 loadrunner12-检查点

一、作用1、通过检查点,检查事务是否成功、可以统计事务的成功率2、为什么事务中的LR_AUTO不能检查事务是否成功?答:因为AUTO自动判断是通过对响应的状态码进行判断,只用当状态码为4XX、5XX才命为错误,但实际上,只要不满足用户需求,都应该算事务失败。二、设置1、检查点一般放在事务的前面原因:web_reg_find是从想用中查找特定的内容,特定标识来检查事务请求是否成功...

2019-04-02 10:59:25 899

原创 软件测试-搭建测试环境

搭建测试环境的思路:1、想象一种场景,A有一袋子东西(其中有a,b,c),其中a是向C借的,b向D借的,如果,你把这袋子东西拿走,你应该也要跟C说,跟D说。因此,在部署时,并不是有tomcat就足够,应该与之对应的都要同步修改,配置例如,数据库,两种可能,1、去访问开发人员的数据库,2、开发人员把包给自己,自己去搭建搭建测试环境等前期准备工作:一、设备准备1、物件齐全:程序...

2018-12-04 08:52:58 3328

原创 selenium +python 实战训练之操作复选框

实现效果:1、判断复选框是否被选中,并打印列表中的内容重难点:1、定位元素答:如果只有一个复选框,建议直接定位到该元素,如果有多个复选框,则找到规律,循环遍历元素2、判断是否被勾选element.is_selected()3、勾选元素element.click()实例展现:查看每一行的规律,来筛选每列的第一个元素han1 = d.find_elements_by_xpa...

2018-10-26 15:53:02 458

原创 软件测试---功能测试----测试小流程-----防止漏测----持续更新

根据本公司自身的业务,因此功能测试方面,主要测试我们所看到的网页、其中的逻辑等;因此特意总结出以下测试:1、页面布局是否合理:按钮摆放是否合理;字体大小是否一致;字段位置与标题是否 保持一致2、公司具体业务逻辑,请以公司需求文档一致3、各按钮功能是否实现:1)新增功能a)新增页必填字段是否正确标出;当必填字段没有填写,页面无法正常保存;且出错位置高亮显示并提醒不能为空;b)...

2018-10-25 10:24:08 934

原创 python-Logging日志使用方法1

使用之前,需先导入logging模块:import logging#1、创建日志收集器对象,日志收集器只会收集所设定级别的日志或更高级别的日志logger = logging.getLogger()#2、查看日志级别print(logger.level)#3、修改日志级别,日志级别从严重到轻微排序:CRITICAL > ERROR > WARNING > INFO > DEBUG,严重>错误>警告>信息>调试logger.setLevel("INFO"

2022-03-20 19:55:28 765

原创 python 通过ssh 对oracle数据操作(绕开无法识别sqlplus问题)

说明:当我在linux主机上创建一个数据库,需要验证数据库是否正常可用方法:在数据库中创建表并进行增删改等操作难点:1、python如何连接数据库主机2、python如何在数据库主机上的某库中创建表并进行增删改3、数据库端口没有开通,但是主机22端口是开放的,不能使用cx_Oracle4、进入数据库主机后,需要通过sqlplus才能输入数据库账号密码方法:先上笨办法,后面封装import timeimport paramiko#远程连接ssh#设置ssh连接的远程主机地址和端口..

2021-09-11 14:13:01 377

原创 逻辑清晰四个实用原则(金字塔原理)

1、结论先行:任何文章、演讲,一个中心思想,放在前面,结论先说2、以上统下:上对下总结概括,下对上解释支撑,上下之间有父子关系、递进关系。例如:写工作计划(只要看未来,计划、方案都是目标最大)父亲:目标,总结、述职(只要看过去、结果永远最大),则结果最大当写计划、方案、建议、立项、报告、讲话稿时,应该看未来:1、目标、措施、风险、资源目标(总目标、子目标【不同的部门等方面】、阶段目标【时间、进度、步骤、节奏】)措施(重点工作、流程、方法)风险(可能面临的问题、解决方案、风

2021-08-25 20:45:05 1439 1

原创 如何发通知

发会议通知,一般比较正式,因此尽量使用文字。会议通知内容包含的内容:会议主题、会议时间、会议地点、参会人员、会议日程、有关要求

2021-08-20 09:29:39 372

原创 excel常用的数据处理方法

最近整理excel数据,新掌握了几个函数和数据处理方法场景一:从【入职时间:2012-05-13;籍贯:济南;性别:男】,需要筛选出自己想要的数据人员籍贯、性别方法:场景二:从另一个表中匹配本表的数据(数据在列表中的顺序并不一致)解决方式:vlookup方法VLOOKUP(E8,'源数据-财务'!B:C,2,FALSE)第一个参数:匹配的数据;第二个参数:数据来源(一般是另一个sheet的两列字段)第三个参数:匹配的第几列第四个参数:false是详细匹配.

2021-08-09 14:44:42 1060

原创 SecureCRT---便捷功能(添加按钮)(开发都知道的功能,测试说哇塞!!!)

问题描述:linux 操作时,需要频繁且重复的属于一些较长的内容,每次手动敲打键盘或者逐条复制内容,比较繁琐解决方式:1、工具:SecureCRT2、方法:(1)下方右键点击,点击【新建工具栏】,建一个工具名称(2)选择该工具名称, 下方右键点击,点击【新建按钮】,在发送字符串中,输入Linux中常见的操作,例如:opy elevate wo xuyao\r,并给操作取名(第一部操作按钮)保存后,下方会显示"第一部操作按钮",当点击该绿色按钮时,Linux界面中自动展示该内容扩展:

2021-05-17 18:18:31 3019 4

原创 登录系统时的手机验证码如何获取的

哈哈,又到周末了,自由的个人时间来啦,今天在连接公司的vpn时,看到需要根据个人信息(账户和密码,有的时候也可能直接是手机号),获取验证码,就想研究下验证码是如何来的。。。。。当我们在用户个人信息界面输入个人账户信息(账户和密码,有的时候也可能直接是手机号)后,点击发送验证码以后,系统就会根据账号密码找到自己的其他的信息(手机号),当手机号码知道了,就会访问后端提供的短信验证码接口,该接口需要提供的参数就是我们的手机号码,等接口收到这些数据后,就会根据特定的算法,自动生成一个六位或者四位的验证码;随

2021-04-17 10:52:08 23295

原创 2021-03-16-复习os路径处理、异常捕获、assert断言、rasie主动抛出异常

#-*-conding:utf-8 -*-#@author:jjb#@time:2021/3/16:19:55import osimport io #处理文件流的#TODO:获取当前文件的路径,可以使该文件去获取其他的文件路径print(os.path.abspath(__file__))#TODO:获取某个文件的目录(该文件和目录不一定会存在)dirname=(os.path.dirname("C:\data\de.dte"))#TODO:路径拼接print(os.p...

2021-03-16 20:50:19 217

原创 记录一次心碎的自动化测试

1、背景新增页面, 有较多字段是下拉框形式,或者是下拉框式单选框勾选字段形式2、实操方式步骤1:查看元素,发现是input标签,因此采用js形式,直接改写input标签中的value值步骤2:发现没有value值,因为使用js添加value并赋值: def change_string(self,name,*locator): el_faburiqi = self.browser.find_element(*locator) js_code_el_fabu

2021-01-24 14:59:04 99

原创 python接口测试--mock

1、什么叫mock?答:模拟数据:假数据,不是接口真正返回的数据。2、为什么要引入mock测试?有两种场景需要引入:(1)接口还未开发完成,但是测试人员需要介入接口测试(2)接口调用不方便,需要调用第三方接口3、方式1】客户端mock1、安装第三方库,pip install mock2、构造函数或者请求from mock import mock例如:(1)构造函数变量名=mock(return_value=8)value后面是构造的假值变量名(xx,xxx

2021-01-11 20:37:22 395

原创 python获取字典或者列表中的某个值

获取字典中的某个值:字典[key],当key不存在,会报错“keyError”字典.get(key)key不存在不会报错,返回None,也可指定返回值dict1={"a":"111","b":"3333"}print(dict1.get("a","不存在"))print(dict1["a"])获取列表中的某个值:列表[index]索引位置,从0开始,如果超过索引值,也会报错IndexError: list index out of range#获取list的值list1=.

2021-01-09 15:47:34 4012 1

原创 python字符串与列表之间如何相互转换?

字符串与列表之间如何相互转换?str -> list 字符串.split("") 按指定分隔符截断,结果就是列表。或者直接list(字符串),每个字符为列表的成员。list -> str"".join(列表) 将列表的值拼成一个字符串。要求列表的每个成员是字符串直接str(list变量) 将整个列表直接转换为字符串类型,字符串内容与列表一模一样str1="aaa,bbb,ccc"list1=list(str1)print(list1)...

2021-01-09 15:27:42 216

原创 使用unittest框架做单元测试------基础版本

总结:使用unittest做单元测试的步骤1、导入unittest模块,为了使用unittest框架2、导入被测试对象,例如一个函数,一个类3、创建一个测试类、并继承unittest.TestCase类4、如果有初始化条件和结束条件,重写setUp和tearDown方法(可选)5、以方法(函数)的形式写测试项,方法名以test_开头6、使用unittest.main()运行测试用例,自动搜集并运行以test_开头的方法,函数的运行顺序,以字母顺序,ascii码的形式示例im

2021-01-08 21:27:36 522

原创 allure生成报告,报ALLURE REPORT UNKNOWN

错误定位:解决办法:看生成报告的路径和你allure命令加的路径是不是一致的结果:

2020-12-23 21:18:40 2112

原创 自动化测试采坑---定位元素中有height_style

1、需要定位的元素//button[@class="btn btn-special height_style"]如果直接写这样,则会提示找不到元素解决办法:可以使用contains进行xpath定位:submit_localtor=("xpath",'//button[contains(@class,"btn-special")]')...

2020-11-27 08:26:49 110

原创 记录一次代码调试过程-WebDriverWait().until(直到元素出现)

1、原本代码如下如所示:代码说明:使用显性等待,作用是,当这个元素出现时,点击,跳转到另一个页面class IndexPage: invert_localtor=("xpath",'(//a[@class="btn btn-special"])[1]') def __init__(self,browser): self.browser=browser '''等待元素出现''' def wait_clickable(self,browser, lo.

2020-11-26 22:22:52 1602

原创 (二)自动化测试框架pytest

1、pytest与unittest的区别及pytest的优点pytest功能性强, 比unittest强unittest标准库,python内置的,但是pytest是第三方库,需要下载(pip insall pytest)pytest断言方便,可以直接assert(python内置的assert关键字pytest可以自动收集用例,有用例筛选功能,且支持失败重运行,但是unittest没有以上功能unittest需要去指定文件夹中获取文件(testloader.discover(指定文件夹,te

2020-11-12 16:02:29 306

原创 (一)自动化测试框架-----基础理论

##目录结构##文件说明##README.md项目的说明文件项目怎么用的怎么安装,怎么部署每个包,每个模块做什么用##快速开始'''python run.py'''##安装步骤1、安装python2、安装pip包3、浏览器和驱动#APIs介绍(函数的介绍)每个函数的介绍###项目结构说明自动化测试用例:tests测试数据:data文件夹配置文件:config文件夹通用文件:common文件夹报告文件:report文件夹日志文件:logs文件夹##进行测试.

2020-11-12 10:49:41 153

原创 python web自动化-文件上传三种方法

文件上传三种方式:(一)查看元素标签,如果是input,则可以参照文本框输入的形式进行文件上传方法:和用户输入是一样的,使用send_keys步骤:1、找到定位元素,2,输入文件路径ele=driver.find_element_by_id("id")#说明:参数是文件的路径,在windows中,因为路径是反斜杠,所以在路径之前需要有rele.send_keys(r"c:\xxx.txt")time.sleep(3)说明:如果不是input标签,直接是div标签,则不能使用上述方法

2020-11-10 16:28:58 2812

原创 数据库的基本用法---持续记录

1.1数据库操作方法1:navacat创建数据库1、对准连接的数据库服务器,右键,点击【新建数据库】,记得字符集要选择:utf8-UTF-8 Unicode删除:右键点击删除数据库方法2:命令创建数据库:create database name default character set ='utf8' ;#其中name是指数据库名称删除数据库:drop database name;#name是数据库名称1.2数据库的数据类型(1)数据类型-数字原则...

2020-09-17 08:19:24 193

原创 mysql远程连接失败的原因

整理如下:1、远端mysql数据库服务没有开启;(解决办法:开启mysql数据库服务)2、本地网络与远端网络不在同一个网段(ping不通)3、远端mysql数据库服务器的防火墙开启(解决办法:关闭防火墙,或者设置允许访问3306端口)4、远程mysql没有授权远程访问(解决办法:[https://jingyan.baidu.com/article/b907e627b0e3b846e7891cc9.html]grant all privileges on *.* to root@"xxx.

2020-09-16 08:00:26 892

原创 python-----list转字符串,并且以字符串存储

list转字符串,且以逗号分隔首先,判断是否是listif isinstance(list1,list):#第二个参数是可以任意变,比如判断是否是tuple或者str等 print(lisr_change_str(list1))else: print("baocuo,buslist")方法1:def lisr_change_str(list1): str_value=" " for i,vale in enumerate(list1): .

2020-08-27 08:15:18 347 3

原创 python-----将文件中的内容,转换为嵌套字典的列表形式

'''编写如下程序有两行数据,存放在txt文件里面(手动建立文件,并添加如下数据):url:/futureloan/mvc/api/member/register@mobile:18866668888@pwd:123456url:/futureloan/mvc/api/member/recharge@mobile:18866668888@amount:1000请利用上课所学知识,把txt里面的两行内容,取出然后返回如下格式的数据:(可定义函数)data打印的是:[{'url':'/.

2020-08-22 11:32:04 1240

原创 删除某个元素只要是重复的,都删除

如果想删除列表中的某个元素,则可以写一个方法:li=[1,"\n",2,"\n",4,5,"\n",66,7]def remove_value(list_value,value): ''' :param list_value: 列表 :param value: 要删除的元素 :return: 删除后的list列表 ''' while True: if value in list_value[:]: li

2020-08-19 22:28:00 89

原创 python---对列表进行去重

'''列表去重# 定义一个函数 def remove_element(m_list):# 将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]去除重复元素'''def remove_element(m_list): for i in m_list[:]: if i in m_list[i:]: m_list.pop(i) print(m_list)m_li.

2020-08-18 11:03:13 240

原创 python---例题: 输入5个数据,找最大一个数

目的:输入5个数据,找最大的一个方法一:1、 输入5个数,存放在list中,2、在对list排序3、找到最大的一个数据def input_value(value): while True: if (value.isdigit() ): return_value= int(value) break else: print("存在不包含的数字") va

2020-08-17 17:01:11 5688 1

原创 python---判断键盘输入的内容是否是整数,如果不是,则重新输入

value=input("输入一个数字")while True: if (value.isdigit()): t = int(value) print("daying", t) break else: print("存在不包含的数字") value = input("输入一个数字")

2020-08-17 16:15:32 21196 1

原创 2020-08-17-python学习之数据类型分类(可变长、不可变长、序列型,散列型)

python可变长数据类型----可以进行增删改查list(列表)、dict(字典)、set(集合)python不可变长数据类型字符串、int、float、bool、tuple(元祖)python序列类型字符串、元祖、列表-----(可以通过下表取值,支持切片)python 散列类性:字典、集合---------(元素内部是无序的,没有下表)...

2020-08-17 15:57:31 353

原创 九九乘法口诀(python实现2种方式)

value=[1,2,3,4,5,6,7,8,9]num=1for i in value: for j in value: if j<=i: print(f"{j}*{i}={i*j}", end="\t") print()方法二:value=[1,2,3,4,5,6,7,8,9]num=1for i in value: for j in value[:i]: print(f"{j}*{i.

2020-08-10 21:36:09 289

原创 python例题-----if+while

'''编写如下程序a.用户输入1-7七个数字,分别代表周一到周日b.如果输入1~5,打印对应的“周一”~“周五”,如果输入的数字是6或7,打印输出“周末”c.如果输入0,退出循环d.输入其他内容,提示:“输入有误,请重新输入!”提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确。不用考虑浮点数等情况。'''value = input("请输入数据")int_value = int(value)while 1: uper = [ '一', '二', '三.

2020-08-08 13:32:15 225

jenkins.war

Jenkins部署,官网下载,等待了半个小时,下载不易,供大家使用。

2019-12-23

fiddler安装

强大的抓包工具,很好哦哦,另外送,fiddler加入时间的语句:

2019-04-18

jdk1.8-64位

jdk1.8 64位下载的百度云连接,包含环境变量配置

2019-04-06

空空如也

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

TA关注的人

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