Selnium + POM + Pytest:學習記錄

簡介

selenium POM Pytest 結合,通過Pytest fixture 來傳遞Driver 保證一個測試用例[1] :driver[1] 學習記錄

插件包

selenium: 操作瀏覽器

pytest: drvier傳遞,收集/執行測試用例

pytest-xdist: 分佈式執行測試用例

pytest-html: 收集測試結果-測試報告

webdriver_manager: 瀏覽器驅動管理,它會自動去下載合適的瀏覽器Driver

測試資源

被測應用: 博客後台

其實是一個只有DRF 個人博客實現的後台,用的就是Django Admin 原生後台

  1. 下載/克隆: git clone -b drf-blog //gitee.com/zy7y/blog.git
  2. 本地啟動:
1. python -m venv venv   # 創建虛擬環境
   
2. venv\Scripts\activate  # windows 啟動虛擬環境
   

3. pip install -r requirements.txt # 安裝依賴包
   
4. Django項目配置

1. python manage.py makemigrations blog
2. python manage.py migrate

3. python manage.py createsuperuser --email [email protected] --username admin

4. python manage.py runserver

瀏覽器版本: Google Chrome 版本 92.0.4515.107

目錄結構

目錄結構生成: tree /f

├─Config    # 配置文件
│  │  __init__.py
│  └─ config.py
│
├─Pages     # 頁面對象
│  │  __init__.py
│  │  BasePage.py
│  │  HomePage.py
│  └─ LoginPage.py
│
├─Reports   # 測試報告
│  │  report.html
│  │
│  └─ assets
│          style.css
│
└─Tests   # 測試文件
│   │  __init__.py
│   │  conftest.py
│   │  test_base.py
│   │  test_home.py
│   └─ test_login.py
│  .gitignore # git 忽略文件
│  main.py  # 啟動文件
│  pytest.ini # pytest配置文件
│  readme.md  # 項目說明
└─ requirements.txt # 依賴庫

使用

  1. git clone //gitee.com/zy7y/SelniumPOM
  2. python -m venv venv
  3. 激活venv: venv\Scripts\activate
  4. 運行: 執行pytest 或者 運行main.py 文件