自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yiluoseraph的技术博客

交流感悟,期待点评。(本博客观点仅代表个人)

  • 博客(94)
  • 收藏
  • 关注

原创 使用Python的最佳实践

更简洁:相比传统的字符串格式化方法,f-Strings 更加简洁明了,可以直接在字符串中插入变量,并且不需要使用占位符,使得代码更加易读易懂。可以用于排序任何可迭代对象,包括列表、元组、集合、字典等,并且支持按照不同的排序规则进行排序,如升序、降序、按照指定的键或函数进行排序等。总之,列表解析式是Python的一个强大功能,它提供了一种简洁而高效的方式来生成列表,并且通常比使用for循环更易读和维护。可以使代码更易维护,因为它可以减少代码中的重复,使更改代码更加容易,同时也减少了出错的可能性。

2023-03-30 17:13:45 327

原创 python中yield的使用

yield 生成器

2023-02-26 17:09:14 926

原创 观察者模式

观察者模式

2023-02-26 16:39:03 457

原创 【无标题】

单例模式

2023-02-26 16:26:48 419

原创 python策略模式

策略模式

2023-02-26 16:18:14 544

原创 适配器模式

python适配器

2023-02-26 15:56:42 167

原创 Python 中的装饰器可以用于实现函数的缓存

Python 中的装饰器可以用于实现函数的缓存

2023-02-26 15:19:06 524 1

原创 Python-Behave:如果environment.py没有被执行

对于environment.py, 如果有的话,必须是和。

2022-08-27 12:07:46 286

原创 通过Jenkins Script 获取token,往postman 传递环境变量

参考:​​​​​​Feature Request: read variables from OS environment · Issue #1603 · postmanlabs/postman-app-support · GitHub1. 通过Jenkins Script 获取token2. 在启动时将环境变量传递给postman test#!groovytimeout(time: 2, unit: 'HOURS') { podTemplate(label: label,

2022-04-24 14:27:24 1454

原创 openpyxl 使用经验

1. openpyxl 可以同时支持读写。2. openpyxl可以读取数据、写入数据、写入公式、设定单元格格式。3. workbook 整个文档,<a_workbook>.worksheets是所有的sheets。sheet可以通过index获取,也可以通过名称获取。source_workbook = openpyxl.load_workbook(excel_filename)first_worksheet = source_workbook.worksheets[0]s

2022-04-18 14:13:36 405

原创 Python 直接赋值、浅拷贝和深度拷贝解析

https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 #!/usr/bin/python# -*-coding:utf-8 -*- import co...

2022-02-21 13:05:24 581 1

原创 查询某个python package是否已经安装

pip list | grep XXX

2021-03-29 15:36:47 762

原创  windows关闭java进程

windows关闭java进程taskkill /F /IM java.exe

2021-03-29 15:36:04 451

原创 Selenium Capabilities 速查

https://www.selenium.dev/selenium/docs/api/dotnet/html/T_OpenQA_Selenium_Remote_CapabilityType.htmhttps://support.smartbear.com/crossbrowsertesting/docs/automated-testing/automation-capabilities.html#selenium-capabilities-desktopsSelenium capabilities

2021-03-22 17:13:34 1054

原创 python 过滤数据

