Pycharm中脚本执行的3种模式——unittest框架、pytest框架及普通模式

一. Python 运行脚本的三种模式

a. unittest 框架

b. pytest 框架

c. 普通模式

二、PyCharm 默认使用 pytest 框架执行 unittest 框架的测试用例

三、如何修改Pycharm的脚本运行的模式?

方法1. 修改 PyCharm 默认的测试框架

方法2.  设置运行脚本时的默认框架

四、main() 函数的作用

场景一:执行单个测试用例

场景二:执行所有测试用例

五、生成并导出测试报告

a. 使用 unittest 生成测试报告

b. 使用 pytest 生成测试报告


一. Python 运行脚本的三种模式

a. unittest 框架

特点:Python 标准库中的单元测试框架,不需要额外安装。

运行方式:使用命令行:

python -m unittest test_file.py

在 PyCharm 中,将默认测试运行器设置为 unittests。

b. pytest 框架

特点:功能强大,语法简洁,支持丰富的插件。

运行方式- 使用命令行:

pytest test_file.py

在 PyCharm 中,将默认测试运行器设置为 pytest。

c. 普通模式

特点:直接运行 Python 脚本,不使用任何测试框架。

运行方式-使用命令行:

python script.py

在 PyCharm 中,直接运行脚本。

二、PyCharm 默认使用 pytest 框架执行 unittest 框架的测试用例

PyCharm 默认的测试运行器是 pytest,这可能是因为 pytest 是目前 Python 社区中广泛使用的测试框架,它具有以下优势:

  1. 更简洁的语法和更强大的功能。

  2. 支持 unittest 和 pytest 的测试用例。

  3. 更灵活的测试报告生成和插件支持。

【注】 若你的项目主要使用 unittest,而 PyCharm 使用 pytest 来运行测试,可能会导致一些问题,比如测试用例的发现机制不同、测试报告格式不同等。

三、如何修改Pycharm的脚本运行的模式?

<think>嗯,我现在需要在PyCharm中运行由Playwright录制的pytest脚本时遇到了报错问题。根据用户提供的引用信息,我需要整理出一个解决方案。首先,用户提到了几个引用,其中引用[1]提到在PyCharm中删除运行配置,然后修改默认配置为unittests。这可能是因为PyCharm默认使用pytest运行测试,而有时候配置可能有问题。然后引用[2]和[5]提到了Playwright的录制过程,可能需要安装正确的包,比如playwright和pytest-playwright。引用[4]提到使用pip安装pytest-playwright,可能需要注意安装命令是否正确。 首先,我应该检查是否正确安装了所需的依赖。用户可能在PyCharm中直接安装了playwright,但可能缺少pytest-playwright插件,或者版本不兼容。另外,PyCharm的运行配置可能需要调整,因为默认的测试运行器如果是pytest可能会导致问题。根据引用[1]的解决方案,删除现有的运行配置,并将默认配置改为unittests可能会解决。这可能是因为某些情况下pytestunittest的配置冲突,导致无法正确运行测试脚本。 接下来,确保Playwright的浏览器驱动已经安装。Playwright需要下载浏览器二进制文件,用户可能需要运行playwright install命令来安装这些依赖。如果驱动没有正确安装,即使脚本正确,也会报错。 另外,录制生成的脚本是否正确也很重要。根据引用[3]和[5],使用codegen命令录制的脚本可能需要调整,确保导入了正确的模块,比如from playwright.sync_api import Playwright, sync_playwright。同时,测试函数应该符合pytest的格式,比如使用def test_开头,并且可能需要在pytest的测试用例结构中组织代码。 还有,检查PyCharm的项目解释器是否配置正确,确保所有相关的包都安装在当前虚拟环境中。有时候,PyCharm可能会使用全局Python环境而不是项目特定的环境,导致包缺失。 总结可能的解决步骤:安装必要的依赖,确保Playwright驱动安装,调整PyCharm的运行配置,检查脚本结构是否正确。需要一步步排除可能的问题点,比如先处理配置问题,再检查依赖安装,最后验证脚本的正确性。</think>### 解决方案:PyCharm运行Playwright录制的pytest脚本报错 #### 1. **检查依赖安装** 确保已安装以下依赖: ```bash pip install playwright pytest-playwright ``` 安装完成后,执行浏览器驱动安装命令: ```bash playwright install ``` 若安装源不稳定,可使用国内镜像(如引用[4]): ```bash pip install pytest-playwright -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com ``` #### 2. **调整PyCharm测试运行配置** - **步骤1:删除旧的运行配置** 进入PyCharm顶部菜单栏,点击`Run > Edit Configurations`,删除所有与当前测试相关的配置(引用[1])。 - **步骤2:修改默认测试框架unittest** 进入`File > Settings > Tools > Python Integrated Tools`,将`Testing`的默认运行器从`pytest`改为`unittest`(引用[1])。 #### 3. **验证脚本格式** 确保录制的脚本符合以下要求: - 导入正确的Playwright模块: ```python from playwright.sync_api import Playwright, sync_playwright ``` - 测试函数以`test_`开头,例如: ```python def test_login(playwright: Playwright): browser = playwright.chromium.launch(headless=False) context = browser.new_context() # ...后续操作 ``` #### 4. **检查项目结构** - 测试文件需放在`tests`目录下,且文件名以`test_`开头(如`test_example.py`)。 - 确保测试目录被标记为“Sources Root”(右键目录 > `Mark Directory as > Sources Root`)。 #### 5. **重新运行脚本** 完成上述步骤后,重新运行测试脚本。若仍报错,尝试在终端手动执行: ```bash pytest --headed test_example.py ``` --- ### 常见错误及处理 1. **错误:`Browser driver not found`** 运行`playwright install`安装缺失的浏览器驱动。 2. **错误:`ModuleNotFoundError`** 检查PyCharm的解释器路径是否包含项目环境(`File > Settings > Project > Python Interpreter`)。 3. **错误:`TimeoutError`** 在脚本中增加超时配置: ```python browser = playwright.chromium.launch(headless=False, timeout=30000) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

释梦燃

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值