当前位置: 首页 > news >正文

软件测试学习笔记丨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引入&#xff1a; <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> 2.本地引入&#xff1a; <script src"./lib/vue.js"></script> 二、创建Vue对象 代码参考如下&#xff1a; …...

从0-1搭建金融智能助理保姆级教程:拆箱即用的微信公众号后端+AI Agents智能体框架

大模型LLM 应用AI Agents框架&#xff0c;为我们提供了非常便利的自动化执行任务的能力。微信公众号(订阅号) 是非常适合落地各种AI Agents的场景&#xff0c;我们可以利用微信公众号提供的文本、图像、语音的输入&#xff0c;在自己服务器上部署一套API框架&#xff0c;把自己…...

Yolov10训练的餐盘菜品目标检测软件(包含源码及数据集)

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

Active Directory(活动目录)密码审核工具

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

Transformer为什么使用LayerNorm而不是BatchNorm?

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

理解和重构目录结构:Java 中的父子关系管理

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

ES6面试题:(第一天)

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

【ChatGPT】什么是ChatGPT:基础介绍与使用场景

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

工业自动化为什么依赖光耦隔离器 --- 腾恩科技

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

Linux环境下Jmeter执行压测脚本

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

PROFINET开发或EtherNet/IP开发嵌入式板有用于工业称重秤

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

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 在多云架构下的数据同步与一致性

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

赛氪贡献突出获评优秀合作伙伴,第十九届环境友好科技竞赛落幕

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

GrowingIO埋点(前端)

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

MySQL-15.DQL-排序查询

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

SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载

文章目录 前言一、控制器层代码二、服务层代码三、代码亮点分析 前言 SpringBoot的同步excel导出方式中&#xff0c;服务会阻塞直到Excel文件生成完毕&#xff0c;如果导出数据很多时&#xff0c;效率低体验差。有效的方案是将导出数据拆分后利用CompletableFuture&#xff0c;…...

黑马软件测试第一篇_数据库

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

第十六届蓝桥杯嵌入式组准备

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

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...