软件测试学习笔记丨Pycharm实用技巧
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23459
PyCharm 应该是大多数 python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能。它是帮助用户在使用 Python 语言开发时提高其效率的工具,但是好多人只是把它当做一个文本编辑器使用,并没有发挥出它的优势,今天我来分享一下日常开发用到的一些技巧吧。
1、快速导入依赖
正在编写代码时,想导入一个包,只记得包名,但是忘了它在那个py文件了,可以通过 pycharm 自动导入。当你写了一个包名,pycharm会有提示是否需要导入,选择后将根据您的项目样式以正确的方式生成导入。
快捷键alt + enter
2、快速安装第三方库
当我们新打开了一个脚本,发现各种第三方库都未安装,需要快速安装第三方库,可以将光标停留在波浪线处,使用alt + enter,快速安装第三方库。
3、快速删除冗余依赖
当你某个代码文件引入了很多包,但是有些包没有别使用,你无需手动一个一个的删除未被引用的包,可以使用 Optimize Imports 功能,快捷键是alt+shift+enter。
4、自定义代码块折叠
当我们的代码行数很多,或者部分字符串长度太大时,我们可以设置折叠部分内容来使得更方便操作。
File->settings->Editor->General->Code Folding
代码折叠快捷操作
所有代码折叠:ctrl+alt±
所有代码展开:ctrl+alt++
折叠某一点:ctrl±
展开某一层:ctrl++
5、快速补全
pycharm拥有代码自动补全功能,可以补全代码,但是首先要保证没有开启pycharm的power save mode,如果开启,代码补全将会关闭。
6、粘贴板历史
pycharm除了有正常的ctrl+v用于粘贴之外,还有粘贴板历史的功能,可以粘贴历史内容,快捷键为ctrl+shift+v,选中要粘贴的内容,点击paste即可。
7、批量重命名
当我们需要对变量进行重命名的时候,我们找到需要进行重命名的变量,双击,按下快捷键shift+F6,如下图,我们要将add方法中的变量a重命名为c,点击Refactor即可完成重命名。
我们也可以使用替换方法来对变量进行重命名
8、书签标记功能
在做学习内容整理和复习的时候,如果有备注在上面就容易回顾之前所学的要点,这也是很多小伙伴喜欢做笔记加备注的原因。不过每个软件时候的情况不同,就拿pycharm来说,有些小伙伴找不到在上面备注的方法,我们可以使用pycharm的书签功能来进行标记。
F11:在某一行打上或取消普通书签
ctrl + F11:某一行打上或者取消数字书签
shift + F11:查看所有标签
crtl + 数字:定位到书签所在行。
shift + F11:查看所有标签列表。
- 打上/取消普通书签
- 打上/取消编号标签
- 查看所有标签
- 定位到标签所在行,输入ctrl+1
- 查看所有标签列表
Favorites查看书签列表,快捷键alt+2,点击对应书签,会跳转到对应代码
9、Pycharm快速定位
当我们在对程序进行编辑时,我们需要快速找到模块中的函数或类中的方法,我们可以点击ctrl+B或者ctrl+鼠标左键就可以快速跳转到源码中。
快速定位问题
当我们执行程序时,如果出现了报错,我们看到报错信息,如何快速定位到问题?
上图表示,出现了NameError,导致测试用例失败,问题源在Base.py:9行,我们点击蓝色字体,会直接跳转至报错的行,方便我们解决问题。
10、自动生成常用方法
当我们在进行代码的编写时,有的方法可能是我们常用的方法,比如if方法,try…except方法,我们可以通过快捷键快速生成方法。
我们选中要处理的代码,ctrl+alt+t,就可以在常用的方法中进行选择
再进行适当调整后,就得到下图的结果
推荐学习
【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)
【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试
【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff
【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享
【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装
【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?
【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!
【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我
【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化
【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试
【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !
【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置
【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)
相关文章:

软件测试学习笔记丨Pycharm实用技巧
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23459 PyCharm 应该是大多数 python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能。它是帮助用户在使用 Python 语言开发时提高其效率的…...

Vue学习笔记(二、Vue.js的引入与对象创建)
一、引入vue 1.通过cdn引入: <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> 2.本地引入: <script src"./lib/vue.js"></script> 二、创建Vue对象 代码参考如下: …...

从0-1搭建金融智能助理保姆级教程:拆箱即用的微信公众号后端+AI Agents智能体框架
大模型LLM 应用AI Agents框架,为我们提供了非常便利的自动化执行任务的能力。微信公众号(订阅号) 是非常适合落地各种AI Agents的场景,我们可以利用微信公众号提供的文本、图像、语音的输入,在自己服务器上部署一套API框架,把自己…...

