![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 54
阿胶@苏州
努力,遇见更好的自己
展开
-
python生成图文并茂的pdf--财务报表(七)表格和图表怎么并列
在我快速学习快速开发python生成FOF报表的时候,遇到的一个最大的难题就是这个,最终在凌晨醒来突然灵光一现相出了个办法。先看一下这个的显示样式。表格与表格并列上篇文章已经讲过了。图表和图表并列显示只要将他们add到drawing上也可以自适应的并列显示。那么图表和表格呢。试了很多方法,都不行。最后想到了一个办法。其实将表格和图表都当成一个大表格的data,问题不就解决了嘛!甚至上面的俩个小标题,没有比将四个元素都当成表格里的单元格元素而更加方便简单的了。这样标题跟下面的内容对齐各种问题也原创 2022-04-26 11:49:19 · 588 阅读 · 0 评论 -
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 · 751 阅读 · 0 评论 -
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 · 1099 阅读 · 0 评论 -
python生成图文并茂的pdf--财务报表(三)--页眉页脚
怎么设置页眉页脚原创 2022-04-25 21:29:40 · 1186 阅读 · 0 评论 -
python生成图文并茂的pdf--财务报表(三)--页面布局和排版
p文章一中的示例pdf可以看出,我们再生成pdf文档的时候少不了会有页眉页脚的设置。在了解页眉页脚怎么弄之前我们先了解一下canvaspdf文档首先就得有页面,是页面肯定得有布局和排版。这样就需要了解Platypus-"Page Layout and Typography Using Scripts"的缩写。它是一个高水平的页面布局库。Platypus的整体设计可以认为有几个层次,自上而下,这些是: • DocTemplates作为文档的最外层容器。• PageTemplates原创 2022-04-25 20:51:48 · 1064 阅读 · 0 评论 -
python生成图文并茂pdf-财务报表(二)中文字体乱码问题解决
上文简单介绍了reportlab库,准备基于开发生成的FOF报表进行讲解我开发过程中遇到的一些问题。因为财务报表内容都是中文,所以在调试开发中第一个遇到的问题就是乱码。那么怎么解决这个问题呢。就是需要下载相关需要的ttf文件,然后代码里进行注册引用就可了。比如上文中的财务报表涉及到的字体有下面这些。Simhei,PingFangSCSemibold,PingFangSCMedium,PingFangSCRegular。首先要下载,ttf文件然后放在对应的路径下/ python3.8/site.原创 2022-04-25 17:27:12 · 881 阅读 · 0 评论 -
python生成图文并茂的pdf--财务报表(一)--reportlab库简介解决安装出错问题
python生成图文并茂的pdf--以金融机构FOF财务报表为例。原创 2022-04-25 16:55:39 · 2747 阅读 · 2 评论 -
在做自动化测试时遇到验证码时怎么解决?--图像文字识别Tesseract-OCR(1)
在做自动化测试时比如登录这个操作,很多时候需要验证码。在做接口自动化时,我们可以分析接口后台的逻辑,然后直接从数据库(通常redis)里获取验证码然后传给接口入参即可。但是如果是UI自动化我们怎么解决?这里提供一种方法,即图像OCR(Optical Character Recognition,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程)文字识别可用于识别验证码、识别截图中的文字等等。这里介绍Tesseract-OCR :1 tesseract下载地址:https://dig...原创 2021-02-10 11:19:51 · 586 阅读 · 0 评论 -
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 · 1273 阅读 · 2 评论 -
自动化测试平台(Django)(四)--Template介绍之继承extends和包含include
Django是MTV架构,T代表Template,前端展示页面,在前文中也详细讲过(Django介绍)。在写Template的时候,通常很多页面有共用的部分,比如我们这个自动化平台的导航部分。这时就不需要用到一个一个页面重复写这个公用的部分,比较烦同时也不利于维护。这时候就需有个母版的概念,母版里面写公用的地方,然后每个页面去继承这个母版。比如自动化平台里的索引部分,当然也可以做多次继承。...原创 2019-10-17 16:14:55 · 395 阅读 · 0 评论 -
自动化测试平台(Django)(三)--自动化测试模块介绍
自动化测试模块部门按不同的组别不同的模块归类接口测试用例,通过一键促发对对应的模块进行回归测试,并发送报告。需要说的是自动化测试平台的后端也直接集成了前面向大家介绍的接口自动化框架,目前前端做出来的思路如下:1)通过点击一键自动化回归测试,触发对应模块的自动化脚本,跳出模态框提醒正在回归请耐心等待2)回归结束后,模态框就更新测试报告内容,如果大家看了前面给大家介绍的接口自动化框架就应该...原创 2019-09-23 18:03:46 · 723 阅读 · 0 评论 -
自动化测试平台(Django)(二)--测试工具模块介绍
在设计自动化平台时,首先构想一下需要做哪些功能。平时工作中业务线的测试就有工具的需求以提高测试效率,会经常做批量的接口自动化回归测试,会发送测试结果的报告,当然也会在测试时有很多失败的用例。所以博主就暂时将自动化的平台设计加入了测试工具,自动化测试,自动化测试历史结果,自动化测试Issue等几个模块。当然平台可以集成更多的功能,如果有足够的人力以及相当的技术可以做的更专业,开辟更多的功能块,博主做...原创 2019-09-20 16:17:00 · 343 阅读 · 0 评论 -
自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(一)
很久没更了,人是有惰性的,不找理由。上文中提到我设计的自动化测试框架,这篇文章就详细讲讲我的框架中使用到的python自带的单元测试框架和数据驱动框架。在testcase模块中,主要是按模块放不同的系统的接口测试脚本。在写接口测试脚本的时候,需要使用到python自带的单元测试框架unittest,它可组织执行测试用例,提供丰富的断言方法,且和开源的报告组件合用可生产自动化测试报告,测试报告在下面...原创 2019-08-13 14:49:15 · 712 阅读 · 0 评论 -
自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(二)
上文简单讲述了下我开发的接口自动化框架使用到的unittest单元测试框架,另一个比较重要的就是ddt框架。这是python的一个数据驱动框架,把传入的数据,参数抽离出来,同样的脚本可以跑不同的用例,使用它可以省去一堆冗余代码,也便于维护。先简单讲述一下ddt和unittest结合使用。在使用时我们先用import,从ddt库里import所需要用到的函数和装饰器。举几个简单的例子。fro...原创 2019-08-13 17:05:08 · 240 阅读 · 0 评论 -
用appium移动端自动化时,怎么查询一些重要的参数如包括deviceName,appPackage,appActivity等
举例小米手机desired_caps = {}小米为安卓手机所以平台名称如下:1desired_caps['platformName'] = 'Android'2platformVersion:通过设置=》我的设备=》全部参数=》安卓版本:3desired_caps['platformVersion'] = '9'如图:4 appPackage和appActivit...原创 2019-08-15 16:07:13 · 784 阅读 · 0 评论 -
自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(三)-干货
在写测试脚本时,会有很多种场景,接口的自动化测试用例对应不同的参数,这样就需要用到ddt,这样可以达到代码复用,数据抽离的作用。而测试数据,可以存放在db也可以存放在excel里。我这里是存放在excel里,主要是因为需要可以集中将excel这个直接用来做用例记录放在Jira或者confluence和手工测试用例一起统一放一处管理。这时候就需要封装自己的excel相关的读取函数,制定一个书写规...原创 2019-08-15 17:50:13 · 256 阅读 · 0 评论 -
自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(四)-干货
在做自动化测试的时候,跑完后需要发送测试报告。用的比较多的就是HtmlTestRunner的开源工具。一开始我也是使用的这个,目前发现其实beatifulreport的测试报告会更清晰好看一点,本文中都会介绍到。首先介绍HtmlTestRunner,直接官网下载这个文件,也有很多对它做了一些优化的文件,可以下载下来使用,放在common文件夹下面。然后自己对这个做二次开发,写一个自己使用这个报...原创 2019-08-28 10:27:20 · 562 阅读 · 0 评论 -
自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(五)-干货
beatifulreport的使用和htmltestrunner类似,将之前的工具稍微修改一下即可,重新写了一个工具类,里面有俩个方法,一个产生的是htmltestrunner的测试报告,一个是beatifulreport的测试报告,入参上文已经解释都是一样的,具体代码实现如下。在批量跑测试脚本的组件里面,将调用reportOut换成beauReport即可,依然是生成html样式测试报告...原创 2019-08-28 10:59:12 · 433 阅读 · 0 评论 -
自动化测试框架(单元测试框架unittest+数据驱动框架ddt+测试报告【beatifulreport+HtmlTestRunner+邮件发送报告+爬虫】)(六)-干货
在发送测试报告时,可能会抄送给很多人,当中一些人可能不一定需要知道具体的测试报告,希望一目了然测试结果,这时候需要邮件里面体现,目前博主是做成如下:需要自己写一个html文件:而中间的结果需要从接口测试的详细的html报告中爬出需要的数据,这就需要用到爬虫,python中的bs4库里的BeautifulSoup,针对之前生成的俩种报告,写对应的工具,爬出报告里面的结果,再替换到这个...原创 2019-08-28 14:37:15 · 223 阅读 · 0 评论 -
使用python对dubbo接口请求
python中的requests库是对http接口做请求的库,而python中没有对dubbo接口做请求的库,博主在工作的时候,遇到有些项目组里的接口是dubbo接口,需要对这些接口写测试脚本。这里提供一种解决方法,使用Telnet的方法。python中有个telnetlib的库,写一个dubbo接口请求的类继承telnetlib.Telnet,实现如下:...原创 2019-08-28 15:56:04 · 1173 阅读 · 0 评论 -
自动化微服务,作为http接口请求转dubbo请求中转站
上文提到dubbo接口自动化测试具体怎么实现,但是又面临一个问题就是公司里的这些接口不对外只对内,所以在写脚本的时候没有办法请求成功,除非自动化脚本放在对应的服务里。同时http请求用的熟练一点,所以目前用了一个请求方案,做一个桥梁,自动化这边的微服务,测试脚本这边发出http请求,微服务这边转成dubbo请求这样就解决了dubbo接口不能对外的问题。通过...原创 2019-09-09 19:27:08 · 1600 阅读 · 0 评论 -
自动化测试平台(Django)(一)--框架简介
在我们做接口自动化测试时,在之前的文章自动化+jenkins中详细讲过怎么样通过持续集成来自动促发接口自动化回归测试并发送报告。事先设置好,定时去促发。而目前博主写的自动化脚本涉及erp,平台组,商城组等一些自动化脚本以及一些特定的联系多端的测试场景,有时候项目经理,手工测试甚至开发的一些小变动需要做一些回归,这时候最后就是给一个可视的界面给他们自己去促发。当然还有给不同业务线写的一些工具,全部集...原创 2019-09-09 19:46:06 · 1106 阅读 · 0 评论 -
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 · 861 阅读 · 0 评论