
python
川云华
健身学技术
展开
-
Python RSA加密算法,基于前端加密代码
最近在弄一个系统的登录,登录前端代码如下:decryptSecret(modulus, publicExponent, word) {const rsa = new JSEncrypt().getKey()rsa.setPublic(modulus, publicExponent)const result = rsa.encrypt(word)retur...原创 2021-09-27 19:53:16 · 649 阅读 · 0 评论 -
Python接口自动化如何实现图片验证码
在做接口测试时,登录接口需要图片验证码才能实现登录,在网上百度了三种方案,第一种是使用Python pytesseract库,我用的是4.0.0版本,下载地址自行查找,但是使用后识别率不是特别高,所以还是放弃了 第二种是使用fiddler抓包工具,在fiddler工具抓包后,保存到本地,然后将token读取出来,需要操作用户登录 在此使用了第三种方法,使用百度的OCR识别,废话不多说,直接上代码:import base64impo...原创 2021-08-18 19:31:52 · 2707 阅读 · 0 评论 -
django中url路径传参404问题
url中路径传参,一直报匹配不上错误信息错误信息如下所示:"GET /index1/9/ HTTP/1.1" 404 2647Using the URLconf defined inMyblog.urls, Django tried these URL patterns, in this order:admin/ login/ index1/(\d+)/$The current path,index1/9, didn’t match any of these.url地址和v..原创 2021-08-12 23:02:55 · 2437 阅读 · 0 评论 -
插入排序算法
思路:插入排序算法是选择一个基准数据,对其进行排序,增加元素,插入到已经排列好的序列中def insertSort(lis): # 对列表进行循环 for i in range(1,len(lis)): # 如果前面一个元素大于基准元素,要进行重新排序 if lis[i]<lis[i-1]: # 替换基准元素 tmp = lis[i] # 对内部元素重新排序原创 2021-07-04 10:50:31 · 98 阅读 · 0 评论 -
Python实现冒泡排序与快速排序
列表[3, 5, 8, 1, 2, 10, 6],使用不同的算法对列表进行生序排序,结果如下:[1, 2, 3, 5, 6, 8, 10]冒泡排序思路:每次比较两个相连的元素,若符合此规则,则交换位置,若不符合规则,则不动,多次循环之后完成做两层循环,内层循环找出最大的值代码如下:...原创 2021-06-06 17:12:02 · 373 阅读 · 0 评论 -
tkinker库将testlink导出的xml用例转换为excel
需求: 因为公司使用的是testlink,将用例从库中导出时,是excel格式,所以大家有需求将xml格式用例转换成excel格式实现思路: 1.解析xml格式,将testcase、steps、step,用例步骤、预计结果提取出来 2. 将文件写入到excel中 3.通过tkinter库,获取文件路径与名称 4.使用pyinstaller打包成exe文件,用户可以直接使用实现代码# coding:utf-8import xml.dom.minido...原创 2021-05-17 14:34:19 · 927 阅读 · 1 评论 -
airtest聚合报告2.0优化版本
问题:前一个博客中写了https://blog.youkuaiyun.com/zhichuan0307/article/details/116461607,博客中是将报告聚合到了一起,但是在用例执行中,发现有问题,聚合报告中有record_ui,查询一直都没查到原因,看报告中也没有record_ui字段显示这个会有时间损耗,导致效率下降,UI自动化本身存在时间问题,如果加上这个损耗时间,全量跑的话,时间会更长,所以进行了优化 解决思路:之前使用的方式是jingja2,将模板聚合到一起...原创 2021-05-14 15:12:48 · 700 阅读 · 0 评论 -
RobotFramework解决python3安装 robotframework-excellibrary不兼容问题
RobotFramework中需要安装第三方库,但是在安装pip3 installrobotframework-excellibrary,会报错,这里具体错误信息就不贴图了本质原因是setup.py文件中有个函数python3不支持了,这个库对python3没有维护execfile(join(dirname(__file__), 'ExcelLibrary', 'version.py'))所以我们需要线下安装,首先离线下载https://pypi.org/project/robotf..原创 2021-05-10 18:34:58 · 881 阅读 · 0 评论 -
airtest测试用例报告聚合方便查看每个用例以及跳转至具体用例
使用airtest的人都知道,测试用例全部运行结束之后,airtest没有将用例进行聚合,查看单个用例结果非常不方便,需要将报告聚合起来查看,我的本地环境文件夹目录如下:在当前文件夹下新建summary_template.html文件(生成html聚合报告的模板),与自己跑的myrunner.py文件,myrunner文件代码如下:from airtest.cli.runner import AirtestCase, run_scriptfrom argparse import *im原创 2021-05-06 20:05:42 · 1562 阅读 · 9 评论 -
django.db.utils.IntegrityError: The row in table ‘XXX‘ with primary key ‘1‘ has an invalid foreign k
django中创建新的数据库信息时,报如下错误:意思是在某个外键中,没有找到指向的数据解决方法:在相关的外键中追加相关的数据这个时候迁移数据不会报错了原创 2021-05-04 16:26:46 · 920 阅读 · 0 评论 -
django路由寻址创建的app
在django中,自己创建了一个app应用,需要路由寻址,一直记不住,在此记录下使用命令 python manage.py startapp app01创建一个新的app01,创建成功后,直接路由跳转至创建的新应用如上图所示,使用include方法,不需要导入任何文件...原创 2021-04-29 20:14:31 · 162 阅读 · 0 评论 -
bs4.FeatureNotFound: Couldn‘t find a tree builder with the features you requested: lxml. Do you need
问题: python3在使用BeautifulSoup进行html解析时,报错如下:大概的意思是没有安装lxml库文件。于是安装lxml库,下载安装包之后,python setup.py install 安装出现这个问题:一看到C++ 14就头皮发麻,你们电脑如果可以的话,可以直接安装此库解决问题。于是就用了第二种方法,将lxml改成了 html.parse,编译通过...原创 2021-04-26 15:07:51 · 184 阅读 · 0 评论 -
airtest自动化使用心得
我们团队做APP端UI自动化有一个多月了,选定的是airtest,选定原因是如下原因:1.app前端是weex实现,appnium定位元素不太好定位,airtest是基于poco和opencv图像识别原创 2021-04-24 12:07:17 · 3007 阅读 · 0 评论 -
Python requests请求中禁止重定向处理
问题:在做接口测试时,我们会遇到接口请求,有302中转跳转问题我们每次请求时,如果不做处理,接口会自动化跳转至302,从而拿不到自己想要的数据。解决方式:在 requests请求中加上allow_redirects=Falseresp = requests.get(url, verify=False, allow_redirects=False)其实allow_redirects默认是True,所以是默认跳转另外verify=True,是告诉后台接口不需要进行验证,不然有些原创 2021-03-24 13:45:37 · 4485 阅读 · 1 评论 -
RobotFramework日志打印级别设置
我们知道日志打印有TRACE、DEBUG、INFO几个级别,日志打印越详细,排查错误时,也是越详细在RobotFramework中可以设置日志打印级别,--logLevel DBUG 则RF框架会打印debug级别日志具体配置如下: 在ride设置中:设置完成之后,对用例进行执行即可打印debug级别日志很懂时候我们是使用Pycharm运行用例,配置信息如下:--LogLevel TRACE -d D:\results -t "$SelectedText$" ./...原创 2021-03-10 16:10:18 · 2388 阅读 · 0 评论 -
django中django.core.exceptions.ImproperlyConfigured: The included URLconf ‘<module ‘app1.views‘ from
问题:在调试 django,建立一个新的应用时,一直报错,错误信息如下:看错误提示信息是:views.py文件中未原创 2021-03-06 12:07:36 · 2800 阅读 · 2 评论 -
airtest安卓端安装卸载软件
最近团队在使用airtest软件,需要完成app软件安装卸载功能,查看了airtest源码,有install(apk安装包路径)与卸载方法uninstall_app(方法,可以查看下源码从源码中我们看到install方法传入的是路径,uninstall方法是传入包名代码如下:# -*- encoding=utf8 -*-__author__ = "zhichuan0307"# 导入相关包from airtest.core.api import *from airtest.core.d原创 2021-02-25 19:02:39 · 1723 阅读 · 0 评论 -
requests请求中下载文件
问题:移动端自动化需要安装apk文件,需要从网站下载,过程中记录下,代码如下url = 'XXXXXXXXX'ret = requests.get(url, allow_redirects=False, verify=False)apkurl = ret.headers['Location']apk_res = requests.get(apkurl, stream=True, verify=False)with open('11.apk','wb') as f: for ch.原创 2021-02-23 09:24:38 · 425 阅读 · 0 评论 -
解决ImportError: Module use of python36.dll conflicts with this version of Python
问题:本地 python运行代码时,一直报错,错误信息如截图所示:大意是本地导入的库文件与python36有冲突因为本地python版本一直是2.7版本,打开cmd运行python,导入模块都是正常的,查看python的path路径也是正常的,怎么会有python36.dll文件呢?全局搜索文件,本地安装的airtest下有此文件,于是将airtest删除,即可正常运行python脚本...原创 2021-02-18 13:09:02 · 12747 阅读 · 3 评论 -
RobotFramework多进程跑接口用例与解决AttributeError: ‘RobotSettings‘ object has no attribute ‘extension‘
问题: 我们自动化项目用例有6000多条,有些用例是和外部进行交互,需要异步等待过程,导致用例执行时间过长,有些项目用例执行起来需要九个小时,时间太长了,于是就想到了用多线程去执行自动化接口,RF中执行自动化用例都是单进程的,一条用例执行结束开始另外一条用例解决方式: RF中多进程库是pabot 安装pabot库:pip install robotframework-pabot安装好了之后,cmd打开窗口运行pabot --help,出现参数信息即可,表示安装成功...原创 2021-02-02 15:49:21 · 822 阅读 · 1 评论 -
python 本地快速搭建服务器进行文件下载
本地安装好python环境,我本地环境是2.7版本,切换到相关的目录下,输入:python -m SimpleHTTPServer port说明:port端口就是别人访问你的端口,结果如图所示:本地简单的服务就搭建好了,文件可以进行下载,局域网的速度还是可以的...原创 2020-09-11 10:58:51 · 623 阅读 · 0 评论 -
解决django.core.exceptions.FieldError: Cannot resolve keyword ‘Classes‘ into field. Choices are:XX问题
python跨表查询正向查询时,一直报如下截图错误,看着其中是将变种所有的字段都列举出来了,只是尝试不正确,,我的表查询是如图所示:设计表结构如图所示:此处报错是因为没有用两处ForeignKey的字段去连接于是查询条件修改为:obj = models.Students.objects.values_list("theClass__name")print obj得到结果如图所示,这个和sql查询是一致的,需要inner join [tablename] on X.原创 2020-09-01 19:58:31 · 12015 阅读 · 1 评论 -
Django删除表重新建立
有时建表设计有缺陷,需要删除表,django中删除表步骤为:1.现在数据库中删除表结构:drop table [tablename];2.在启动项目的终端输入,将数据迁移到缓存中python manage.py makemigrations3.在启动项目的终端输入,直接废弃python manage.py migrate --fake查看数据库表结构已经删除...原创 2020-08-22 23:29:11 · 665 阅读 · 0 评论 -
基于tkinter的本地生成jacoco的HTML报告
本人博文中有生成jacoco的html报告,即在连接服务端生成本地exec文件后,本地生成html报告,但是生成报告时,需要一长串bat脚本,对于不熟悉的人不方便,bat脚本如下所示:java -jar D:\自动化开展\jacoco\lib\jacococli.jar report C:\Users\hongqiang.lu\Desktop\report\dcs.exec --classfiles C:\Users\hongqiang.lu\Desktop\dcs\WEB-INF\cl...原创 2020-08-13 19:59:36 · 1179 阅读 · 0 评论 -
Python模块导入类三种类型,跨文件夹,不跨文件夹总结
模块包导入分为三种类型:类型一: 导入的py文件在同一文件夹下,如图所示引用的时候可以直接引用即可from 【py文件名称】 import 【函数名】,导入全部的方法,则表示*即可类型二: py文件同导入的文件夹同一目录,如图所示: 如图所示,文件夹目录位置,导入格式为:from 【文件夹名称】.【py文件名称】 import *类型三: 导入的包在另外一个文件夹下,如图所示:需要将env.py文件包导入至core的res...原创 2020-08-10 16:53:07 · 6940 阅读 · 0 评论 -
python数据结构基础知识总结
python数据结构 字符串(不可变元素) 获取字符串每个元素 字符串的切片操作 字符串replace方法 字符串操作 str1+str2 len(s) 字符串长度 字符转义 字符串成员判断 in not in 字符串的占位符 %s s.format() %d 字符串内嵌函数 string.capitalize() string.cou原创 2020-08-05 14:35:42 · 252 阅读 · 0 评论 -
python调用SAPexe执行文件报-2147352567,‘发生意外‘错误信息
在调用自动化时,原创 2020-07-09 15:09:07 · 3607 阅读 · 1 评论 -
RobotFramework中实现接口上传文件
RF中完成接口用例时,接口需要上传文件,抓包如截图所示:之前都是将关键字写在py文件的类中,作为关键字导入的,如图所示:方法是可以实现,但是与其他接口不一致,于是就在RF中直接写,记住上传文件的时候,文件格式是:Content-Type: multipart/form-data; 一般接口是json/application,charset=utf-8格式,所以上传的header或者cookies中需要将content-Type:application/json删除,...原创 2020-06-24 15:55:13 · 4234 阅读 · 0 评论 -
python递归实现获取所有的字典键
之前看过一篇博客,对递归讲的比较好:递归的调用是:回溯:每次向深层次进行不断调用,称之为回溯 递推:回溯到某个层次,然后会停止,然后一层层的返回,这个过程称之为递推我们看到递归一个是调用,二是层级的返回,,递归是从大到小着层调用,最后以最小层结束,可以这么理解,比如阶乘的递归是是n*f(n-1),n是递减的,递归内存中最多调用1000次,不然内存会溢出根据这个思想,自己写了递归获取字典所有层级的键,大家可以体会下递归的思想# 测试字典dict1 = { "aa":"..原创 2020-06-12 19:05:11 · 2613 阅读 · 0 评论