基於 UI 層的 pytest 使用
同事研究的基於UI層的pytest指令碼
環境配置
1、軟體包安裝
python3.7
pip install pytest-ordering
pip install pytest
pip install selenium (https://www.cnblogs.com/eastonliu/p/9088301.html[元素定位教程])
https://npm.taobao.org/mirrors/chromedriverpython環境目錄下)(谷歌瀏覽器驅動,解壓到到
pip install allure-pytest
pip install psycopg2
pip install pytest-assume
pip install pytest-rerunfailures
pip install Appium-Python-Client
安裝SDK和jdk
2、環境配置
allure 配置bath環境變數(https://www.cnblogs.com/haohuixiang/p/12627551.html)
3、命令
指令碼執行命令:pytest
報告生成命令:allure generate report/ -o report/html --clean
工程包結構
指令碼解析
1、從order=0的指令碼開始執行,將各頁面瀏覽器的關閉操作禁止,原因是指令碼中各頁面都有寫了個關閉瀏覽器的操作。(按住ctrl,再點選函式即可跳轉到相應的函式頁面)
2、其餘各頁面的指令碼邏輯基本是一致的
1)獲取瀏覽器驅動: DriverUtils.get_test_driver()
2)獲取當前頁面的類方法: LoginProxy()
3)引數定義,讀取json中的入參: @pytest.mark.parametrize
4)定義一個方法(傳參):def test_login()
(1)呼叫已定義好的類中的方法,比如登入(傳參)self.login_handle.input_id(id_1)
(2)呼叫輸入使用者id的方法:def input_id(self, id_1)
(3)定義查詢使用者id的方法:def find_id(self):
(4)元素定位方法:self.ID = (By.CSS_SELECTOR, "[placeholder = '賬號']")
5)文字斷言:assert is_not_element_by_text()
6)截圖操作:allure.attach(self.driver.get_screenshot_as_png(), "查詢", allure.attachment_type.PNG)
7)資料庫斷言:inquire_sql_cs("select device_status from am_iot_device where bind_code= '{}';".format(web_base_page.sold_number))
相關文章
- 使用 ATX+pytest+allure-pytest 進行 IOS 的 UI 自動化測試iOSUI
- Flat UI:基於 Bootstrap 的扁平化 UI 開發包UIboot
- 基於Vue+element-ui 的Table樹VueUI
- 基於Tencent封裝的通用UI框架封裝UI框架
- 基於 Bootstrap 的 UI 擴充套件:StyleBootstrapbootUI套件
- FastAPI(43)- 基於 pytest + requests 進行單元測試ASTAPI
- 基於 vue-cli3 打造屬於自己的 UI 庫VueUI
- pytest fixture 使用
- fish-ui 一套基於vue2的ui元件庫UIVue元件
- 基於分層的token架構設計架構
- 基於「Chrome-應用層級原生事件」的 web-UI 自動化錄製是否可行?Chrome事件WebUI
- 基於Element-UI的Vue管理後臺搭建UIVue
- 基於PhantomFlow的自動化UI測試UI
- 基於Svelte3.x桌面端UI元件庫Svelte UIUI元件
- 使用註解來構造IoC容器 & 基於Spring、Hibernate的通用DAO層與Service層的實現Spring
- UI 層級問題UI
- 基於"堆"的底層實現和應用
- 基於C#的機器學習--深層信念網路C#機器學習
- iOS基於中間層的路由跳轉方案iOS路由
- 基於 RxJs 的前端資料層實踐JS前端
- 基於vue-resource的網路層封裝Vue封裝
- Spark UI (基於Yarn) 分析與定製SparkUIYarn
- 基於VUE移動端UI好用框架VueUI框架
- Pytest學習(四) - fixture的使用
- pytest-引數request的使用
- 基於 Pytest+Requests+Allure 實現介面自動化測試
- 基於vue(element ui) + ssm + shiro 的許可權VueUISSM
- 將CRUD分解為基於任務的UI -CodeOpinionUI
- 關於 pytest 外掛 pytest-rerunfailures 和 fixture 的相容性問題AI
- Pytest學習(十三)- 重複執行之pytest-repeat的使用
- EF架構~基於EF資料層的實現架構
- 基於Python+Requests+Pytest+YAML+Allure實現介面自動化PythonYAML
- 基於vue的Element-ui定義自己的select元件VueUI元件
- Pytest(1) - 執行引數的使用
- Pytest學習(七) - skip、skipif的使用
- Pytest學習(二) - 斷言的使用
- 開發一個基於react & typescript 的npm ui元件包ReactTypeScriptNPMUI元件
- 一種基於 cypress 的 UI 自動化測試框架UI框架