if __name__ == '__main__': cookie_consent_config = [ {"name": "ih-preference", "domain": "sample.com", "category": "Necessary", "company": "SAMPLE", "inSubDomain": False}, {"name": "ihr-temse", "domain": "sample.com", "category": "Functional"..

2021-03-12 16:59:41 3757

原创 使用HTTPS的情况下,密码可以以明文传输 It‘s ok to send password in plain text over https

It is standard practice to send "plaintext" passwords over HTTPS. The passwords are ultimately not plaintext, since the client-server communication is encrypted as per TLS.Encrypting the password before sending it in HTTPS doesn't accomplish much: if the

2021-03-11 16:39:54 508

原创 使用Jenkins Credentials来使用Username和password

1,在Jenkins Credentials中加入自己的Username、password。2, 在groovy 文件中,获取CredentialswithCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: '<ID>', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {

2021-03-03 11:10:23 2960

转载 docker中宿主机与容器(container)互相拷贝传递文件的方法

转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/71425077本文出自【我是干勾鱼的博客】前面讲解过如何进入、退出docker的container。今天来讲一下在docker中宿主机与容器(container)互相拷贝传递文件的方法。1 从容器拷贝文件到宿主机拷贝方式为:docker cp 容器名:容器中要拷贝的文件名及其路径 要拷贝到宿主机里面对应的路径例如,将容器:mycontainer中路径:/opt

2021-03-01 15:15:10 739

原创 status of a behave feature and scenario

https://behave.readthedocs.io/en/stable/api.html#behave.model.Scenario.status# -file- environment.pyfrom behave.model_core import Statusdef after_scenario(context, scenario): print(Scenario.status) if scenario.status == Status.failed:

2021-02-19 14:25:18 732

原创 python 命令行解析模块 argparse 用法

argsparse是python的命令行解析的标准模块,内置于python,不需要安装。这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。传入一个参数我们先在桌面新建“arg学习”的文件夹,在该文件夹中新建demo.py文件,来看一个最简单的argsparse库的使用的例子。import argparseparser = argparse.ArgumentParser(description='命令行中传入一个数字')#type是要传入的参数的数据类型 help是该参数

2021-02-18 16:05:04 314

原创 saucelab使用

https://support.saucelabs.com/hc/en-us/articles/360019223053-UnsupportedCommandException-Error-When-Running-Chrome-with-W3C-CapabilitiesRunning a Chrome test with W3C enabled on our virtual device loud might lead to anUnsupportedCommandExceptionerror w..

2021-02-09 18:20:24 504

原创 Add clickable link to allure report

try: attach( f'<head></head><body><a href="{video_url}">Link to ...</a></body>', 'html video log', attachment_type.HTML )except Exception as e: logger.error('attach HTML usage is wro.

2021-02-09 17:52:21 169

原创 Mountebank介绍

## 前言在TDD领域针对code级别的解耦测试有mock这一概念,那么在接口测试这个层面是否也有类似的工具呢?答案是肯定的:有。那就是打桩服务。近年来随着微服务的普及,接口测试、集成测试更多要考虑服务之间的解耦,从而达到测试的聚焦——只关注测试服务的业务部份。## 什么是打桩服务打桩服务呢?顾名思义用一种非侵入性的方式,让被测试服务或接口中调用的第三方服务被模拟,这样当测试到使用第三方服务的时候能够快速反馈指定内容,而无需真正调用到第三方服务。这个模拟器就是打桩服务。## 他和..

2021-02-04 21:11:53 466

原创 python 设计模式 -- Singleton 单例

https://python-3-patterns-idioms-test.readthedocs.io/en/latest/Singleton.htmlhttps://python-patterns.guide/gang-of-four/singleton/https://www.tutorialspoint.com/python_design_patterns/python_design_patterns_singleton.htmHow to implement a singleton c

2021-02-01 13:31:28 81

原创 Selenium访问SVG标签

svg不能被普通的xpath发现需要用/*[name()='svg']如下:share_button_parent = (By.XPATH, "//div[@data-an-element='base-info']/div[2]/div[2]/div[2]/*[name()='svg']")

2020-12-18 09:18:36 534

原创 IE11: selenium.common.exceptions.TimeoutException: Message: Timed out waiting for page to load

https://www.selenium.dev/documentation/en/driver_idiosyncrasies/driver_specific_capabilities/from selenium import webdriver options = webdriver.IeOptions() options.ignore_protected_mode_settings = True driver = webdriver.Ie(options=options) .

2020-12-04 16:28:33 2333

原创 禁止firefox自动更新

找到Mozilla Firefox\defaults\pref\channel-prefs.js文件  首先关闭Firefox浏览器,然后右击桌面的Firefox快捷方式–> 属性 --> 打开文件所在位置 --> 找到如下文件(defaults\pref):C:\Program Files (x86)\Mozilla Firefox\defaults\pref\local-settings.jspref(“app.update.channel”, “”);*...

2020-12-02 17:55:23 429

原创 command terminated with exit code 137

调整pod/docker的内存

2020-11-06 10:57:39 6612 1

转载 美团全链路压测Quake学习笔记

今天读了美团技术团队新发布的全链路压测平台Quake在美团中的实践,做个笔记。先说下总的读后感:压力测试/性能测试有多种方式,从下面的几个发展阶段可以看出越来越追求真实高峰访问的模拟。现在大公司普遍的分布式架构,云计算的应用,容器的使用也可以提供更有力的资源调度。但全链路压测最重要的工作在于需要架构,开发团队的支持和适配工作。没有全链路的监控及相关工具支撑,没有架构的调整(压测标识)和数据库的配合(影子表),这个全链路压测就是个听起来更美的名字(你也知道技术圈喜欢造新词)。印象中APM/

2020-10-27 09:50:07 1289

转载 kuberneters中Request和Limit限制方式说明

Kubernetes是一个容器集群管理平台,Kubernetes需要统计整体平台的资源使用情况,合理地将资源分配给容器使用,并且要保证容器生命周期内有足够的资源来保证其运行。 同时,如果资源发放是独占的,即资源已发放给了个容器,同样的资源不会发放给另外一个容器,对于空闲的容器来说占用着没有使用的资源比如CPU是非常浪费的,Kubernetes需要考虑如何在优先度和公平性的前提下提高资源的利用率。为了实现资源被有效调度和分配同时提高资源的利用率,Kubernetes采用Request和Limit两种限制类型来

2020-10-26 21:42:12 2080

转载 k6笔记(转载)

K6 测试代码的生命周期k6的代码有4个生命周期,init code ,vu code,setup,和teardown// 1. init code 初始化的数据在这里面放export function setup() { // 2. setup code}export default function(data) { // 3. vu code}export function teardown(data) { // 4. teardown code}K6 的

2020-10-26 13:14:36 1344

原创 慢SQL问题

发现方式:主要通过鹰眼/cat 的调用链可以看到数据库慢调用慢SQL原因:慢SQL原因主要是(1)新增字段或查询SQL后,对应的索引没有创建,(2)关联表比较多,关联查询时相关字段虽然都创建了索引,但是部分索引创建不合理,导致查询性能效率比较低(3)SQL不慢,但是数据库查询次数多,出现了循环查询的问题优化方案:(1)检查索引,优化索引(2)减少不必要的调用,合并查询(3)对一些确实无法优化的SQL(如:关联表多)可以加数据缓存或者加宽表处理...

2020-07-31 11:20:33 106

转载 GIT本地代码处于detached HEAD的情况(又称游离状态)的解决办法

有时候git由于一些操作的问题出现了detached HEAD 的情况 对于新手来说很焦急,但又不敢动,生怕搞错点什么把劳动成果付之东流。 下面的解决办法要顺序执行: 先git commit 进行提交 (提交完你的本地分支指向的是你刚commit完的状态码 类似:06763f6) git branch short 06763f6 这句执行是在本地创建一个short分支 并将你刚才commit的内容放到新分支里面存储 git checkout short 切换到刚才新建的分支 (如果

2020-07-31 11:14:25 3615

原创 为什么需要场景压测

业务角度保证单接口测不出来?设计上的问题某些接口在实际环境中,访问量指数级的增长,而非线型增长希望可以真实模拟真实环境。业界的实践:根据线上的调用比例,配置调用比例,来进行压测。多个业务同时压测,需要搞定比例关系,非常耗时压测mock,开发认为不是他们的方向。开发代码给我们,让我们来提交mock开发我们自己来加一些mock的细节。...

2020-07-31 10:56:16 378

原创 操作Network中的Response

谷歌官方工具Chrome DevTools Protocol:https://chromedevtools.github.io/devtools-protocol/?spm=ata.13261165.0.0.388c6babLhhb97基于Selenium和ChromeDriver的自动化页面性能测试https://blog.csdn.net/zhuyiquan/article/details/80148767...

2020-06-24 17:14:35 935

原创 ngrinder论坛上一些有意思的讨论

http://ngrinder.642.n7.nabble.com/2-td865.html另外nGrinder不允许 在一个账户下同时运行两个Test,第一个运行完后,第二个才能运行。如果有这样的需求,可以再打一个浏览器在另外账户下运行。可以给agent多个任务,但是agent 同一时间只能负责一个test。当agent有多个test时,它会按顺序执行。In addition, if 10 agents are installed and the first test is gonna u

2020-06-20 22:47:42 251

原创 ngrinder任务管理SPring Task

搜索关键词:spring task:https://www.cnblogs.com/baixianlong/p/10659045.html1、简单的定时任务实现使用方式:使用@EnableScheduling注解开启对定时任务的支持。使用@Scheduled 注解即可,基于corn、fixedRate、fixedDelay等一些定时策略来实现定时任务。EnableScheduling@Configuration@Profile("production")@EnableScheduling

2020-06-20 22:46:11 134

原创 nGrinder:修改agent默认的_agent.conf文件

修改这个文件后,从controller中下载的新的agent,都会有一个新的_agent.conf..\ngrinder\ngrinder-controller\src\main\resources\ngrinder_agent_home_template\agent_agent.conf

2020-06-20 20:44:16 331

原创 nGrinder的原理

由一个控制端controller和多个代理端agent组成,通过控制端(浏览器访问)建立测试场景,然后分发到代理端进行压力测试。 用户按照一定规范编写测试脚本,controller会将脚本以及需要的资源分发到agent,用jython执行。 在脚本执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等。并且保存这些数据生成测试报告,通过动态图和数据表的形式展示出来。用户可以方便的看到TPS、被测服务器的CPU和内存等情况。...

2020-06-20 19:10:11 288

原创 找测试工具的网站

https://www.toolsqa.com/selenium-webdriver/testng-data-provider-excel/

2020-05-08 16:15:21 155

空空如也

空空如也

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

TA关注的人

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