自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 python函数的作用域和常见的内置函数

return 语句:1、给函数返回值(表达式)2、用于终止函数的运行return 语法:1、如果不写return 或者 写了return 但是后面不写值或者变量,默认返回None2、reutrn返回一个数据时,返回的数据类型为返回值本身的数据类型object3、return返回多个数据是,元素之间用逗号隔开,返回的数据类型为元组tuple4、函数中不同分值可以有多个return语句5、return是函数运行结束的标识符。......

2022-08-16 19:26:36 598 1

原创 详解python函数的参数

形参和实参在定义和调用的时候,参数类型的区分;形参分为必备参数、默认参数、不定长参数;实参分为位置参数、关键字参数

2022-08-16 15:23:12 3177

原创 图解HTTP-核心知识总结1

图解HTTP,关于HTTP协议一些知识。以及TCP三次握手

2022-05-20 18:19:57 281

原创 接口测试的标准和规范性

一、接口测试测试点1、要考虑接口的正常调用1)按照接口定义,传递正确的接口信息,包括地址、方法、传输数据,然后查看接口返回的响应结果是否正确,数据库的数据是否正确。2)传递的请求数据需要覆盖有效类、边界值。3)返回的响应结果的每个字段都需要检查,如code、msg信息。4)调用接口对数据库的中的数据进行测试,增删改业务接口调用需要确保到数据库种表字段的正确性验证。2、考虑请求参数的正常和异常情况1)请求数据输入异常值,例如空值、长度类型异常、数据类型异常等,接口能否正确处理且返回

2022-05-17 14:06:30 5851 5

原创 APP测试要点

一、功能测试1、根据需求文档编写测试用例,执行测试,app客户端的单个功能,需要使用等价类、边界值,考虑正常和异常场景。2、根据功能业务逻辑考虑功能交互。注意:功能的测试点提取和用例设计方法都跟web测试一致,但是app有一些自己的特性测试,也要额外的加到测试点中。二、安装与卸载测试1、软件安装前:空间不足是否有相应的提示2、软件安装中:安装过程中是否可以取消、暂停;安装是否可以正常进行;安装空间不足是否给予提示3、软件安装后:是否可以卸载应用,通过桌面卸载或者通过软件设置卸载;

2022-04-13 15:13:25 4452

原创 python赋值、深拷贝和浅拷贝的区别详解

一、前言在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋值给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。二、区别1、直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的变量也会做相同的改变# 直接赋值dict_1 = {"key1":[1,2,3,4],"key2":"val2"}dict_2 = dict_1dict_1["key1"].append(5)print("dict_1内存地址:",id(dict_1

2022-04-02 11:38:09 3768

原创 web自动化文件上传--Pywin32库和WinSpy工具

一、前言在做web自动化,遇见上传文件一般有两种情况:1、如果是input可以直接输入路径的,那么直接调用send_keys输入路径。2、非input标签的上传,则需要借助第三发工具。如Pywin32库和WinSpy工具二、input标签上传文件大致思路:以百度首页上传图片为例,首席点击图像元素,弹出选择文件按钮,再次往选择文件按钮直接输入文件路径,此时图片就上床成功了。import timefrom selenium import webdriverfrom les.

2022-03-15 00:54:55 2803

原创 JS处理滚动条操作

一、前言在网页当中,页面存在滚动条,而你要操作的元素在当前屏幕可见区域之外。那么就需要使用滚动条滚动到该元素处,然后在操作它。selenium当中的使用execute_script方法执行js语句来实现滚动功能。二、滚动到元素可视范围语句:driver.execute_script("arguments[0].scrollIntoView();",el)其中el为find_element找到元素的对象所以滚动步骤:(1)通过selenium的查找元素的方法先找到元素(2)通

2022-03-14 22:19:09 3093 1

原创 JS处理日历控件

