自定义博客皮肤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)
  • 收藏
  • 关注

原创 python使用百度OCR接口识别图片文字

调用百度的OCR接口进行识别一、百度AI开放平台地址,进入创建 通用文字识别 应用(前提要先注册百度智能云账号)https://ai.baidu.com/tech/ocr?track=cp:ainsem|pf:pc|pp:chanpin-wenzishibie|pu:wenzishibie-API|ci:|kw:10002768二、安装 baidu-aippip install baidu-aip -i http://pypi.douban.com/simple/ --trusted-hos

2021-03-31 18:08:51 1883 2

原创 重复执行用例插件--pytest-repeat

1、使用pip 安装pytest-repeat安装命令:pip3 install pytest-repeat -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com2 使用@pytest.mark.repeat(count)装饰器,标记要重复执行的用例,代码如下:import pytestclass TestCount(): @pytest.mark.repeat(5) def test_count_01

2021-03-30 09:59:03 415

Postman接口数据关联处理

一、从接口的响应结果中提取需要的数据二、设置成环境变量/全局变量三、写入到下一个接口的请求数据中

2021-03-21 22:49:19 405

原创 安装uc-devtools工具报错Error writing to file:D:\d3dcompiler_47.dll. Verify that you have access to that

安装uc-devtools工具报错如图:然后把360有关的杀毒防护软件都关闭了,再次尝试安装就成功了

2021-03-07 17:55:32 1007 3

原创 苹果手机安装fiddler证书抓包https流程

第一步:确认自己安装证书过程没问题,到 通用 – 描述文件 –第二步;到 设置 –> 通用 –> 关于本机 –> 证书信息设置; 在针对根证书启用完全信任栏目下开启自己的证书信任;因为iOS 10.3升级之后,安装的证书默认是不启用的,需要手动去开启。...

2021-03-05 10:56:05 3640 1

原创 解决adb devices识别不到夜神模拟器问题

一、输入命令检测不到,确认夜神模拟器是否开启了调试模式二、如果夜神模拟器已经打开调试模式了,但使用adb devices还是找不到设备,可以输入adb connect 127.0.0.1:62001连接上夜神模拟器(62001为夜神模拟器的端口号)。但此方法只适用当前会话,想要从根本上解决见下面方法。三、将SDK\platform-tools下的adb.exe文件,替换夜神模拟器bin目录下的adb.exe。将SDK\platform-tools下的adb.exe,复制出来重命名为nox_adb

2021-03-05 00:34:30 5803 2

原创 谷歌浏览器元素定位神器 -- chropath插件

web自动化中手写定位表达式耗费时间较长,如果使用chropath插件来协助的话就事半功倍了插件下载链接 :https://pan.baidu.com/s/1mdFBSza_evWxMJncISn3ew提取码:adv51、在Chrome浏览器地址栏中输入:chrome://extensions/2、页面右上角的开发者模式打开3、将下载的插件拖入到页面当中,出现如图扩展程序就OK了就可以愉快地操作定位了...

2021-02-28 00:15:20 6469

原创 pytest中allure报告用例标题显示优化

如下,正常情况,生成的allure报告用例标题中,显示的是函数名称,不太直观,那么如何定制显示自己设定的中文用例标题呢?看下面import allureimport pytestclass TestTitle: def test_title01(self): pass def test_title02(self): pass1、让allure报告里的用例名称显示自己设定的中文标题import allureimport pytestc

2021-02-26 00:05:58 3257 5

原创 selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary解决方法

