自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 python生成图文并茂的pdf--财务报表(七)表格和图表怎么并列

在我快速学习快速开发python生成FOF报表的时候,遇到的一个最大的难题就是这个,最终在凌晨醒来突然灵光一现相出了个办法。先看一下这个的显示样式。表格与表格并列上篇文章已经讲过了。图表和图表并列显示只要将他们add到drawing上也可以自适应的并列显示。那么图表和表格呢。试了很多方法,都不行。最后想到了一个办法。其实将表格和图表都当成一个大表格的data,问题不就解决了嘛!甚至上面的俩个小标题,没有比将四个元素都当成表格里的单元格元素而更加方便简单的了。这样标题跟下面的内容对齐各种问题也

2022-04-26 11:49:19 561

原创 python生成图文并茂的pdf--财务报表(六)怎么生成并列表格

先了解表格怎么生成,这里插入介绍一下,下面示例代码:data= [['00', '01', '02', '03', '04'], ['10', '11', '12', '13', '14'], ['20', '21', '22', '23', '24'], ['30', '31', '32', '33', '34']] stylelist= [('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#3094E9')), ...

2022-04-26 11:03:18 727

原创 python生成图文并茂的pdf--财务报表(五)如何生成并列的图表

提到图表就需要提到reportlab这个库里的子库ReportLab Graphics里有很多生成图表的函数。还得要介绍一下Drawing,“Drawing是一个独立于平台的形状集合的描述。。一个 Drawing 对象也是一个Flowable”。本文中介绍文章一中横向的柱状图。涉及的函数引用如下。from reportlab.graphics.shapes import Drawingfrom reportlab.graphics.charts.linecharts import Horizontal

2022-04-26 10:36:02 1081

原创 python生成图文并茂的pdf--财务报表(四)封面(首页和正页定义)

