pycharm自动化测试初始化

今天太久没写代码进行自动化测试了,所以让我们一起恶补一下知识点吧

创建新项目

在PyCharm中点击菜单栏的"File",选择"New Project"。

在弹出的创建页面中,定位到目标目录(如pythonproject文件夹),修改项目名称。建议使用驼峰命名法(如myTestProject)。

点击创建按钮,提示你要选择新的弹窗还是旧的弹窗,依旧个人习惯选择即可

配置项目环境

选择Python解释器版本,建议使用虚拟环境(Virtualenv)。PyCharm会自动创建venv文件夹隔离项目依赖。勾选"Create a main.py welcome script"可快速生成入口文件。

然后可以下载一些新的包

项目结构初始化

右键项目根目录选择"New"→"Python File"创建测试文件,如test_calculator.py。对于自动化测试项目,典型结构应包括:

  • /tests 测试目录
  • /src 源代码目录
  • requirements.txt 依赖文件

安装测试框架

打开PyCharm的Terminal,安装常用测试包:

复制代码
pip install pytest selenium unittest-xml-reporting

对于Web自动化可添加:

复制代码
pip install playwright && playwright install

编写基础测试

在测试文件中使用pytest框架示例:

复制代码
import pytest

    class TestCalculator: 
        def test_addition(self): 
            assert 1 + 1 == 2 
        @pytest.mark.parametrize("a,b,expected", [(1,2,3), (5,5,10)]) 
        def test_multiple_cases(self, a, b, expected): 
            assert a + b == expected

运行测试配置

点击PyCharm右上角的运行配置下拉框,选择"Edit Configurations"。添加新的pytest配置,设置目标为当前文件/目录。勾选"Add content roots to PYTHONPATH"确保路径正确。

生成测试报告

安装pytest-html后通过命令生成可视化报告:bash

复制代码
pytest --html=report.html

对于CI集成可使用Allure:

复制代码
pip install allure-pytest
pytest --alluredir=./results

持续集成准备

在项目根目录创建.github/workflows/python-app.yml文件配置GitHub Actions:

复制代码
name: Python CI
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python
        uses: actions/setup-python@v2
      - name: Install dependencies
        run: pip install -r requirements.txt
      - name: Run tests
        run: pytest
相关推荐
陈天伟教授3 小时前
人工智能训练师认证教程(2)Python os入门教程
前端·数据库·python
2301_764441333 小时前
Aella Science Dataset Explorer 部署教程笔记
笔记·python·全文检索
爱笑的眼睛113 小时前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
BoBoZz194 小时前
ExtractSelection 选择和提取数据集中的特定点,以及如何反转该选择
python·vtk·图形渲染·图形处理
liwulin05064 小时前
【PYTHON-YOLOV8N】如何自定义数据集
开发语言·python·yolo
木头左4 小时前
LSTM量化交易策略中时间序列预测的关键输入参数分析与Python实现
人工智能·python·lstm
电子硬件笔记4 小时前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
HyperAI超神经5 小时前
【vLLM 学习】Prithvi Geospatial Mae
人工智能·python·深度学习·学习·大语言模型·gpu·vllm
逻极5 小时前
Python MySQL防SQL注入实战:从字符串拼接的坑到参数化查询的救赎
python·mysql·安全·sql注入
赫凯5 小时前
【强化学习】第一章 强化学习初探
人工智能·python·强化学习