如果做web自动化时,调用谷歌浏览器失败,可以用以下代码去处理from selenium import webdriveroption = webdriver.ChromeOptions()option.binary_location = 'C:\Program Files\Google\Chrome\Application\chrome.exe'driver = webdriver.Chrome(chrome_options=option)driver.get('https://www.bai

2021-01-22 22:37:08 626

原创 jdk环境变量配置

1 下载jdk 地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html2 下载好后安装,记住安装路径3 配置环境变量3.1、新建java_home (C:\Program Files\Java\jdk1.8.0_60)为安装jdk的路径:3.2、新建CLASSPATH,注意路径前面的点(这个可直接复制使用):.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib

2021-01-19 11:01:03 190 4

原创 python随机生成中文字符串,邮箱,可传参控制长度

import randomdef generator_name(num): """ 生成中文字符,长度随传入参数控制 :param num: 控制生成的字符长度,int类型 :return: """ name = "" for _ in range(num): head = random.randint(0xb0, 0xf7) body = random.randint(0xa1, 0xfe) val

2021-01-14 11:25:51 781

原创 python(七) 正则表达式

正则表达式,主要用来字符串查找,提取正则表达式手册:https://tool.oschina.net/uploads/apidocs/jquery/regexp.html"""------------------------单字符(元字符):表示单个字符----------------------------------"""import res1 = '1212 asasa》—_?+&%布偶'#\d:表示一个数字,匹配一个数字字符。等价于[0-9]。res1 = re.findall

2020-12-29 23:24:52 188

原创 python生成文件报错的解决办法之一 OSError: [Errno 22] Invalid argument

很简单,如果文件名包含这些符号去掉就OK了,Windows不支持文件名包含这些字符如果在python的OS路径拼接中的文件包含了这些符号,就会报错:OSError: [Errno 22] Invalid argument

2020-12-20 12:28:28 2733 2

原创 python(四)jsonpath的使用

"""jsonpath方法需要两个参数参数1:数据参数2:jsonpath表达式注意点: 1、如果没有匹配到数据返回的是False 2、匹配到数据返回的是包含数据的列表jsonpath表达式语法$ ----> 根节点. ----> 选择直接子节点.. ----> 选择子孙节点(不考虑层级)[] ----

2020-12-17 23:28:54 3069 1

原创 python自动化测试之---OS模块方法运用

导入os模块,里面有许多方法让我们通过代码实现创建,删除,更改目录一、1,获取当前文件的绝对路径:os.path.abspath获取当前文件所在目录:os.path.dirnameimport os# 第一步 获取当前文件的绝对路径res = os.path.abspath("cyy.py")print("res ", res)res1 = os.path.abspath(".") # 括号内还可以填"."print("res1", res1)# 第二步 获取当前文件所在目录

2020-12-12 15:32:15 608

原创 python自动化测试笔记-------json数据

编写json文件如下:""" 一、json数据和python对应的数据类型差异点python中数据为空:None ---->json数据空表示 nullpython的布尔值 True --->json中的 truepython的布尔值 False ---->json中的 false1、python中的字典 ---> json之中叫做对象2、python中的列表 ---> json之中叫做数组注意点:json数据中的

2020-12-11 00:43:30 314

原创 python自动化笔记(十二)——日志模块logging使用

一、日志级别、输出渠道、内容1、日志级别(LeveL): DEBUG INFO WARNING ERROR CRITICAL(FATAL)(从左到右,级别由低到高;CRITICAL(FATAL)级别最高;DEBUG最低,内容最详细一般用于调试)(如果日志级别是DEBUG,那么所有级别的日志都可以打印,如果日志级别是INFO,那么DEBUG这个级别无法打印,以此类推,一般设置是INFO级别)2、输出渠道(Handle): 控制台(StreamHandle)、文件(FileHandle)3、日

2020-12-09 22:57:34 548

原创 python自动化笔记(十三)——日志模块logging二次封装

废话不多说,日志模块logging二次封装如下:import loggingclass MyLogging(logging.Logger): def __init__(self,name,level = logging.INFO,file = None): """ :param name: 日志名字 :param level: 级别 :param file: 日志文件名称 """ # 继承logg

2020-12-09 22:57:14 3032

原创 python自动化笔记(十四)——配置文件的解析和应用.ini,yaml

两种类型的配置文件,.ini,yaml一、ini配置文件1、创建一个.ini的配置文件,格式如下,可配置多个区域"""不用空格,不用双引号[section] #区域option=valueoption=value[section]option=valueoption=value"""创建文件如下:2、读取ini文件的数据"""2.1 引入ConfigParse类""" from configparser import ConfigParser"""2.2实例化Co

2020-12-09 22:52:46 385

原创 python自动化笔记(十)——openpyxl模块,操作excel管理测试数据

这里介绍第三方库openpyxl来操作excel管理测试数据(注意:此模块只支持xlsx读写操作,旧版的xls不支持)安装第三方库 pip install openpyxl平常操作excel的流程(3个对象):工作簿(Workbook)表单(sheet)单元格(cell)一、加载excel数据文件import os file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"login_cases.xlsx"

2020-12-05 15:18:30 364

原创 python自动化笔记(十一)——openpyxl之封装

把python从excel读取测试数据的过程封装成一个类,当我们多次从excel中读取数据时,就不用重复地写代码,只需调用封装的类即可。一、封装的excel类实现的需求是什么?1、读取表头数据2、读取表头以外的所有数据。–返回值:列表,成员是每一行数据3、因为每个方法都需要用到表单对象,从外部加载excel数据;所以要做初始化工作,加载一个excel,选中一个表单。注意: 从excel里读取出来的数据只有两种类型,字符串和数字,后期可根据需要去进行处理from openpyxl import l

2020-12-05 15:12:05 869 1

原创 python自动化笔记(九)——unittest框架四大核心概念学习

自动化测试:代码实现用例、代码执行用例、代码判断结果、代码生成测试报告自动化用例的实现需要用到单元测试框架unittest,在测试类当中,以test_开头,定义测试函数每一个test_开头的函数,就是一个测试用例用例编写步骤:1 导入unittest模块2 创建一个测试类,并继承unittest.TestCase、3 定义测试函数,函数名以test_开头(表示一个测试用例)4 在测试用例中:4.1 测试数据、期望结果4.2 用例步骤4.3 断言:预期结果与实际结果的对比下面用一个例子

2020-12-02 02:14:53 1390 2

原创 python自动化笔记(八)——动态属性设置

一、动态属性设置:setattr( 参数1, 参数2, 参数3)参数1:对象(类)参数2:属性名参数3:属性值setattr()的作用:动态给对象/类添加属性,如果属性存在则修改属性的值;如果不存在,添加属性下面看个例子:class Student: # 定义一个学生类 id = "学生"# 把一个字典的键值对遍历出来,把字典中的键值对设置为类的属性和属性值data = {"name": "小明", "age": 20, "sex": "男"}for k, v in data

2020-11-29 00:16:06 458 2

原创 python自动化测试之一一列表推导式

python的列表推导式,可以根据需求来快速生成一个列表(此为个人学习笔记,如有不对之处还望指正)如有一个这样的需求,生成这样一个列表[“page0”,‘page1’,‘page2’,…‘page20’]1.1,常规的for循环语法1.2,使用列表推导式实现的方法2, 接下来再用列表推导式实现另外一个需求:将元组中的每个数据+1,转换为列表tu = (11, 22, 33, 44, 55, 66, 77)3 在列表推导式中加入条件判断需求:请输出0到11之前的偶数4 总的来说,列表

2020-11-28 17:17:15 213

原创 python自动化笔记(七)——继承

类和对象:继承概念:它可以使用现有类的所有功能,并在无需重新编写原来的类(父类)的情况下对这些功能进行扩展。应用场景:一般有多个类都想要调同样的方法,就会把这些方法封装在一个父类,多个子类就可可以去调用。一、继承语法:class 子类(父类)class Base: #定义一个父类 def __init__(self):#父类初始化函数 print("初始化Base类") def eat(self): #父类方法 print("吃

2020-11-28 17:14:43 249

原创 python自动化笔记(六) ——类和对象

类和函数对象概念类:同一类的事物,是个抽象的概念(属性、方法)对象:符合类描述的具体存在的例如把电脑当做是一个类,然后你现在所使用的具体存在的电脑就是对象。为什么要封装类?举个例子,ATM机是一个类,有取钱、存钱,转账等功能; 一个工商银行的ATM机就是一个对象,如果只有存钱功能,没有转账功能,需要到别的机器才能转账就很麻烦,所以封装类就是让功能一体化,方便使用。一、定义类语法:class 类名:#类名都用大驼峰命名方式 属性 def(self): 例如定义个猫类,一

2020-11-27 00:30:29 241

原创 python自动化笔记(五)——异常处理

代码执行过程中出现报错一般怎么处理:1、先翻译报错2、找到自己写的代码当中的,第几行出错了另外,我们可以捕获异常,抓到这个异常,可以加上我们自己额外的代码处理,再抛出异常一般哪些方面要捕获异常:与第三资源交互的时候,一定要处理异常,因为涉及到资源释放的问题,需要做清理工作,例如http连接/数据库连接/excel操作。一、捕捉异常的语法(切记,try和except是成双成对出现的,其他的可以不要)try: 可能报错的代码except:(try里的代码出错,则进入except)

2020-11-26 00:50:35 524

原创 python自动化笔记(四)—— 模块/包导入

一、什么是模块?一个以.py结尾的文件就是一个python模块二、什么是包?一个包含__init__.py的文件夹,为一个python包三、模块和包导入1 内置库/包 ,可直接import 导入使用2 第三方库/包,先pip安装再使用3 自定义的模块/包:3.1 同级目录:import 模块名import test3print(test3.name)print(test3.add(1,2))输出如下:小布偶33.2 from 包名.包名~~~ import 模块名,不管两

2020-11-22 02:29:52 548 2

原创 python自动化笔记(三)——文件的基本操作

打开文件使用内置函数open一、读取文件有三种模式:1 read() 读取文件的所有数据,默认从头开始,读取出来为字符串。,且打开之后只能读取一次。2 readline() 读取一行数据。3 readlines() 按行读取所有数据,结果为列表,一行为一个成员。示例,read() 读取,如同目录下有文件test.txt,读取文件的内容:读取文件的流程如下,有三个步骤:# 1、打开文件,返回文件的句柄,其中file和mode可写可不写# 2、填写encoding='utf-8'是因为要识别

2020-11-22 00:44:41 209

原创 python自动化笔记(二)——函数的作用域、内置函数

函数的作用域一、局部变量和全局变量1, 全局变量:函数外部定义的变量,直接定义在python文件(模块)全局变量整个文件内容任何地方都可以使用2, 局部变量:在函数内部定义的变量叫做局部变量,仅限于改函数内部使用name = "小布偶" #全局变量,任何地方都可以使用def add(a, b): d = 1 # d是局部变量,只可以函数内部使用 c = a + b + d # 函数内部使用局部变量d print("调用",

2020-11-20 22:32:08 278

原创 python自动化笔记(一)——函数的定义,调用,以及参数分类使用

函数:用来封装独立的功能代码,通过封装可以提高代码的重用率,提高开发效率(函数可以理解为就是功能)一、定义函数1 关键字 def2 def 函数名称()需缩进的函数体 (写到函数里面的功能代码)3 函数名的命名规则:(和变量的命名规则一样)函数名推荐下划线命名法,尽量做到见名知意举例如下:def get_money(): print("取了一块钱") print("我笑醒了")二、调用函数函数在定义之后不会自动执行,需要调用;语法:函数名()调用 函数名称()d

2020-11-19 01:08:56 613

空空如也

空空如也

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

TA关注的人

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