一、前言在web自动化的过程中,我们遇到的日历控制这样的场景,大致分为两种:1、可以直接输入日期2、不能够直接输入日期,只能选择二、js处理日期控件的代码1、方法一大致思路:(1)处理场景:日期输入框不能直接输入日期,只能选择(2)我们可以通过输入框的id属性去进行定位,并赋值给变量el(3)通过js代码来修改readonly和value的值,就用到了js代码中的arguments,相当于python中的format(4)通过execute_script()发送js指

2022-03-14 21:11:35 4058

原创 web自动化-单选框、复选框、下拉框定位操作

一、前言单选框和复选框的话,一般根据单选框按钮和复选框按钮去进行元素定位,如有iframe页面嵌套,则需要切换iframe,一般去定位的话,用八大元素定位的方法差不多就可以满足了。接下来将会讲解下拉框的操作,下拉框里面的元素支持多选、单选、支持鼠标点击等。并且还需要观察下拉框的元素是select/option还是ul/li。二、单选框、复选框操作网页的话 自己写了一个HTML页面,可以参考之前写的一篇文关于测试了解的HTML知识import timefrom selenium impor

2022-03-12 23:08:54 6051

原创 selenium中键盘操作:Keys类

一、前言selenium提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入Keys类。from selenium.webdriver.common.keys import Keys二、常用的非组合键操作1、回车键:Keys.ENTER2、删除键:Keys.BACK_SPACE3、空格键:Keys.SPACE4、制表键:Keys.TAB5、回退键:Keys.ESCAPE6、刷新键:Keys.F5比如百度搜索中,可以利用Keys.ENTER回车键代替点击搜索框,代码

2022-03-12 21:26:31 23285 2

原创 selenium中鼠标操作:ActionChains类