财务报表有封面,封面跟下面正文的布局肯定是不一样的。比如之前定义的页眉页脚是会出现在所有页面上的,这时候就需要定义第一页要要跟其他页不同的特征。一先定义文档:doc = SimpleDocTemplate(“文档名称”)二定义frame,因为首页和正文的frame不一样所以定义俩个,参数我就不一一讲了,看到应该就能了解也可以通过调试去看效果自己去悟:frame = Frame(doc.leftMargin, doc.bottomMargin, doc.width, doc.height -1

2022-04-26 10:02:54 860

原创 python生成图文并茂的pdf--财务报表(三)--页眉页脚

怎么设置页眉页脚

2022-04-25 21:29:40 1154

原创 python生成图文并茂的pdf--财务报表(三)--页面布局和排版

p​​​​​​文章一中的示例pdf可以看出,我们再生成pdf文档的时候少不了会有页眉页脚的设置。在了解页眉页脚怎么弄之前我们先了解一下canvaspdf文档首先就得有页面,是页面肯定得有布局和排版。这样就需要了解Platypus-"Page Layout and Typography Using Scripts"的缩写。它是一个高水平的页面布局库。Platypus的整体设计可以认为有几个层次,自上而下,这些是: • DocTemplates作为文档的最外层容器。• PageTemplates

2022-04-25 20:51:48 1032

原创 python生成图文并茂pdf-财务报表(二)中文字体乱码问题解决

上文简单介绍了reportlab库,准备基于开发生成的FOF报表进行讲解我开发过程中遇到的一些问题。因为财务报表内容都是中文,所以在调试开发中第一个遇到的问题就是乱码。那么怎么解决这个问题呢。就是需要下载相关需要的ttf文件,然后代码里进行注册引用就可了。比如上文中的财务报表涉及到的字体有下面这些。Simhei,PingFangSCSemibold,PingFangSCMedium,PingFangSCRegular。首先要下载,ttf文件然后放在对应的路径下/ python3.8/site.

2022-04-25 17:27:12 851

原创 python生成图文并茂的pdf--财务报表(一)--reportlab库简介解决安装出错问题

python生成图文并茂的pdf--以金融机构FOF财务报表为例。

2022-04-25 16:55:39 2669 2

原创 在做自动化测试时遇到验证码时怎么解决?--图像文字识别Tesseract-OCR(1)

在做自动化测试时比如登录这个操作,很多时候需要验证码。在做接口自动化时,我们可以分析接口后台的逻辑,然后直接从数据库(通常redis)里获取验证码然后传给接口入参即可。但是如果是UI自动化我们怎么解决?这里提供一种方法,即图像OCR(Optical Character Recognition,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程)文字识别可用于识别验证码、识别截图中的文字等等。这里介绍Tesseract-OCR :1 tesseract下载地址:https://dig...

2021-02-10 11:19:51 564

原创 beatifulreport的测试报告样式优化(改动ddt底层代码)

初始的测试报告如下:样子不是很美观。另外如果想要描述下面有内容显示只需要加注释如'''描述blablabla‘’‘’如图:但是整个测试报告还是不太美观,同时在写测试脚本时不太好参数化的读取用例描述。于是需要将DDT底层改动一下。这样固定取入参的最后一个做为case描述:...

2020-11-10 14:53:20 274

原创 django数据库建表的时候,migrate时总是报No migrations to apply.(日常问题解决方案)

1做了些不当操作,直接在数据库里将一些表给删除了,想要重新建表步骤1:python manage.py makemigrations步骤2:pythonmanage.py migrate然后就报下面的错。. 方案:1删除migrations文件夹下的文件 2 删除数据库django_migrations下,app栏...

2020-04-21 18:43:18 1223 2

原创 怎么使用Fiddler进行前端抓包

一.对电脑参数进行配置 1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的) 打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS, 勾选CaptureHTTPS CONNECTs,点击Actions, 勾选Decrypt HTTPStra...

2020-03-24 18:14:07 1224

原创 怎么样使用Fiddler篡改前端返回数据

本篇详细介绍怎么使用Fiddler篡改前端的返回数据。(本方法可以灵活使用在前端测试的情况下,比如需要一些特殊的数据返回来查看前端逻辑)1连上Fiddler,设置好后可以进行抓包,具体操作看怎么使用Fiddler抓包篇。2手机操作app找到自己想要串改的接口。3点击AutoReponder,选中上面的接口,点击AddRule,目标接口显示再右下方的框里4勾选上Enable ...

2020-03-24 18:01:13 859

原创 自动化测试平台(Django)(四)--Template介绍之继承extends和包含include

Django是MTV架构,T代表Template,前端展示页面,在前文中也详细讲过(Django介绍)。在写Template的时候,通常很多页面有共用的部分,比如我们这个自动化平台的导航部分。这时就不需要用到一个一个页面重复写这个公用的部分,比较烦同时也不利于维护。这时候就需有个母版的概念,母版里面写公用的地方,然后每个页面去继承这个母版。比如自动化平台里的索引部分,当然也可以做多次继承。...

2019-10-17 16:14:55 388

原创 自动化测试平台(Django)(三)--自动化测试模块介绍

自动化测试模块部门按不同的组别不同的模块归类接口测试用例,通过一键促发对对应的模块进行回归测试,并发送报告。需要说的是自动化测试平台的后端也直接集成了前面向大家介绍的接口自动化框架,目前前端做出来的思路如下:1)通过点击一键自动化回归测试,触发对应模块的自动化脚本,跳出模态框提醒正在回归请耐心等待2)回归结束后,模态框就更新测试报告内容,如果大家看了前面给大家介绍的接口自动化框架就应该...

2019-09-23 18:03:46 712

原创 自动化测试平台(Django)(二)--测试工具模块介绍

在设计自动化平台时,首先构想一下需要做哪些功能。平时工作中业务线的测试就有工具的需求以提高测试效率,会经常做批量的接口自动化回归测试,会发送测试结果的报告,当然也会在测试时有很多失败的用例。所以博主就暂时将自动化的平台设计加入了测试工具,自动化测试,自动化测试历史结果,自动化测试Issue等几个模块。当然平台可以集成更多的功能,如果有足够的人力以及相当的技术可以做的更专业,开辟更多的功能块,博主做...

2019-09-20 16:17:00 333

原创 自动化测试平台(Django)(一)--框架简介

在我们做接口自动化测试时,在之前的文章自动化+jenkins中详细讲过怎么样通过持续集成来自动促发接口自动化回归测试并发送报告。事先设置好,定时去促发。而目前博主写的自动化脚本涉及erp,平台组,商城组等一些自动化脚本以及一些特定的联系多端的测试场景,有时候项目经理,手工测试甚至开发的一些小变动需要做一些回归,这时候最后就是给一个可视的界面给他们自己去促发。当然还有给不同业务线写的一些工具,全部集...

2019-09-09 19:46:06 1094

原创 自动化微服务,作为http接口请求转dubbo请求中转站

上文提到dubbo接口自动化测试具体怎么实现,但是又面临一个问题就是公司里的这些接口不对外只对内,所以在写脚本的时候没有办法请求成功,除非自动化脚本放在对应的服务里。同时http请求用的熟练一点,所以目前用了一个请求方案,做一个桥梁,自动化这边的微服务,测试脚本这边发出http请求,微服务这边转成dubbo请求这样就解决了dubbo接口不能对外的问题。通过...

2019-09-09 19:27:08 1585

原创 使用python对dubbo接口请求

python中的requests库是对http接口做请求的库,而python中没有对dubbo接口做请求的库,博主在工作的时候,遇到有些项目组里的接口是dubbo接口,需要对这些接口写测试脚本。这里提供一种解决方法,使用Telnet的方法。python中有个telnetlib的库,写一个dubbo接口请求的类继承telnetlib.Telnet,实现如下:...

2019-08-28 15:56:04 1165

原创 自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(六)-干货

在发送测试报告时,可能会抄送给很多人,当中一些人可能不一定需要知道具体的测试报告,希望一目了然测试结果,这时候需要邮件里面体现,目前博主是做成如下:需要自己写一个html文件:而中间的结果需要从接口测试的详细的html报告中爬出需要的数据,这就需要用到爬虫,python中的bs4库里的BeautifulSoup,针对之前生成的俩种报告,写对应的工具,爬出报告里面的结果,再替换到这个...

2019-08-28 14:37:15 206

原创 自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(五)-干货

beatifulreport的使用和htmltestrunner类似,将之前的工具稍微修改一下即可,重新写了一个工具类,里面有俩个方法,一个产生的是htmltestrunner的测试报告,一个是beatifulreport的测试报告,入参上文已经解释都是一样的,具体代码实现如下。在批量跑测试脚本的组件里面,将调用reportOut换成beauReport即可,依然是生成html样式测试报告...

2019-08-28 10:59:12 423

原创 自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(四)-干货

在做自动化测试的时候,跑完后需要发送测试报告。用的比较多的就是HtmlTestRunner的开源工具。一开始我也是使用的这个,目前发现其实beatifulreport的测试报告会更清晰好看一点,本文中都会介绍到。首先介绍HtmlTestRunner,直接官网下载这个文件,也有很多对它做了一些优化的文件,可以下载下来使用,放在common文件夹下面。然后自己对这个做二次开发,写一个自己使用这个报...

2019-08-28 10:27:20 553

原创 自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(三)-干货

在写测试脚本时,会有很多种场景,接口的自动化测试用例对应不同的参数,这样就需要用到ddt,这样可以达到代码复用,数据抽离的作用。而测试数据,可以存放在db也可以存放在excel里。我这里是存放在excel里,主要是因为需要可以集中将excel这个直接用来做用例记录放在Jira或者confluence和手工测试用例一起统一放一处管理。这时候就需要封装自己的excel相关的读取函数,制定一个书写规...

2019-08-15 17:50:13 248

原创 用appium移动端自动化时,怎么查询一些重要的参数如包括deviceName,appPackage,appActivity等

举例小米手机desired_caps = {}小米为安卓手机所以平台名称如下:1desired_caps['platformName'] = 'Android'2platformVersion:通过设置=》我的设备=》全部参数=》安卓版本:3desired_caps['platformVersion'] = '9'如图:4 appPackage和appActivit...

2019-08-15 16:07:13 772

原创 自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(二)

上文简单讲述了下我开发的接口自动化框架使用到的unittest单元测试框架,另一个比较重要的就是ddt框架。这是python的一个数据驱动框架,把传入的数据,参数抽离出来,同样的脚本可以跑不同的用例,使用它可以省去一堆冗余代码,也便于维护。先简单讲述一下ddt和unittest结合使用。在使用时我们先用import,从ddt库里import所需要用到的函数和装饰器。举几个简单的例子。fro...

2019-08-13 17:05:08 228

原创 自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(一)

很久没更了,人是有惰性的,不找理由。上文中提到我设计的自动化测试框架,这篇文章就详细讲讲我的框架中使用到的python自带的单元测试框架和数据驱动框架。在testcase模块中,主要是按模块放不同的系统的接口测试脚本。在写接口测试脚本的时候,需要使用到python自带的单元测试框架unittest,它可组织执行测试用例,提供丰富的断言方法,且和开源的报告组件合用可生产自动化测试报告,测试报告在下面...

2019-08-13 14:49:15 706

原创 jmeter使用实践-参数化设置2

 测试需求:100个用户,5秒请求一次,持续一分钟,看返回是否正常。 测试工具:Jmeter测试步骤:1 准备100个线上用户的GUID,存入csv文件中2 设置线程组  Number of Threads (users):100Loop count ; 123 加入http请求设置如图:4 加入Constant Timer 组件,设置为5000...

2018-09-14 17:48:17 203

原创 设置Credentials ,配置gitlab+jenkins公私钥

1 生成ssh:cmd中输入 ssh-keygen,生成id_rsa.pub公钥,id_rsa 私钥2 登入gitlab对应项目,设置=》版本库,填入标题,复制公钥,勾选推送,点击增加密钥,最后会显示在当前项目启用的部署密钥 下面。3 Jenkins中配置访问账号(Global credentials)到Credentials → System → Global credentia...

2018-08-17 17:31:20 14708

原创 copy.deepcopy() ,copy.copy()和“=”的区别

平时写脚本碰到的一个小问题。错误场景是这样的,我想要给接口参数里面的一个字段比如请求体是{ XXX:XXX         XXX:XXXX         "SysNum": [ {'ID':123} ],{'ID':456},{'ID':789 }]}我需要取文件里的值,用for循环一个个给到SysNum。比方取得的是numsget = [123,456,789]...

2018-08-10 18:10:32 846

原创 jenkins+自动化

上面给了个任务,希望自动化case定时的触发并发送报告给全组人。之前没有玩过jenkins,这俩天快速学习研究了下,踩了一些坑,但是也算是顺利完成了。废话不多说,详细看下文。1 搭建jenkins (linux搭建方法)我是搭建在了自己的工作电脑上,主要公司的服务器时不时的被清,暂时搭在本机上,以后将可用的机器做成slave。2 配置邮箱(需要下载Email Extension Plu...

2018-08-02 17:40:41 423

原创 linux系统上安装jenkins步骤

已经踩过了坑,以下步骤是避坑步骤。1下载jdk ,下载地址2 安装jdk及配置, 直接输入命令:yum install java-1.8.0-openjdk (注意下载的版本)3查看java版本确认是否安装成功,输入命令: java -version ,正确如下4下载并安装jenkins:sudo wget -O /etc/yum.repos.d/jenkins...

2018-07-26 18:36:05 178

原创 接口自动化框架设计

花了一个月的时间,一个人,从无到有,从设计框架到,写框架写case,看着gitlab上提交的代码越来越多,有那么点小小的成就感。分享下我的框架设计图,后续慢慢更新讲解一些公用方法。  ...

2018-07-20 18:35:17 958

原创 jmeter使用实践-参数化设置

简单讲一下一种简单的参数化设置 接口并发请求。   0组件设置:     1设置:a 线程组设置如下                            b 接口请求设置如下:Amount和bizNo字段需要参数话设置,用${}形式                                                     c 接口参数...

2018-07-20 18:18:18 125

空空如也

空空如也

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

TA关注的人

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