Python|自动化测试与if __name__=="__main__":

简介: Python|自动化测试与if __name__=="__main__":

问题描述

最近有小伙伴在学习python自动化测试的时候遇到了一个问题,下面我直接奉上代码。

解决方案

若要让此程序执行很简单只需在最后一行代码unittest.main()前加一行代码if__name__==”__main__”:方可执行。那么到这里我们为什么只需加一行代码就能使程序执行呢?下面我们将详细的说明if__name__==”__main__”:的原理及用法。

if__name__==”__main__”:的用法:

首先是一个python文件有两种使用方法,第一是作为脚本文件直接运行,第二种是通过调用的方法(第三方库)执行。

而if__name__==”__main__”:的作用就是控制这两种情况执行代码的过程,在if__name__==”__main__”:下面的代码只有在文件作为脚本直接执行时才会被执行,而在第二种情况下if__name__==”__main__”:之后的代码是不被执行的。下面我们用代码来说明这个情况。

直接执行:

我们将文件名命名为test.py,执行结果为


调用执行:

我们在同一文件夹下创建一个python文件,在文件中输入代码

执行情况为

通过实例我们不难看出if__name__==”__main__”:的用法,下面我们再来看看if__name__==”__main__”:的原理。首先献上几张图。

在之前的代码中加入一行代码print("__name__",__name__),输出的代码我们不难看出这里的__name__等于__main__所以if__name__==”__main__”:之后的代码会被执行。

而在调用了test.py文件(第二种情况调用)的python文件中输出的结果为

从代码中我们得出的__name__等于test。所以if__name__==”__main__”:之下的代码不被执行。

每个python文件都包含内置的变量__name__,当文件被执行的时候,__name__等于文件名(包含后缀.py),如果文件import调用到其他文件中,则该文件的__name__等于文件名称(不包含后缀.py)。”__main__”始终等于执行文件的名称(包含后缀.py),所以当模块被直接执行时__name__==”__main__”结果为Ture。

结语

通过上面的归纳,其实理解起来还是有一定的难度,当初我自己理解也是花了很长的时间,上述讲解的代码希望python小白下去实战,将代码理解正确那么if__name__==”__main__”:的使用将不是问题

目录
相关文章
|
12月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
684 1
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
649 0
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
11月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
1657 2
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
753 18
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
1663 4
推荐一款Python开源的AI自动化工具:Browser Use
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
IDE 测试技术 API
python调试与测试
python调试与测试
|
测试技术 Python
Python测试报告生成:整合错误截图,重复用例执行策略,调整测试顺序及多断言机制。
如何组织这一切呢?你可以写一本名为“Python测试之道”的动作指南手册,或者创建一个包含测试策略、测试顺序、多断言机制的脚本库。只要你的测试剧本编写得足够独到,你的框架就会像一位执行任务的超级英雄,将任何潜伏于代码深处的错误无情地揪出来展现在光天化日之下。这些整理好的测试结果,不仅有利于团队协作,更像冒险故事中的精彩篇章,带给读者无尽的探索乐趣和深刻的思考。
360 10

推荐镜像

更多