## 實現
* 實現given中步驟,只需要寫一個步驟函數,使用`@given("步驟名稱")`裝飾
* 一個步驟函數是可以添加多個步驟的,比如
```python
@when("點擊:登錄按鈕,進入登錄頁面")
@when("點擊:登錄按鈕,打開登錄彈窗")
def click_login_button(driver):
login_button = driver.find_element(By.XPATH, "//a[text()='登錄']")
login_button.click()
```
* 使用`parsers`來解析語句中的參數
```
@when(parsers.parse("彈窗中,輸入用戶:{username}, 密碼:{password}"))
def input_login_info_on_pop(driver, username, password):
```
* 步驟函數中,我們可以直接使用`pytest`的fixture。
```
# conftest.py 中定義了一個fixture
@pytest.fixture(scope="session")
def host():
return GLOBAL_VARS.get("host")
# --------------------------------------------------------------#
# test_*.py 測試方法中直接傳入fixture的名稱作為參數使用即可。
# 這里直接傳入了fixture的名稱: host, 作為測試方法:visit_projects_home的入參使用。
@given("打開瀏覽器,訪問項目首頁")
def visit_projects_home(driver, host):
driver.get(host)
```
* 步驟函數中的步驟描述,需要于`.feature`中的保持完全一致
### 使用scenarios或@scenario關聯用戶場景和步驟函數
`.feature`文件以及`.py`文件分別實現了用戶場景以及步驟函數,需要將這兩者關聯起來
* 假如步驟函數是放在`test_`開頭的`.py`文件中,可以直接在該文件中使用`scenarios`或`@scenario`關聯用戶場景和步驟函數
* 假如步驟函數不是放在`test_`開頭的`.py`文件中,我們可以新建一個`test_`開頭的`.py`來管理測試場景,但是需要導入該測試場景中所需要相關的步驟函數
##
- 前言
- 1.入門篇
- Python介紹
- 安裝與使用
- Python開發利器之VS Code
- 模塊安裝
- 命令行
- 一次Python無法安裝模塊的問題探索與解決之旅
- 命令運行
- Conda
- 下載地址
- 2.基礎篇
- 基礎語法
- 輸入與輸出
- with as的用法
- 注釋
- Python命令行參數
- 編碼
- 變量類型
- 列表遍歷
- 運算符
- 表達式語句
- 條件
- 循環
- 日期和時間
- 函數
- 高級語法
- @符號-裝飾器
- 模塊和包
- name
- init.py
- 錯誤和異常
- 面向對象
- 3.專題篇
- 常用功能
- Python 字符串連接
- python web
- Python CGI編程
- Python OAuth2
- 認證 Flask-HTTPAuth
- 常用命令
- 內置函數
- dir()
- print(f)
- 標準模塊
- sys
- pickle-數據序列化
- os
- IO(輸入輸出)
- 鍵盤輸入
- 文件讀寫
- 測試
- Python測試框架之pytest快速入門
- pytest-bdd快速示例和問題解決
- 基于pytest-bdd的項目目錄結構和命名規范
- python BDD 的相關概念
- Behave介紹和快速示例
- Python BDD之Behave測試報告
- Python BDD 框架比較之 pytest-bdd vs behave
- pytest進階
- Flask + pytest測試
- 參考網址
- pytest-bdd進階
- hehave進階
- 測試路徑
- python + selunium
- HTML 根據多層CSS 查找元素
- 等待執行
- 使用text 查找 span
- pytest如何在控制臺輸出
- 4.問題篇
- pip pip3 及區別
- TypeError: can only concatenate str (not "NoneType") to str
- 5.實戰篇
- matplotlib-繪圖包
- 導入類
- 命名規范
- 模塊查找
- 6.進階篇
- Flask
- Flask介紹
- Flask擴展模塊
- Flask-Login
- 問題
- Jinja2
- Flask-RESTful
- Flask-JWT-Extended
- WSGI
- Flask-SQLAlchemy
- 部署
- Flask VS Django
- Flask Web
- Flask + Vue
- Flask實戰
- Flask 標準目錄結構
- Blueprints
- 參考
- FastAPI 測試
- https 證書 Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate