請問一下大家,自動化測試編碼結構是怎麼樣的?
前些天問過大家 WPF 框架的桌面應用怎麼 UI 自動化,在此謝謝大家的建議,我都一一嘗試過,最後是用 “pywinauto” 進行控制元件識別配合 “pyautogui” 控制滑鼠鍵盤事件解決的。
我現在寫好了一個表單必填項驗證的自動化測試指令碼,用到的模組如下:
pywinauto #控制元件識別
pyautogui #鍵盤滑鼠控制
pytest #測試框架
faker #虛擬資料創造
現在是測試一個有 24 項必填項的表單,驗證各個必填項是否成功判斷。目前我的編碼結構如下:
# 1.填寫必填項
class Sharp_Instrument_Injury_Required_Fields(object):
# 姓名填寫
def name_fill_in(self):
name_window = self.child("S1","Edit")
name_window.type_keys(str(self.fake.name()))
# 2.刪除必填項
class Required_Missing(Sharp_Instrument_Injury_Required_Fields):
# 查詢姓名填寫項,刪除內容
def gender_not_filled(self):
self.Operation(self.gender,0.7,'click')
# 呼叫判斷方法返回 True或False
return self.faild_fill_in(self.gender_missing,func = self.gender_fill_in)
# 點選儲存按鈕
def save_button(self):
save_button_window = self.window_1.child_window(title="儲存(S)", control_type="Button")
save_button_window.click_input()
pyautogui.press('Enter')
# 失敗判斷
def faild_fill_in(self,image,func,**kw):
# 圖片座標作為引數傳入
filled_missing = self.imagepath(image)
save_succeed = self.imagepath(self.save_succeed)
# 判斷是否"儲存成功"
if save_succeed != None:
self.ensure()
self.required_fields_fill_in()
# self.scroll(6,80)
return 'False'
# 判斷是否"必填項提示"
elif filled_missing != None:
self.ensure()
# 將函式作為引數傳入
func(**kw)
return 'True'
# 判斷是否其他提示
else:
self.ensure()
func(**kw)
return 'Exception'
# 3.pytest測試框架
class Test_Required_Missing(object):
# 驗證姓名空值是否提示“姓名不能為空”
def test_name_missing(self):
r = Required_Missing()
# 斷言
assert r.name_not_filled() == 'True'
我就是這樣三層的模式,操作步驟是 “填寫必填項”→“刪除必填項”→“點選儲存按鈕”→“斷言驗證結果”
但不知道是不是正確的,看別人的自動化程式碼,是將測試用例操作步驟放在 pytest/unittest 框架內的,而我是單獨寫了一個測試用例操作的類,pytest 僅用來做斷言,24 個必填項就有 24 個方法。
所以在此想請教大家,測試用例是必須寫在測試框架裡的嗎?還有我這個可以怎麼進行最佳化呢?還望大家不吝賜教,謝謝!
相關文章
- 請問一下大家,客戶端做 UI 自動化測試有沒有好的方案客戶端UI
- 請問一下這個問題怎麼解決,這是剛開始搭建的介面自動化測試框架框架
- 請問大家,自動化測試可以實現一個指令碼測試全部平臺嗎?指令碼
- 請問大家是怎麼實現,移動端多裝置同步執行測試用例的
- 請教各位元件化、paas 化得測試,採用什麼樣的測試方法,大家有這方面測試的希望多交流一下元件化
- 如何做自動化測試?什麼是自動化測試?
- 什麼是自動化測試?
- 自動化測試是什麼?
- 有沒有一種自動化測試是不需要編寫測試指令碼的呢?瞭解一下指令碼
- 物聯網方面的測試,自動化測試怎麼架構?架構
- 請問自動化測試應該測試非法資料嗎
- 做個調查,你們的介面自動化怎麼做的,程式碼方式還是測試平臺方式,效果怎麼樣
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- 請問對於富文字編輯器如何進行 UI 自動化測試?UI
- web自動化測試框架-06 如何快速編寫自動化指令碼Web框架指令碼
- 面試問到測試方法論完全懵逼,請問一下測試方法論到底 是什麼面試
- 自動化測試的生命週期是什麼?
- 請問自動化測試中如何自動開關 iPhone 飛航模式iPhone模式
- 請問一下,如何監聽 swipe 滑動事件,謝謝 - 使用於安卓端的自動化測試事件安卓
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- 怎樣開始用selenium進行自動化測試?
- 自動化介面測試,怎樣判斷 Bug 是否存在
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- 測試自動化後,我們需要怎樣的QA?(深挖探索性測試)
- 請教一下,UI 自動化選型問題UI
- 軟體測試自學怎麼樣
- 自動化測試總結(二)
- 構建高效的自動化測試框架框架
- 自動化測試系列 —— UI自動化測試UI
- 自動化測試從業者如何擇業?未來職業發展是怎樣的?
- 請問測試中 Gauge 的 [Concept] 怎麼翻譯,怎麼理解。
- 請教:有什麼常用的 java_selenium 的自動化測試框架Java框架
- 自動化測試實踐總結
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 廣告視訊 sdk 怎麼做自動化測試?
- 做自動化測試要考慮什麼?34年的測試專家這樣說
- 自動化裝置測試與自動化測試的區別