一、ActionChains类的介绍ActionChains模拟鼠标操作的常用方法。使用click()方法可以进行鼠标的单击操作,但是鼠标操作还包括:双击、右击、悬停、鼠标拖动等功能,所以,ActionChains类提供了鼠标的常用方法:1、perform():执行所有ActionChains中存储的行为2、context_click():右击3、double_click():双击4、move_to_element():悬停5、drag_and_drop(source, targe

2022-03-11 18:04:53 20980

原创 web自动化中如何进行窗口切换

一、代码示例import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.get("https://www.baidu.com")driver.maximize_window()driver.implicitly_wait(10)# 定位百度首页输入框,输入搜索内容driver.find_element("id","kw").send_keys("中国政府网")# 定位百度一下按钮,点击进行

2022-03-11 11:21:47 1021

原创 web页面-alert弹框切换

一、前言直接用原生的alert,prompt弹框,样式很丑,现在用的越来越少了,都是直接用框架vue.js实现UI效果,弹框就是普通的元素了,比如alert(element-dialog)弹框都是直接用普通元素了。下面代码是一种原生的alert弹窗方法二、代码示例-alert弹框(原生的)from selenium import webdriverfrom selenium.webdriver.support import expected_conditions as ECfrom sel

2022-03-10 21:14:43 1291

原创 web自动化之iframe页面切换

一、iframe切换方式原理:页面会进行一层一层的嵌套,只有切换到嵌套的iframe页面,才可以定位到iframe页面里的标签属性等,一般情况不会超过三层,通常最多一层,可能的话有平行的iframe。# 1、通过name属性进行定位,前提是iframe有name属性driver.switch_to.frame("login_frame")# 2、通过iframe索引去切换,注意iframe层级关系driver.switch_to.frame(1)# 3、通过元素去定位,先找到要定位的i

2022-03-10 11:05:42 4293

原创 关于测试了解的html知识

一、HTML标签、属性、表单的介绍1、<h1>账号密码登录</h1> ---标题2、<input name="username" readonly> ---input输入,readonly输入框禁止输入内容 没有name属性数据发送不到后台,相当于key,value3、<input type="password" name="password"> type="password"--密码输入隐藏4、<div></div.....

2022-03-08 22:00:00 355

原创 关于xpath定位方法知识点拓展

一、xpath介绍xpath是XML路径语言,它可以用来确定xml文档中的元素位置,通过元素路径来完成对元素的查找。HTML就是XML的一种实现方式,所以xpath是一种非常强大的定位方式。1、公式://标签名称[@属性='属性的值']//*[@id="kw"] ---相对路径/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input --绝对路径表达式 说明 / 绝对定位,从根节点选取 // 相对

2022-03-08 21:00:00 1413

原创 selenium三种等待方式详解

一、场景我们在做WEB自动化时,一般要等待页面元素加载完成后,才能执行操作,否则会报找不到元素的错误,这样就要求我们在有些场景下加等待时间。二、强制等待1、利用time模块的sleep方法来实现,最简单粗暴的方法。2、不管浏览器是否加载完成,都强制等待5s,时间一到,就会执行下面的代码,不建议使用这种等待方式,因为严重影响代码的执行速度import timefrom selenium import webdriver# 启动浏览器driver = webdriver.Chro

2022-03-08 17:09:49 9250

原创 selenium中八大元素定位方法

一、元素定位是什么我们在做web自动化时,最根本的就是操作页面的元素,首先我们要能找到这些元素,然后才能操作这些元素。二、查看页面元素1、用浏览器打开百度页面,点击右上角==>点击更多工具==>点击开发人员工具或者是快捷键操作F12。2、点击控制台左上角的箭头,鼠标移到百度输入框中,此时我们可以看到输入框有id、name、class属性。三、元素定位前言:网上百度还是老版的元素定位方法,但是对于新版Python来说,已经弃用了之前的元素定位方法,所以在使用

2022-03-08 13:33:23 910

原创 python打印日志方法的使用

一、必备技能1、logging模块的使用(1)5个日志等级/以及5个输出日志的内置函数(2)日志收集器、日志输出渠道的概念(3)如何自定义日志收集器(4)如何封装自定义的日志收集器二、loggingpython的官方库,打印日志用的,无需安装,使用时直接调用1、logging的基本使用1.1、日志的五个等级(DEBUG/INFO/WARNING/ERROR/CRITICAL)(1)DEBUG:调试模式下的日志,只给程序员看的日志(2)INFO:程序正常运行的时候输

2021-12-23 17:47:58 11940 2

原创 接口自动化如何造测试数据--faker

一、基本的四要素数据姓名:name = fk.name()身份证:ssn = fk.ssn()手机号:phone = fk.phone_number()银行卡:fk.credit_card_number()二、个人信息地址:address = fk.address() 地址+邮编国家:country = fk.country()省份:pro = fk.province()城市:res = fk.city()邮编:res1 = fk.postcode()邮箱:email =

2021-12-22 13:40:33 935

原创 python数据提取之re、jsonpath模块

一、re模块--方法1、匹配指定的字符串,返回所有找到的数据result = re.findall("bai",test_str)2、匹配字符串开始的位置,返回的是math对象,需要通过group()函数处理result = re.match("w",test_str).group()3、匹配所有的字符串,返回找到的第一个值,需要通过group()函数处理result = re.search("c",test_str).group()4、匹配所有的字符串,返回的是一个迭代器

2021-12-21 19:01:51 832

原创 python操作mysql数据库

一、安装pymysqlpip install pymysql二、操作思路(1)导入包(2)创建连接(3)创建空白板(4)输入sql语句,执行sql语句(5)打印结果,关闭空白板和数据库连接import pymysql,pprint# 创建数据库的连接db = pymysql.connect( host="localhost", port=端口号,

2021-12-20 14:24:12 1165

原创 python使用ini&yaml配置文件

一、ini使用1、语法[section]key=valuekey1=value2、注意事项(1)整个ini文件下,[seciton]不能重复(2)同一个[seciton]下,key值不能重复(3)"="等号前后不能有空格(4)默认读取出来的是字符串类型(5)增删改的时候,只是对内存里面的数据进行修改,并不会修改实际文件3、configparser 使用from configparser import ConfigParserclass GetConfig

2021-12-16 22:08:11 1703

原创 python操作excel之openpyxl的入门操作

一、安装openpyxlpip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl==3.0.7二、excel构成1、excel文件2、表单对象(sheet)3、单元格三、

2021-12-13 15:39:14 1223

原创 Python分支控制流

一、if语句的作用主要用于验证某个条件,条件为真就运行if下的代码块,否则就运行else下的代码块。二、if语句的表达式1、if... 不需要有elif或者elseif grade < 40: print("E")2、if...else...if 5>4 : # 在python中,遇到冒号要缩进,表示一个分支 print("大于")else: print("以上的条件不满足,否则!")3、if...elif...elif...el

2021-10-20 22:18:48 151

原创 Python运算符

一、数学运算# + - * / // % ** 运算符号表达式print(1 + 1) print(3 - 1)print(1 * 2)print(6 / 2) # 除法得到是浮点数print(7 // 2) # 进行整除print(6 % 4) # 取余数print(2 ** 3) # 取幂次方 2的3次方二、赋值运算# = += -= 赋值运算符号a = 1# a = a + 2a += 2 # 两者是等价的print(a) #

2021-10-14 16:44:58 296 2

原创 Python字典和集合的基本用法

一、字典的作用 可以存储多个数据,可读性强,仍容易知道每个元素的具体的意思,表示元素的意义。二、字典的表示dict_1 = {"key":value,"key1":value2} # 键值对三、字典Key,必须满足的要求1、key必须唯一,同一个字典当中不能存在两个相同的key(没必要存在两个相同的)。2、key必须是不可变的数据类型。3、可变与不可变数据类型的区分:可变数据类型:列表[] 不可变数据类型:int,float,布尔型,元组,str...

2021-10-12 18:22:18 420 2

原创 Python列表和元组的基本用法

列表是Python里面最常用的数据类型,关于列表的数据类型总结如下:1、列表的关键字:list,列表一般使用“[]”方括号括起来的。2、列表是有序的数据类型。3、列表的元素可以是不同的数据类型,可以包括(整型、浮点型、字符串、布尔型、列表、元组、字典等)4、列表的元素可以更改,但如果包含元组,里面的元素不可以修改,只能做整体的替换。一、列表的表示1、标准的列表数据:list_1 = [1,'2',3.01,(1,2,"a"),[1,2,3],{"age":18}]# 列表当中

2021-10-11 01:07:45 1467 2

原创 python字符串的基本语法

一、标识符1、标识符包括:变量、项目名、包名(文件夹)、文件名(模块名)、函数名、类名等;通俗来讲——只要在python中自己命名的都可以称之为标识符。2、标识符的命名规范:数字、字母、下划线_组成;不能以数字开头。在Python中,具有特殊功能的标识符称为关键字。关键字是Python语言自己已经使用的了,不允许开发者自己定义和关键字相同名字的标识符。3、虽然支持中文标识符,但是不要去使用。二、字符串的表示1、数据两边都带有:'数据' 、"数据"、"""数据"""、'''数据''

2021-09-29 16:32:04 967 6

原创 支付如何测试

一、支付的金额上1、金额最小值:如0.012、无实际意义的金额:如0元订单3、支付金额错误:格式错误、数字错误(支付金额为负数)4、超大金额:设置的最高金额上限(如微信单个红包最大值200等)5、余额小于实际支付的金额6、银行卡或其他设置当日消费金额或者是单笔消费金额超限二、支付接口上关于支付会涉及到很多第三方接口的相关事件。比如:支付宝、微信、网银系统、手机银行、pos机等终端服务,甚至是扫码枪等硬件设备也是有关系的。三、支付操作上1、指纹支付2、免密支付3

2021-09-17 13:56:55 1158 1

空空如也

空空如也

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

TA关注的人

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