Yolov10训练的餐盘菜品目标检测软件(包含源码及数据集)
本文摘要 摘要:本文主要使用YOLOV10深度学习框架自训练了一个“餐盘菜品目标检测模型”,基于此模型使用PYQT5实现了一款界面软件用于功能演示。让您可以更好的了解和学习,该软件支持图片、视频以及摄像头进行目标检测,本系统所涉…...

Active Directory(活动目录)密码审核工具
什么是Active Directory密码审核 Active Directory密码审核涉及监控用户密码的状态及其身份验证尝试,以便 IT 管理员收到有关弱 Active Directory密码或任何异常身份验证行为的通知。 Active Directory密码审核可帮助管理员评估用户密码的强度并采取必要措施来加强…...

Transformer为什么使用LayerNorm而不是BatchNorm?
01 引言 层归一化(Layer normalization ) 是Transformer模型中的一项重要技术,它通过对每一层的输入进行归一化,帮助稳定和加速训练。无论输入的规模或分布如何,它都能确保模型处理信息的一致性。在自注意力机制、多头注意力机制和位置编码…...

理解和重构目录结构:Java 中的父子关系管理
理解和重构目录结构:Java 中的父子关系管理 一、前言1. 问题背景2. 目录项结构3. 实现重构逻辑4. 示例代码5. 结果与输出 二、总结 好的,我们将目录结构调整为使用中文数字表示的标题。以下是重新组织后的内容: 一、前言 在软件开发中&…...

ES6面试题:(第一天)
目录 1.var,let,const的区别 2.说说你对数组的解构和对象的解构的理解? 3.ES6的新语法 4.Map对象和Set对象的区别 5.Set实现数组去重 1.var,let,const的区别 使用 var 声明的变量,其作用域为全局作用域或者为所在的函数内局部作用域,且存在变量提升…...

【ChatGPT】什么是ChatGPT:基础介绍与使用场景
什么是ChatGPT:基础介绍与使用场景 在当今科技快速发展的时代,人工智能工具正逐步融入我们生活的方方面面。你是否曾在编写报告时陷入思路停滞?或者在客户服务中焦急等待响应?这些问题,随着 ChatGPT 的出现࿰…...

工业自动化为什么依赖光耦隔离器 --- 腾恩科技
光耦合器隔离器在工业自动化中必不可少,可确保信号传输,同时保护敏感电子设备和人员免受高压影响。选择合适的光耦合器隔离器取决于对操作环境和隔离要求的了解。本文将重点介绍在为工业应用选择光耦合器隔离器时需要考虑的关键因素。 光耦合器隔离器在工…...

Linux环境下Jmeter执行压测脚本
Linux环境下Jmeter执行压测脚本 前提官网下载Jmeter执行脚本 前提 注意:Jmeter的运行依赖Java环境 官网下载Jmeter 1、下载链接:https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zip 2、解压 unzip apache-jmeter-5.6.3.zip 执行脚本…...

PROFINET开发或EtherNet/IP开发嵌入式板有用于工业称重秤
这是一个真实案例,不过客户选择不透露其品牌名称。稳联技术的嵌入式解决方案助力工业称重设备制造商连接至任意工业网络。多网络连接使得称重设备能够轻松接入不同的控制系统,进而加快产品的上市时间。 我们找到了稳联技术的解决方案。他们成熟的技术与专…...

OracleT5-2 Solaris11安装
1、Solaris11安装 在光驱中插入Solaris11的光盘后,在ok提示中boot cdrom {0} ok boot cdrom NOTICE: Entering OpenBoot. NOTICE: Fetching Guest MD from HV. NOTICE: Starting additional cpus. NOTICE: Initializing LDC services. NOTICE: Probing PCI devices. N…...

详解 JuiceFS 在多云架构下的数据同步与一致性
随着大模型流行,GPU 算力资源正变得日益稀缺,传统的“算力跟着存储跑”的策略需要转变为“存储跟着算力跑”。为了确保数据一致性和管理的便捷性,企业通常在特定地区的公有云上选择对象存储作为所有模型数据的集中存储点。当进行计算任务调度…...

赛氪贡献突出获评优秀合作伙伴,第十九届环境友好科技竞赛落幕
2024年10月19日,第十九届全国环境友好科技竞赛终审答辩会在同济大学顺利举行,标志着这一环境领域顶级学科竞赛的又一盛事圆满落幕。本次竞赛由清华大学、同济大学、西安建筑科技大学及中国环境科学学会共同主办,吸引了全国各高校相关专业学生…...

GrowingIO埋点(前端)
GrowingIO埋点(前端) 一、CDN集成SDK 1、初始化 当用户加载页面的时候,会异步加载 WebJS SDK,不会影响到用户的加载速度,所以一般建议把这段代码加入到 <head></head> 中的最下面,这样能…...

MySQL-15.DQL-排序查询
一.DQL-排序查询 -- 排序查询 -- 1.根据入职时间,对员工进行升序排序 select * from tb_emp order by entrydate asc ;-- 2.根据入职时间,对员工进行降序排序 select * from tb_emp order by entrydate desc ;-- 3.根据 入职时间 对公司员工进行 升序排序…...

SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
文章目录 前言一、控制器层代码二、服务层代码三、代码亮点分析 前言 SpringBoot的同步excel导出方式中,服务会阻塞直到Excel文件生成完毕,如果导出数据很多时,效率低体验差。有效的方案是将导出数据拆分后利用CompletableFuture,…...

黑马软件测试第一篇_数据库
说明: 数据库是专门用来存储数据的软件 注意: 对于测试工作而言, 如果项目页面没有实现, 但是我们又想要校验数据,则可以直接通过查询数据库实现 关系: 具体存在的商品录入后 -> 产生对应的数据(存到数据库中) -> 最后会被加载到项目页面中 数据库的分类 分类: 1> 关…...

第十六届蓝桥杯嵌入式组准备
最近我看很多人都在准备蓝桥杯的比赛了,这里我给大家整理一下历届真题或模拟题的讲解与源码 蓝桥杯嵌入式第十二届省赛真题二 蓝桥杯嵌入式第十三届省赛真题一 蓝桥杯嵌入式第十三届省赛真题二 蓝桥杯嵌入式第十四届省赛真题 蓝桥杯嵌入式第十四届模拟考试一 蓝…...

城乡供水信息化系统如何建设?
城乡供水信息化建设是一个综合性的过程,旨在通过现代信息技术提升农村供水系统的管理效率和服务质量。这一过程包含以下关键内容: 一、信息化基础设施建设 感知层建设:在农村饮水工程的关键部位,如水源地、水厂、供水管网等&#…...

【Petri网导论学习笔记】Petri网导论入门学习(七) —— 1.5 并发与冲突
导航 1.5 并发与冲突1.5.1 并发定义 1.14定义 1.15 1.5.2 冲突定义 1.17 1.5.3 一般Petri网系统中的并发与冲突定义 1.18一般网系统中无冲撞概念阻塞(有容量函数K的P/T系统,类似于冲撞)一般Petri网中并发与冲突共存情况 1.5 并发与冲突 Petr…...

MongoDB常用语句
1.只统计记录总数: let result await CorrectionRecordModel.countDocuments(db);2.数组遍历,循环体中可以有调用异步函数: for(let item of result2){if(item && Tool.checkNotEmptString(item.auth_id) && (item.status …...

自动创作PPT 利用提示词和大模型自动创建ppt
背景 ppt创作可以分为3个步骤:1.大纲撰写;2.内容填充;3.ppt实现。我前几天用十分钟的时间做了一个ppt,主讲大模型测评。这里给大家分享一下我的创作过程。 关于步骤1和步骤2,最近发现一个非常好的提示词,…...

二分类评价指标AUROC和AUPR
文章目录 一、AUROC(Area Under the Receiver Operating Characteristic Curve)二、AUPR(Area Under the Precision-Recall Curve)三、区别3.1 案例3.2 如何选择? 在分类任务中, AUROC(受试者工…...

雅迪控股营收、净利润和毛利下滑:销量大幅减少,屡屡抽查不合格
《港湾商业观察》廖紫雯 日前,雅迪集团控股有限公司(以下简称:雅迪控股,01585.HK)发布业绩报告,披露2024年上半年营收净利双下滑等情况,在业绩承压的情况下,雅迪控股遭多家券商下调…...

【网络安全】记一次漏洞挖掘
Spring Cloud Data Flow 热点漏洞详细分析 环境搭建 2.10.0 - 2.11.2版本都可以,这里下的2.11.2 源码下载https://github.com/spring-cloud/spring-cloud-dataflow/tree/v2.11.2 在src/docker-compose里面是有docker文件的,使用docker即可 最近是爆出…...

Redis遇到Hash冲突怎么办?
这是小伙伴之前遇到的一个面试题,感觉也是一个经典八股,和大伙分享下。 一 什么是 Hash 冲突 Hash 冲突,也称为 Hash 碰撞,是指不同的关键字通过 Hash 函数计算得到了相同的 Hash 地址。 Hash 冲突在 Hash 表中是不可避免的&am…...

React综合指南(四)
61、描述React事件处理。 为了解决跨浏览器兼容性问题,React中的事件处理程序将传递SyntheticEvent实例,该实例是React跨浏览器本机事件的跨浏览器包装器。这些综合事件具有与您惯用的本机事件相同的界面,除了它们在所有浏览器中的工作方式相…...

Spring集成Redisson及存取几种基本类型数据
目录 一.什么是Redisson 二.为什么要使用Redisson 三.Spring集成Redisson 1.添加依赖 2.添加配置信息 3.添加redisson配置类 四.Redisson存取各种类型数据 1.字符串(String类型) 存储 获取 2.object对象类型 1.实体类信息 2.存储 3.获取 3.List集合类型 第一种…...