日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

e2e端到端測試實戰(zhàn):從設(shè)計思路到profile1配置化落地

e2e端到端測試實戰(zhàn):從設(shè)計思路到profile1配置化落地 1. 從“e2e”這個詞說起它到底指什么第一次看到“e2e”這三個字符很多人會愣一下。它既不像某個具體產(chǎn)品的名字也不像某個技術(shù)框架的縮寫更像是某種圈內(nèi)人才懂的暗號。其實 e2e 是 end-to-end 的縮寫中文一般叫“端到端”。這個詞在不同圈子里含義差別很大但核心意思是一致的從起點到終點把整條鏈路完整地跑一遍中間不省略、不跳過、不模擬。舉個生活化的例子。你去餐廳吃飯點了一道宮保雞丁。如果只測試“廚房能不能把雞丁炒熟”那叫單元測試如果測試“服務(wù)員能不能把菜從廚房端到你的桌上”那叫集成測試而 e2e 測試是你走進(jìn)餐廳、看菜單、點單、廚房做菜、服務(wù)員上菜、你吃完買單、走出餐廳——整條鏈路全部走一遍任何一個環(huán)節(jié)卡住這頓飯就算失敗。這就是端到端的本質(zhì)以最終用戶的視角驗證完整流程是否走得通。那為什么“e2e”會成為一個熱搜詞因為這兩年軟件交付節(jié)奏越來越快微服務(wù)、前后端分離、多端適配讓系統(tǒng)變得越來越碎。碎到一定程度單元測試全綠、集成測試全過用戶一用還是崩。于是大家重新意識到必須有人站在最外層把整條鏈路串起來跑一遍。e2e 測試、e2e 加密、e2e 流程管理這些概念集中爆發(fā)本質(zhì)上都是同一個訴求——別只看局部要看全程。而“e2e profile1”這個熱詞則把 e2e 推向了更具體的場景。profile 在工程語境里通常指“配置檔案”或“參數(shù)集”profile1 往往意味著某個默認(rèn)的、第一套的、基礎(chǔ)檔的配置方案。合在一起理解e2e profile1 大概率指向的是在端到端場景下使用第一套標(biāo)準(zhǔn)配置來完成某件事。它可能出現(xiàn)在測試框架的配置文件里可能出現(xiàn)在加密協(xié)議的參數(shù)協(xié)商中也可能出現(xiàn)在某個自動化流水線的預(yù)設(shè)模板中。不管具體落在哪個領(lǐng)域它的出現(xiàn)都說明一件事e2e 已經(jīng)從“理念”下沉到了“可配置、可復(fù)用、可標(biāo)準(zhǔn)化”的工程實踐層面。這篇文章面向的讀者很明確如果你正在做自動化測試、正在搭 CI/CD 流水線、正在處理跨系統(tǒng)數(shù)據(jù)一致性或者你只是單純被“e2e”這個詞反復(fù)刷屏想搞明白它到底怎么回事那接下來的內(nèi)容就是為你準(zhǔn)備的。我會從設(shè)計思路、核心細(xì)節(jié)、實操過程、問題排查四個維度把 e2e 這件事拆開揉碎講清楚并且重點解釋 profile1 這類配置化思路在其中的價值。文章里會穿插大量我實際踩過的坑和總結(jié)出來的技巧你可以直接抄作業(yè)也可以根據(jù)自己項目的情況做調(diào)整。2. e2e 方案的整體設(shè)計與思路拆解2.1 為什么 e2e 不能等同于“把單元測試串起來”很多人第一次接觸 e2e 時會有一個很自然的誤解既然 e2e 是測整條鏈路那我把所有單元測試按順序跑一遍不就等于 e2e 了嗎這個想法聽起來合理實際上完全跑偏。單元測試的視角是“函數(shù)級”的它關(guān)心的是給定輸入 A函數(shù) f 是否返回輸出 B。它不關(guān)心這個函數(shù)被誰調(diào)用、在什么環(huán)境下調(diào)用、調(diào)用前系統(tǒng)處于什么狀態(tài)。而 e2e 的視角是“用戶級”的它關(guān)心的是一個真實用戶從進(jìn)入系統(tǒng)到完成目標(biāo)中間經(jīng)歷的所有環(huán)節(jié)是否協(xié)同工作。這兩者的關(guān)注點根本不在一個層面上。我舉個實際項目中的例子。之前做過一個電商下單流程單元測試覆蓋了庫存扣減、訂單創(chuàng)建、支付回調(diào)、消息通知四個模塊每個模塊單獨跑都是綠的。但 e2e 一跑就掛原因是什么庫存扣減在事務(wù)提交前發(fā)了消息訂單創(chuàng)建在另一個事務(wù)里消費這條消息結(jié)果消息先到了、訂單還沒落庫消費端找不到訂單直接報錯。這個問題單元測試永遠(yuǎn)發(fā)現(xiàn)不了因為它只在“模塊之間的時序和事務(wù)邊界”上才會暴露。e2e 的價值恰恰就在這里它驗證的不是某個模塊對不對而是模塊之間的協(xié)作在真實時序下對不對。所以設(shè)計 e2e 方案時第一個要確立的原則就是不要試圖用單元測試的思維去做 e2e。e2e 的用例應(yīng)該從用戶故事出發(fā)而不是從函數(shù)列表出發(fā)。一個典型的 e2e 用例應(yīng)該長這樣“用戶登錄后搜索商品、加入購物車、提交訂單、完成支付、收到通知”而不是“測試庫存服務(wù)接口返回 200”。2.2 分層設(shè)計把 e2e 拆成可管理的幾層e2e 最大的痛點是“重”。啟動慢、執(zhí)行慢、失敗后定位難。如果所有 e2e 用例都從瀏覽器點擊開始、到數(shù)據(jù)庫校驗結(jié)束那維護(hù)成本會高到讓人想放棄。所以實際工程中e2e 一定要分層。我通常會把 e2e 分成三層來設(shè)計。第一層是API 級 e2e繞過 UI直接通過接口調(diào)用來串聯(lián)完整業(yè)務(wù)流。這一層跑得快、穩(wěn)定性高適合覆蓋大部分核心鏈路。第二層是UI 級 e2e通過瀏覽器或客戶端真實操作來驗證關(guān)鍵用戶路徑。這一層跑得慢但最接近真實用戶適合覆蓋登錄、下單、支付這類不能出錯的黃金路徑。第三層是數(shù)據(jù)級 e2e關(guān)注數(shù)據(jù)從產(chǎn)生到消費的完整流轉(zhuǎn)比如一條消息從生產(chǎn)者發(fā)出、經(jīng)過隊列、被消費者處理、最終落庫整條鏈路的數(shù)據(jù)一致性。這三層的比例大概是 7:2:1。API 級占大頭UI 級只覆蓋最關(guān)鍵的幾條路徑數(shù)據(jù)級針對特定場景補充。這樣設(shè)計的好處是日?;貧w跑 API 級幾分鐘出結(jié)果發(fā)版前跑 UI 級確認(rèn)用戶路徑?jīng)]問題數(shù)據(jù)級按需觸發(fā)不占用常規(guī)流水線時間。2.3 profile1 這類配置化思路為什么重要現(xiàn)在回到熱詞里的“profile1”。在 e2e 實踐中profile 的本質(zhì)是把環(huán)境差異和參數(shù)差異從代碼里抽出來變成可切換的配置。為什么這件事重要因為 e2e 天然要面對多環(huán)境本地開發(fā)環(huán)境、測試環(huán)境、預(yù)發(fā)環(huán)境、生產(chǎn)環(huán)境每個環(huán)境的地址、賬號、數(shù)據(jù)狀態(tài)都不一樣。如果這些差異硬編碼在用例里那換一個環(huán)境就要改一堆代碼維護(hù)成本極高。profile1 通常代表“第一套標(biāo)準(zhǔn)配置”它可能包含基礎(chǔ) URL、數(shù)據(jù)庫連接串、測試賬號、超時時間、重試次數(shù)、是否開啟截圖、是否清理數(shù)據(jù)等。有了 profile 機制同一套 e2e 用例可以在不同環(huán)境之間切換只需要換一個 profile 文件。這聽起來簡單但實際落地時有很多細(xì)節(jié)要注意。比如超時時間這個參數(shù)。在本地環(huán)境接口響應(yīng)可能 200ms 就回來了超時設(shè) 5 秒足夠。但在預(yù)發(fā)環(huán)境因為網(wǎng)絡(luò)鏈路更長、依賴服務(wù)更多同樣的接口可能要 2 秒才返回。如果超時時間寫死本地能過、預(yù)發(fā)就掛。有了 profile你可以給預(yù)發(fā)環(huán)境單獨設(shè) 10 秒超時。再比如測試賬號本地環(huán)境可能用 mock 賬號預(yù)發(fā)環(huán)境必須用真實測試賬號這些差異都應(yīng)該在 profile 里體現(xiàn)。我見過很多團隊一開始不做 profile等到環(huán)境多起來之后用例里全是 if-else 判斷當(dāng)前是什么環(huán)境代碼亂得沒法看。所以我的建議是e2e 項目啟動的第一天就把 profile 機制建好。哪怕一開始只有一個環(huán)境也要留出這個擴展點。3. 核心細(xì)節(jié)解析與實操要點3.1 用例設(shè)計從用戶故事到可執(zhí)行腳本e2e 用例的設(shè)計質(zhì)量直接決定整個項目的成敗。我見過太多團隊把 e2e 寫成“接口調(diào)用大雜燴”一個用例里調(diào)了十幾個接口失敗了根本不知道是哪一步的問題。好的 e2e 用例應(yīng)該具備三個特征目標(biāo)單一、步驟清晰、斷言明確。目標(biāo)單一是指一個用例只驗證一個用戶目標(biāo)。比如“用戶能成功下單”是一個目標(biāo)“用戶能成功下單并且能取消訂單”就是兩個目標(biāo)應(yīng)該拆成兩個用例。步驟清晰是指每一步都有明確的輸入和預(yù)期輸出而不是把一堆操作堆在一起。斷言明確是指每一步都要有校驗不能只在最后校驗一次。具體怎么寫我通常用 Given-When-Then 的結(jié)構(gòu)來組織。Given 描述前置條件比如“用戶已登錄且購物車有一件商品”When 描述用戶操作比如“用戶點擊提交訂單并完成支付”Then 描述預(yù)期結(jié)果比如“訂單狀態(tài)變?yōu)橐阎Ц稁齑婵蹨p 1用戶收到通知”。這個結(jié)構(gòu)的好處是它強迫你把前置條件和預(yù)期結(jié)果想清楚而不是上來就寫操作步驟。在代碼層面我建議把每個步驟封裝成獨立的函數(shù)或方法用例本身只負(fù)責(zé)編排。比如login(user)、addToCart(product)、submitOrder()、pay(orderId)、assertOrderStatus(orderId, PAID)。這樣用例讀起來就像自然語言維護(hù)起來也方便——某個步驟的實現(xiàn)變了只需要改那個函數(shù)不用動所有用例。3.2 數(shù)據(jù)管理e2e 最容易被忽視的命門如果說用例設(shè)計是 e2e 的骨架那數(shù)據(jù)管理就是 e2e 的血液。數(shù)據(jù)沒管好e2e 要么跑不起來要么跑出來的結(jié)果不可信。我見過最典型的問題就是用例 A 創(chuàng)建了一條數(shù)據(jù)用例 B 依賴這條數(shù)據(jù)結(jié)果用例 A 先跑、用例 B 后跑沒問題一旦順序反過來就掛。這種用例之間的隱式依賴是 e2e 穩(wěn)定性的頭號殺手。解決這個問題的核心思路是每個用例自己準(zhǔn)備數(shù)據(jù)、自己清理數(shù)據(jù)不依賴其他用例的狀態(tài)。具體怎么做有三種常見策略。第一種是API 準(zhǔn)備法通過調(diào)用業(yè)務(wù)接口來創(chuàng)建測試數(shù)據(jù)。比如要測下單先調(diào)創(chuàng)建商品接口、再調(diào)加購物車接口。這種方式的優(yōu)點是數(shù)據(jù)真實、貼近生產(chǎn)缺點是準(zhǔn)備過程本身可能失敗增加了不確定性。第二種是數(shù)據(jù)庫直插法直接往數(shù)據(jù)庫里寫數(shù)據(jù)。優(yōu)點是快、可控缺點是繞過了業(yè)務(wù)邏輯可能造出業(yè)務(wù)上不合法的數(shù)據(jù)。第三種是快照恢復(fù)法在用例開始前把數(shù)據(jù)庫恢復(fù)到某個基準(zhǔn)快照。優(yōu)點是干凈徹底缺點是需要數(shù)據(jù)庫支持快照且恢復(fù)過程可能較慢。我的實踐經(jīng)驗是核心鏈路用 API 準(zhǔn)備法邊緣場景用數(shù)據(jù)庫直插法整體環(huán)境用快照恢復(fù)法做兜底。比如下單支付這條黃金路徑一定要用 API 準(zhǔn)備數(shù)據(jù)因為這條路徑本身就是要驗證的而像“查詢歷史訂單”這種只讀場景可以直接插數(shù)據(jù)快且穩(wěn)。還有一個細(xì)節(jié)容易被忽視測試數(shù)據(jù)的唯一性。如果多個用例并行跑都創(chuàng)建同一個用戶名的數(shù)據(jù)就會沖突。解決辦法是在數(shù)據(jù)里加唯一后綴比如時間戳或隨機字符串。我通常會在 profile 里配一個dataPrefix每個環(huán)境用不同的前綴這樣即使多個環(huán)境共用一個數(shù)據(jù)庫也不會互相干擾。3.3 等待與重試異步系統(tǒng)的必修課現(xiàn)代系統(tǒng)大量使用異步消息隊列、事件驅(qū)動、最終一致性這些機制讓 e2e 變得極其棘手。你調(diào)完支付接口訂單狀態(tài)不會立刻變成已支付可能要等幾百毫秒甚至幾秒。如果你調(diào)完接口立刻斷言必然失敗。新手最常見的做法是sleep(5)睡 5 秒再斷言。這個做法的問題在于睡少了不夠睡多了浪費時間而且不穩(wěn)定。正確的做法是輪詢等待每隔 200ms 查一次狀態(tài)直到狀態(tài)符合預(yù)期或超時。這樣既快又穩(wěn)。輪詢等待的實現(xiàn)要點有三個。第一是超時時間要合理太短容易誤判太長拖慢整體執(zhí)行。我一般設(shè) 10 到 30 秒具體看業(yè)務(wù)。第二是輪詢間隔要適中太密會給系統(tǒng)壓力太疏會浪費時間。200ms 到 500ms 是比較好的區(qū)間。第三是失敗時要給出有用信息不能只說“超時了”要說明“等待訂單狀態(tài)變?yōu)?PAID當(dāng)前狀態(tài)是 PENDING已等待 15 秒”。這樣排查問題時能省很多時間。重試機制則是另一個維度。有些失敗是偶發(fā)的比如網(wǎng)絡(luò)抖動、服務(wù)瞬時不可用重試一次就好了。但重試不能濫用否則會把真正的 bug 掩蓋掉。我的原則是只對明確的瞬時故障重試且重試次數(shù)不超過 2 次。比如 HTTP 502、連接超時這類可以重試斷言失敗、業(yè)務(wù)邏輯錯誤這類不能重試必須暴露出來。3.4 環(huán)境隔離與 profile 配置實戰(zhàn)前面提到 profile 的重要性這里展開講一下具體怎么配。一個典型的 e2e profile 文件通常包含以下幾類配置配置項說明示例baseUrl被測系統(tǒng)的基礎(chǔ)地址https://test.example.comdbUrl數(shù)據(jù)庫連接串jdbc:mysql://test-db:3306/appaccount測試賬號e2e_user_01password測試密碼從環(huán)境變量讀取timeout默認(rèn)超時時間毫秒10000retryCount重試次數(shù)2dataPrefix測試數(shù)據(jù)前綴e2e_test_screenshot失敗時是否截圖trueprofile1 作為第一套標(biāo)準(zhǔn)配置通常對應(yīng)測試環(huán)境。它的特點是數(shù)據(jù)可以隨意造、服務(wù)可以隨意重啟、失敗可以隨意重試。而生產(chǎn)環(huán)境的 profile 則要保守得多只讀為主、不造數(shù)據(jù)、不重試、失敗立即告警。配置的加載方式也有講究。我推薦用環(huán)境變量加配置文件的組合敏感信息如密碼、密鑰走環(huán)境變量不落盤非敏感信息走配置文件方便版本管理。加載順序是先讀默認(rèn)配置再用 profile 文件覆蓋最后用環(huán)境變量覆蓋。這樣既靈活又安全。還有一個坑要提醒profile 文件不要提交敏感信息到代碼倉庫。我見過有團隊把生產(chǎn)數(shù)據(jù)庫密碼寫在 profile 里提交了這是嚴(yán)重的安全隱患。正確的做法是配置文件里只寫占位符真實值通過 CI/CD 的密鑰管理功能注入。4. 實操過程與核心環(huán)節(jié)實現(xiàn)4.1 從零搭建一個 e2e 測試項目假設(shè)你現(xiàn)在要為一個 Web 應(yīng)用搭建 e2e 測試我會按下面的步驟來操作。這套流程我在多個項目中復(fù)用基本可以直接抄。第一步是選型。如果是 Web 應(yīng)用Playwright 和 Cypress 是兩個主流選擇。Playwright 的優(yōu)勢是支持多瀏覽器、多語言、并行執(zhí)行好Cypress 的優(yōu)勢是開發(fā)體驗好、調(diào)試方便。如果是 API 級 e2e直接用 RestAssured、Supertest 或 HttpClient 就夠了不必上重型框架。我的建議是UI 級用 PlaywrightAPI 級用輕量庫不要為了統(tǒng)一而強行用一個框架做所有事。第二步是建目錄結(jié)構(gòu)。我通常這樣組織e2e/ profiles/ profile1.yaml profile2.yaml cases/ order/ payment/ steps/ login.ts cart.ts utils/ wait.ts data.ts reports/profiles 放配置cases 放用例steps 放步驟封裝utils 放工具函數(shù)reports 放測試報告。這個結(jié)構(gòu)清晰、易擴展新人接手也能快速找到東西。第三步是寫第一個用例。不要一上來就寫復(fù)雜的先寫一個最簡單的“登錄成功”用例把整條鏈路跑通。這個用例的作用是驗證框架、配置、報告、斷言都工作正常。等這個用例綠了再逐步加復(fù)雜度。第四步是接入 CI。e2e 如果不接入 CI基本等于白做。接入 CI 的要點是每次代碼合并前跑 API 級 e2e每天定時跑 UI 級 e2e發(fā)版前跑全量。CI 里要配好 profile通常用環(huán)境變量注入敏感信息。4.2 一個完整的下單 e2e 用例拆解下面用一個真實的下單用例來演示完整實現(xiàn)。這個用例的目標(biāo)是用戶登錄后把商品加入購物車提交訂單并完成支付最終訂單狀態(tài)為已支付。首先是前置準(zhǔn)備。通過 API 創(chuàng)建一個測試商品庫存設(shè)為 10價格設(shè)為 100。這里用 API 而不是直接插庫是為了確保商品數(shù)據(jù)符合業(yè)務(wù)規(guī)則。創(chuàng)建完成后拿到 productId。然后是登錄步驟。調(diào)用登錄接口拿到 token后續(xù)請求都帶上這個 token。這里要注意token 可能有有效期如果用例執(zhí)行時間較長要在步驟里處理 token 刷新。接著是加購物車。調(diào)用加購接口傳入 productId 和數(shù)量 1。斷言返回成功并且購物車?yán)锏纳唐窋?shù)量為 1。然后是提交訂單。調(diào)用下單接口傳入購物車 ID。斷言返回訂單號并且訂單狀態(tài)為待支付。這里要注意下單可能會鎖庫存如果后續(xù)支付失敗要確保庫存能釋放否則會影響其他用例。接著是支付。調(diào)用支付接口傳入訂單號和支付金額。支付通常是異步的所以這里要用輪詢等待訂單狀態(tài)變?yōu)橐阎Ц?。輪詢的超時時間設(shè)為 15 秒間隔 300ms。最后是斷言。查訂單詳情斷言狀態(tài)為已支付查庫存斷言從 10 變成 9查消息通知斷言用戶收到支付成功通知。這三個斷言分別驗證了訂單、庫存、通知三個維度的正確性。整個用例跑下來大概 3 到 5 秒。如果失敗報告里會顯示是哪一步失敗、當(dāng)時的頁面截圖或接口響應(yīng)、以及等待了多久。這些信息對排查問題至關(guān)重要。4.3 參數(shù)計算與選擇超時和重試到底設(shè)多少超時和重試這兩個參數(shù)設(shè)大了浪費時間設(shè)小了誤報頻繁。怎么定我的方法是基于歷史數(shù)據(jù)加安全邊際。先收集一段時間內(nèi)該接口的響應(yīng)時間分布算出 P95 和 P99。比如某接口 P95 是 800msP99 是 2 秒。那超時時間就設(shè)為 P99 的 3 到 5 倍也就是 6 到 10 秒。這樣既能覆蓋絕大多數(shù)正常情況又不會等太久。重試次數(shù)則要看失敗的性質(zhì)。如果是網(wǎng)絡(luò)類失敗重試 1 到 2 次通常能解決。如果是業(yè)務(wù)類失敗重試多少次都沒用反而掩蓋問題。所以我的配置是網(wǎng)絡(luò)超時重試 2 次斷言失敗不重試服務(wù) 5xx 重試 1 次。還有一個細(xì)節(jié)重試要有退避。第一次失敗后等 1 秒再重試第二次失敗后等 2 秒而不是立刻重試。因為瞬時故障往往需要一點時間恢復(fù)立刻重試大概率還是失敗。4.4 報告與可觀測性失敗時能快速定位e2e 失敗不可怕可怕的是失敗了不知道哪里出了問題。所以報告和可觀測性必須做好。我的報告里通常包含這些信息用例名稱、執(zhí)行時間、耗時、每一步的狀態(tài)、失敗步驟的詳細(xì)日志、接口請求和響應(yīng)、頁面截圖UI 級、數(shù)據(jù)庫快照數(shù)據(jù)級。Playwright 自帶的 trace 功能非常好用它能把整個執(zhí)行過程錄下來包括每一步的 DOM 快照、網(wǎng)絡(luò)請求、控制臺日志。失敗時打開 trace 文件就像看錄像回放一樣能快速定位問題。我強烈建議開啟這個功能雖然會占用一些磁盤空間但排查問題時省下的時間遠(yuǎn)超這點成本。除了單次執(zhí)行的報告還要有趨勢分析。比如某個用例最近 7 天的失敗率、平均耗時變化。如果某個用例突然開始頻繁失敗或者耗時逐漸增加都是系統(tǒng)出現(xiàn)問題的信號。這些趨勢數(shù)據(jù)可以接入監(jiān)控面板讓團隊隨時看到 e2e 的健康狀況。5. 常見問題與排查技巧實錄5.1 e2e 用例不穩(wěn)定時好時壞怎么辦這是 e2e 最經(jīng)典的問題業(yè)內(nèi)叫“flaky test”。表現(xiàn)是用例有時候過、有時候掛重跑一次又過了。這種問題最消耗團隊信心因為大家會逐漸不信任 e2e 結(jié)果。排查 flaky 問題的第一步是收集數(shù)據(jù)。不要憑感覺說“這個用例不穩(wěn)定”要統(tǒng)計最近 20 次執(zhí)行中失敗了幾次、失敗的是哪一步、失敗時的錯誤信息是什么。有了數(shù)據(jù)才能定位。常見的 flaky 原因有這幾類。第一類是等待不足異步操作還沒完成就斷言了。解決辦法是把固定 sleep 改成輪詢等待。第二類是數(shù)據(jù)沖突多個用例用了相同的數(shù)據(jù)。解決辦法是加唯一前綴。第三類是環(huán)境不穩(wěn)定比如測試環(huán)境的服務(wù)本身在重啟。這種要推動運維解決e2e 層面只能加重試兜底。第四類是用例順序依賴用例 A 依賴用例 B 先跑。解決辦法是讓每個用例自給自足。我的經(jīng)驗是flaky 用例必須當(dāng)天修不能拖。一旦拖久了大家就會習(xí)慣性忽略失敗e2e 就失去意義了。如果實在修不了就先把它從常規(guī)流水線里摘出來單獨跑避免影響整體信號。5.2 測試數(shù)據(jù)被污染用例互相影響數(shù)據(jù)污染是另一個高頻問題。表現(xiàn)是用例單獨跑能過一起跑就掛。原因通常是用例之間共享了數(shù)據(jù)或者前一個用例的殘留數(shù)據(jù)影響了后一個用例。解決思路前面提過每個用例自己準(zhǔn)備、自己清理。但實際落地時有兩個難點。一是清理不徹底比如用例創(chuàng)建了訂單但訂單關(guān)聯(lián)的消息、日志、緩存沒清理。二是清理失敗比如用例中途掛了清理代碼沒執(zhí)行到。針對第一個難點我的做法是按數(shù)據(jù)前綴批量清理。每個用例的數(shù)據(jù)都帶統(tǒng)一前綴用例結(jié)束后按前綴刪除所有相關(guān)數(shù)據(jù)不管是訂單、消息還是緩存。針對第二個難點我的做法是在用例開始前也做一次清理確保環(huán)境干凈。這樣即使上次清理失敗這次開始前也會補上。還有一個技巧用獨立的測試數(shù)據(jù)庫或 schema。如果條件允許給 e2e 單獨一個數(shù)據(jù)庫和生產(chǎn)、開發(fā)完全隔離。這樣即使數(shù)據(jù)亂了也不會影響其他人。清理的時候也可以更粗暴直接 truncate 表不用小心翼翼地按條件刪。5.3 執(zhí)行太慢CI 流水線等不起e2e 慢是天然屬性但慢到影響交付就不行了。優(yōu)化執(zhí)行速度有幾個方向。第一個方向是并行。把用例分成多個組同時跑。Playwright 和大多數(shù)測試框架都支持并行。并行的關(guān)鍵是用例之間不能有數(shù)據(jù)沖突所以前面說的數(shù)據(jù)隔離要做好。并行度不是越高越好要看測試環(huán)境的承載能力一般設(shè) 4 到 8 個 worker 比較合適。第二個方向是分層執(zhí)行。前面提過的 API 級、UI 級、數(shù)據(jù)級分層日常只跑 API 級UI 級定時跑。這樣日常流水線幾分鐘就能出結(jié)果。第三個方向是復(fù)用登錄態(tài)。登錄往往是 e2e 里最耗時的步驟之一如果每個用例都重新登錄累積起來很可觀。解決辦法是登錄一次把 token 或 cookie 存下來后續(xù)用例復(fù)用。Playwright 的 storageState 功能就是干這個的。第四個方向是精簡用例。定期 review 用例刪掉重復(fù)的、過時的、價值低的。e2e 用例不是越多越好覆蓋核心路徑就夠了邊緣場景交給單元測試和集成測試。5.4 常見問題速查表問題現(xiàn)象可能原因排查方向解決辦法用例時好時壞等待不足、數(shù)據(jù)沖突、環(huán)境不穩(wěn)看失敗步驟和錯誤信息輪詢等待、數(shù)據(jù)隔離、加重試單獨跑能過一起跑掛用例間數(shù)據(jù)依賴檢查數(shù)據(jù)是否共享每用例自備數(shù)據(jù)、加前綴斷言失敗但頁面正常斷言時機太早看斷言前的等待加輪詢等待接口 401token 過期或未傳檢查請求頭復(fù)用登錄態(tài)、刷新 token執(zhí)行越來越慢數(shù)據(jù)累積、環(huán)境退化看歷史耗時趨勢定期清理數(shù)據(jù)、重啟環(huán)境CI 上掛但本地能過環(huán)境差異對比 profile 配置統(tǒng)一配置、用環(huán)境變量5.5 幾個我踩過的坑和獨家技巧第一個坑不要用生產(chǎn)數(shù)據(jù)做 e2e。我見過有團隊圖省事直接連生產(chǎn)庫跑 e2e結(jié)果造了一堆臟數(shù)據(jù)清理了半天。e2e 必須用獨立環(huán)境這是底線。第二個坑不要在用例里寫死等待時間。sleep(5)這種寫法遲早會出問題。要么用輪詢等待要么用框架提供的等待機制。第三個坑不要忽略清理步驟的失敗。清理失敗如果不報警數(shù)據(jù)會越積越多最終拖垮環(huán)境。清理步驟也要有斷言和告警。第一個技巧給用例打標(biāo)簽。比如smoke、regression、slow。CI 里按標(biāo)簽選擇執(zhí)行日常跑 smoke發(fā)版跑全量。這樣靈活又高效。第二個技巧失敗時自動錄屏。Playwright 支持失敗時自動錄視頻排查 UI 問題時非常有用。雖然占空間但值得。第三個技巧定期 review e2e 報告。不要只看通過率要看耗時趨勢、失敗分布。這些數(shù)據(jù)能幫你發(fā)現(xiàn)潛在問題比如某個接口越來越慢、某個用例越來越不穩(wěn)定。6. 關(guān)于 e2e 和 profile 的一些個人體會做 e2e 這些年我最大的體會是e2e 的價值不在于發(fā)現(xiàn)多少 bug而在于給團隊信心。單元測試給的是“代碼邏輯沒問題”的信心e2e 給的是“用戶能用”的信心。這兩種信心缺一不可但后者往往更稀缺。profile 這類配置化思路表面上是技術(shù)細(xì)節(jié)實際上是工程成熟度的體現(xiàn)。一個團隊如果能把 e2e 的配置管理得井井有條說明他們對環(huán)境、對流程、對協(xié)作都有清晰的認(rèn)知。反過來如果 e2e 配置一團亂麻那大概率其他工程實踐也好不到哪去。最后分享一個小技巧把 e2e 當(dāng)成產(chǎn)品來做而不是當(dāng)成任務(wù)來完成。給它好的目錄結(jié)構(gòu)、清晰的文檔、穩(wěn)定的環(huán)境、及時的維護(hù)。你對它投入多少它就回報你多少。那些把 e2e 做成“擺設(shè)”的團隊往往不是 e2e 沒用而是沒把它當(dāng)回事。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91天堂丝袜美腿| 国产精品久久久九九九| 淫乱图区 | 欧美日韩国产中文精品字幕自在自线,| 欧美人妻一区| 蜜臀av一区二区三区免费观看| 狠狠操狠狠爱| 久久侵犯人妻爽爽爽| 国产亚洲精品av一区| 亚洲欧美大香蕉| 丁香婷婷久久| 人妻铁牛TV| 免费在线视频97| 91爱| 国厂麻豆77q4| 九九aV| 91精片| 亚洲自拍一区夜夜操| 九九色影院| 久久啊啊| 蜜桃臀一区二区三区久久| AV中文在线| 日韩一级免费性爱| 成人26uuu| 综合免费无码中文| 91操人| 日韩操p| 色欧美在线| 色 婷97| 色综合久久88色综合久久天天| 又大又大又大又粗爽高潮观看| 国偷自 一区二区| 九月婷婷综合| 欧美拳交在线播放| 日本97久久久精品| 人妻插插人妻人| 国产版a级片直播在线| 日韩兔费看黄片| 国产中文字幕在线观看| 久9久精品视频| av天堂手机版追回 | 日操粉逼逼| 看全色黄大色大片免费视频| 人人干黄色| 亚洲密乳AV| 欧美96在线|欧| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 日韩精品人妻中文字幕久久久| 亚洲综合九九| 国产又黄又爽| 伊人精品久久网站| 欧美激情综合网| 日韩视频中文字幕| 亚洲欧美综合区自拍另类| 在线视频97| 性色AV蜜色av色欲av| 国产后入式在线观看| 久污| 热久日综合| 国产情色第一第二页在线观看| 亚洲不卡av在线| 亚洲色性情三级| 午夜综合在线| 好爽免费视频| 日本在线观看网址| 探花激情视频| 97久久精品国产| 欧洲乱码一区二区| 国产97综合| 黄片视频观看| 六月激情婷婷| 91欧美美女日韩国产婷婷| 97se综合网| 91欧美偷拍| 男人成人黄色视频在线观看免费下载| 女上位精品在线| 久久久性少妇| 国产丝袜欧美在线视频| 五月丁香啪啪网| 亚洲色图20p| 欧美色图片色哟哟| 一级久久性爱视频| 99精品热| 国模久久在线| 黑人精品XXX一区一二区| 丁香五月天激情综合| 免费夜夜爱黄色视频毛片| 啊v视频在线观看| 亚洲。日韩。欧美| 久久最新视频免费观看| 女人天堂av在线播放| 黄片com.| 九热超碰| 丁香五月天啪啪| 东北女人操比视频| 亚洲国产一区二区日韩专区| 人人操人人大香蕉| 69综合网| 国产自产自拍| 超碰在线人妻不卡| 18禁无码永久免费无限制| 久久久久9| 蜜臀AV成人精品蜜臀| 中文字幕在线免费观看 | 香蕉99秘 一区精品蜜桃臀| 少妇啪啪自拍| 婷婷五月丁香五月| 男人的亚洲天堂| 秋霞一集毛片观看| 六月丁香啪啪啪| 久久9精品网站| 日韩性爱毛片操骚逼| 99色综合| 欧美 色 亚洲| 国产激情视频在线观看| 91蜜桃传媒精品久久久一区二区| WWW黄片COM| 国产亚洲精品美女| 青青伊人这里只有精品| 亚洲图片欧美91N| 欧美久久婷婷| 夜夜操美女| 少妇500双飞99| 性爱网站一区二区| 99久热精品99re6热| 91骚熟女| 九九成人精品| 熟女乱伦A| 日本99一区二区| 51国产午夜精品视频| 国产热RE99久久6国产精品首| 欧美国产一区二区三区麻豆传媒| 久久国产乱子伦精品免费女人| 91九色丨国产丨爆乳| 麻豆综合一区av| 欧美页片| 国产一级做a爰大片免费久久| 九九九九欧美| 亚洲色综合| 日韩射精| 午夜福利在线视频1000| 欧美黄片欧美黄片xxx| 色爱天堂| AV一二区| AV无码久久久精品| 91香蕉国产尤物视频| 99re这里只有精品3| www亚洲免费| 本道在线| ,国产乱人伦精品一区二区三区| 欧美组图日韩亚洲中文字幕| 夜夜嗷嗷一区二区| 久久男女激情视频网站| 精品九九九九九| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日本一级性爱| 99久久久无码国产精品性啊聊| 五月丁香色婷婷| 国产精品一区二区a| 国精综合一二三区影视| www久| 精品欧美不卡在线播放| 天天舔日美女视频| 老女人老91妇女老热女| AV中文在线可看| 欧美日韩中文字幕人妻| 国产一区二区久久| 色女综合| 精品久久一区二区三区四区五区| 中文字幕精品一区欧美| 精品欧美老熟女一二区| 国产又长又大又粗的视频| 天天狠| 国产超碰人人爽人人做| 国产主播福利| 性综合网| 欧美色91| 蜜区区视频79 | 性色综合网| 婷婷丁香一区二区三区| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 一二三四免费视频| 在线v中文字幕一区二区三区| 九九九九热| 欧美第五页| 偷拍 精品另类 凸凹了四区| 日韩欧美俄罗斯A片| 韩国三级一线观看久| 玖玖久久久| 91在线丝袜视频| 亚洲日韩AV视色| 极品极品色影院| 乱伦av国产| 家庭乱伦国产精品| 九九精品无码专区免费| 丁香五六月啪啪| 91久久| 欧美日韩中文字幕不卡| 亚洲av资源| 精品十八在线观看| 91免费看中出视频| 夜夜高潮夜夜爽夜夜爱爱一区| 日日夜夜骚| 啊啊啊啊嗯嗯嗯用力好爽 | 久久东京热成人| 日韩精品一区,二区 九九...老司机| 99999精品成人| 久久亚洲不卡一区二区三区 | 91天天综合日韩欧美| 哑洲在线| 综合欧美亚洲| 乱伦日本中文自拍| 中文字幕一区二区三区高清| 亚洲中文日韩欧美大香蕉视频| 亚洲男人天堂AV| 亚洲女人91| 99re黄 | 97综合国产精品高潮久久| 肉丝网站91| 91粉嫩萝控精品福利网站_精品影音先锋国 | 日韩人妻精品| 密臀视频三区免费网站| 素人一区二区三区日韩| 久操网址| 亚洲色图激情小说| 亚洲欧美九九九| 69人妻精品丰满熟女区| 亚洲国产福利视频| 色香欲综合| 天天视频黄| 欧美性爱日韩性爱| 91free福利| 综合色图亚洲欧美| 99re在线视频这里只有精品| 好属操| 超碰色男人操熟女| 国产吞精a级片激情电影| AV九九| 欧美日韩国产中文精品字幕自在自线,| 东北女人的毛片| 欧美日本视频一区| 国产精品免费久久久久久久久久| 日韩操p| 麻豆啪啪啪视频| 六月婷激情福利天堂69| 日韩无码服务区| 九九碰九九爱97超| 九九黄色视频在线观看| 99爱久久视频频| 亚洲s色图| 亚洲色人| 日本99久久| 九九热超碰97亚洲最新香蕉 | 在线一道啪| 色色国产| 美女十八禁| 狠狠色伊人亚洲综合网站色| 五月婷婷综合激情| 欧美激情一| 国产精品国产亚洲区艳妇糸列| 熟女字幕| 欧美日日操| 91草草草| 久久久久99999| 午夜超爽| 啊啊啊好湿国产一二| 亚洲情色综合网| 日产欧美电影一区二区三区| 老女人爆菊| 无码人妻丰满熟妇区毛片| 日本αv| 婷婷大香蕉| 日韩一级二级三级免费看完整版国语版| 97在线免费视频观看| 丝袜剧情| 蜜桃久久久久久久久久久久| 91被操| 成人综合色网| 伊人麻豆传媒| 亚洲欧美精品91| 久久久96精品| 一级久久久久久久久久久| AV丝袜少妇| 2023天天操夜夜操| 五月丁香| 亚洲精品亚洲人成人网| 不卡六六在线91| 午夜电影在线观看无码专区| 蜜臀久久久国产| 中文字幕日韩专区精品系列| 青青草久久一区网| 国产精品高潮呻吟av久久4虎| 亚洲国男人的天堂| 91亚洲综合| 日本在线一二| 大香蕉久久| 99激情| 欧美色图电影| 大鸡吧尹人在线| 黄色视频高清无码网站| 污到发麻的视频 国产| 97爱综合| 色女综合| 人人射人人操人人摸| 99精品高潮| 免费中文在线| 欧美九九九九九| 欧美老熟另类| 四虎影视永久在线免费| 蜜臀av网址| 国产精选三级在线观看| 久久久久久999| 久久人妻丝袜一区二区三| 欧美高清色| 天天摸夜夜摸| 偷窥自拍A片| 日韩精品午夜操呦呦不卡影院| 人妻啊啊人妻啊| 99re免费| 亚洲日韩东京热一区| 中字乱伦AV| 青娱乐黄色录像| 无码一区二区三区四区五区六区七区八区九区十区视频 | 国产精品ⅴ无码大片在线看.| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚洲成人帖图| 亚洲日本韩国极品一区二区| 国产成人精品必看| 变态综合色| 欧美性暴力猛交XXXX | 9997se| 农村妇女一级二级三级视频| 26uuu性物| 欧综合网| 久草久日| 久久亚州高清| 欧美日韩国产在线| 免费亚洲黄色视频在线观看| 91狠狠综合网| 国产91专区| 精品无码一区二区| 成人欧美一区二区三区黑人一| 成人免费视瓶| 99re9| 夜夜无码| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 97在线公开视频| 青娱乐999| a片亚洲一本通视频| 伊人久久婷婷| 久久久精品视频免费观看| 一区二区三区四区理论片| 色欲人妻一区二区在线| 欧美一级三级| 99精品久久久久久久婷婷蜜桃| 欧洲性爱无码区| 欧美综合色图片| 日欧毛片久久| 日韩电影天堂视频一区二区| 久久久久久久久久久人妻| 在线观看国产黄色| 美女极品一区二区三区| 亚洲乱色熟女一区| 亚欧免费观看视频| 97精品国产| 日日骚av| 亚洲欧洲日韩中文字幕一区| 亚洲第一页色网| 男女香蕉一区二区| 9997se| 熟女AV一区| 曰本精品久久久| 天天欧美色| 五月婷婷综合在线| 狠狠操综合| 国产无马av| 精品一区二区人妖| 亚州AV无码国产精品| 天天摸夜夜添无码小视频| se吧提供国产乱老熟视频胖女人 | 91老司机在线| 伊人91| 国产激情在线| 精品传媒在线一区| 极品另类| 秋霞成人一级在线观看| 欧美丰满少妇xx高潮| 久久午夜鲁丝片| 免费αV在线视频| 1769一区| 亚洲性爱免费电影| 日韩在线观看字幕精品| 一区在线观看中文字幕| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 97超碰在线资源网站| 亚洲综合图色在线| 玖玖爱伊人玖玖爱| 天天伊人| 国产精品午夜福利亚洲综合网| 欧美一级AAAAAAA| www.伪伪| 天天爽天天爽| 狠狠图片青青草| 超碰在97| 91综合网站| 日韩精品在线放| 强奸乱伦Av网| 青青草视频久久| 91殴美大片| 日日骚精品视频| 大色网久久| 欧美97| 伦伦成年午夜免费视频| 久久免费精彩视频| 蜜臀久久在线视频| 天天日天天看| 欧美老妇曰批的视频| 大香蕉丝袜一级片| 综精品久久久aaaa| 亚洲有薄码区久久在线一区| 影音先锋每日最新资源在线观看| 人妻99p| 午夜男人天堂| 台湾佬中文娱乐网久久久久久久久久com| 色妇91| 天美传媒AV在线播放| 午夜激情成人在线观看| 性爱视频久久| 欧美日韩天堂| 国产狂喷潮在线精品| 首页中文字幕中文字幕免费| 久久色一区| 熟女少妇一区二区三区| 欧美日本中字另类在线| 操B久久| 巨乳特殊服务按摩| 入口操逼网站| 九一精品牛牛一区二区| 97香蕉网| 激情五月综合网| 粉嫩久久久久| 免费日韩黄片| 91老熟女逼| 久久久555| 国产精品色片一区二区| 91天天综合网,天天综合网| 欧美日本不卡在线| 熟女色综合久久| 蜜臀久久久| 天天看天天日天天操| 成视频在线观看免费看| 99久久9| 一本精品日本在线视频精品| 日韩99神马视频播放片在线播放| 大粗鳼巴久久久久| 综合久久婷婷| 欧美激情亚洲| 九九精品热| 久久华人网| Blackedraw视频一区二区| 91成人国产综合久久精品蜜月| 欧州91高潮| 亚洲男人天堂2019| 少妇久久久久久| 天天干少妇| 欧美熟妇精品黑人巨大91| 国产欧美一区激情交| 羞答答AV中文字| 黄片无码在线制服| 天天性射网| 极品极品色影院| 超碰97久| 丰满人妻-区二区三区免费| 不卡视频一区蜜桃视频 | 怡红院网站在线视频| 国产熟女免费观看久久| 久久风骚城市| 成年女人一区| 国产又猛又粗又爽又黄| 日本九九久久99| 国产偷拍自拍在线视频| 黄色工厂这里只有精品| 日韩天美| gogogo免费高清看中国国语| 999 久久久| 欧美黄片欧美黄片xxx| 久久精品无码熟妇一区二区三区视频导航 | AV乱伦国产| 中出789在线视频| 操逼操逼视频操逼| 另类欧美综合| 热天堂一区二区| 影音先锋乱伦资源| 老鸭窝成人| 成人五月香网在线| av强奸乱轮| 色九色久| 新97国产超碰| 激情五月天丁香| 免费AV中文网在线观看| 久久宗合亚洲| 欧美嫩性色| 一级特黄aaa大片在线观看成人一级片在线观看 | 亚洲熟妇丝袜在线观看| 高清成年美女黄网站免费大全| 国产久9| 精品射1999| 午夜福利免费福利视频| 久久久九九九| 日本二区不卡| 9精品久久| 欧美图片偷拍| 无码免费精品高清| 国产家庭乱伦表演| 啊啊啊好大好深| 91美女在线视频| 天天干,夜夜爽| 一类av片在线看| 欧成人精品一区二区三区| 福利天堂| 熟妇亚洲一区二区三区| 久热91| 日韩国产欧美伦理在线| aa片毛片| 人妻丝袜一区二区三区在线| 内射中国少妇高清视频免费视频 | 中国操逼无码| 神马麻豆福利院| 国产精品国产| 97超碰巨乳| 日韩乱码av| 天天爽人人综合免费7799| 亚洲第一精品在线视频| 美女裸体无遮挡永久免费观看网站| 少好三P| 男人天堂综合| 大吊色| 美女啊啊啊啊pc| 久久九九综合| 亚洲精品日日夜夜52| 欧美日韩国产黄色片| 综合亚洲欧美精品日韩?v| 后入国产| 9久久精品| 就去色综合| 人伦四五区| 试看60秒| 亚州欧美综合| 久久原创中文| 九九人妻| 中文字幕一二三av| 日韩精品一区二区人人人| 91狠狠狠| 91美女片在线| 嗯嗯啊好爽| 999热这里只有精品| 18精品一二区| 欧美性夜| 9色国产精品一区粉嫩| 国产又黄又爽| 激情 欧美 亚洲 小说| 欧美真人抽搐一进一出gif| 一级性爱视频免费观看| 翔田千里无码一区| 欧美αv.com| 国产高清26uuu| 亚洲精品无码成人久久久99| 免费在线观看国内色片网站网址| 国产成人无码网站在线视频| 欧美一级三级| 97青娱乐超碰久久| 国产精品久久久九九九| 国产又长又大又粗的视频| 男人的天堂kva| 欧美性夜| 26uuu欧美日韩| 欧亚乱色熟女一区二区| 婷婷综合激情| 亚洲美欧999| 欧美精品久久| 九九九九AV| 乱伦日本中文自拍| 国产浮力影院第1页| 99在线精品观看99| 欧美日韩理论一区| 亚洲人精品午夜不卡| 夜夜高潮夜夜爽夜夜爱爱一区| 干超碰碰熟女| 中文一区在线视频| 五月天丁香欧洲日韩| 欧美日韩亚洲天堂网| 四虎影视国产精品| 高清国产无码av| 东亚亚洲无码高清| 日韩内射视频| 91色欧美| 国产精品网址| 欧美日韩超碰在线| 国产精品在线一区二区| 日韩无限资源| 久久久无码av精| 中文啪啪视频| 久久成人精品| 八戒无码国产午夜福利| 男人的天堂亚洲| 蜜桃一区二区三区| 人妻色偷色噜| AV大香蕉| 9997se| 欧美自拍偷拍综合图片| 五月婷婷色| 乱码人妻一区二区三区| 国产精品精品系列在线观看| 伊人五月天| 国产亚洲精品美女| 青娱乐福利99| 亚洲丝袜色| 欧美亚洲色的图| 免费人成在线观看网站品爱网| 久久久蜜桃一区二区三区| 超碰伊人在线| 影视综合无码少妇| 久久25| 伊人骚琪琪亚洲天堂网站| 强奸乱伦大香蕉网| 西西美女视频网| 97超碰碰| 久久精品欧美一区蜜桃| 久9爱精品| 激情接吻视频久久久久久| 国产美女精品| 久综合国内精品自在自线| 久草精品热视| 天美精品原创av片国产| 六六久久日韩不卡| 亚洲丝袜在线观看| 99综合视频一体| 午夜经典| 91丝袜美女国产| 综合欧美色图| 色五月综合网| 欧美激情 亚洲色图| 91黑人无码激情在线| 亚洲影视第一页| 全球成人中文在线| 欧美性第1页| 免费视频a级毛片免费视频| 美女天天干| 久操大香蕉| 高精欧美色| 中文字幕在线播放2中文字幕在线观看2| 天天影视综合色| 久99| 久久久久97| 精品国产99| 综合欧美激情网| 亚欧洲一区二区视频| 亚洲一本大道中文字幕无码在线| 中文字幕国产| 性爱动态120秒| 久久精品一区二区一8| 99re95| 亚洲精品天堂久久A∨51成人漫| 91艹| 很很干很很操| 伊人久久综合影院精品久久久| 国产午夜视频| 伊人色综合网电影| 清纯唯美亚洲综合| 青青草视频导航官网| 亚洲欧综合另类无码一区| 黑丝制服中文字幕| 1区2区3区在线视频| 亚洲密乳AV| 精品少妇高潮久久| 婷婷色香| 黄片不用下载在线观看| 神马久久久久久久| 麻豆人妻偷人精品无码视频| 五月婷婷五月天| WWW操逼| 少妇九九九九| 久久成年精品| 久久99久久99精品免视看婷婷| 国产91精品在线免费| 天堂涩涩| 九九热免费国产视频婷婷伊人五月 | 五月丁香啪啪| 国产欧美成人第一页在线观看 | 久久久久成人蜜桃精品| 亚洲精品一二区| 亚洲欧美伦综合| 久久99精品九九久久久婷婷| 少妇超碰在线| 人人爱人人操人人性| 少妇久久久| 久操电影网| 97在线观看免费视频l| 五月丁香久久| 日韩探花精品在线视频| 偷拍 欧美 日韩| 97在线免费公开视频| 男人天堂久久日韩| 天天日天天色| 在线视频日韩欧美国产| 亚洲精品成人动漫在线| 91美女在线| 久草线上视频免费看| 欧美97在线观看| 综合网欧美在线| 亚洲成人性爱在线观看| 免费福利视频中文字幕| 91老女人| 久久综合97| 久久精品六区| 精品一二三区女同| 亚洲男人天堂2016| 91色图片| 玖玖爱综合| 欧亚综合一卡二卡中文字幕| AV九九| 91精品国产麻豆国产自产在| 思思性爱| 亚洲成熟国产精品美女| 日韩性爱毛片操骚逼| 国产家庭乱伦表演| 超碰午夜| a亚洲欧美色欲| 五十路熟女人妻一区二区在线观看| 天天操福利视频综合网站| 91无码人妻| 精品国产久久乱码| 骚女高跟AV在线| 欧美少妇高潮久久91| 亚洲天堂情色| 亚洲91网站| 欧美论理片| 亚洲日韩少妇一道本视频| 欧美 亚洲 另类 综合| 鸥美插入视频| 麻豆一区在线| 九一综合网| 欧美骚少妇| 黄页网站成人免费| 亚洲欧美在线丝袜| 亚洲久久久久| 日韩欧无码一区二区三区免费不卡| 美女诱惑久久| 欧美成年人性爱视频免费观看| 日日干天天干夜夜爽| 国产探花日韩援交| 人人看欧美性爱| 国产精品爽爽va在线观看98| 97香蕉碰碰人妻国产欧美| 性爱av网站| 色五月婷婷网| 视频在线观看一二三区| 香蕉久久精品| 亚州欧美综合| 91视频在线观看18| 亚洲欧洲无码bt精品合集| 欧美一级特黄淫片在线观看| 秋霞视频一区二区| 99国产精品人妻人伦| 日日夜夜国产综合| 中文字幕二区| 一区二区乱码福利| 一级黄色性爱A级片| 欧美十八禁在线看| 国产欧美一区二区| 亚洲有码第一页| 蜜臀99久久国产| 中文字幕天堂在线| 强奸乱伦αv片| 2010男人的天堂| 97超碰巨乳| 99re视频这里只有精品| 久久透逼视频| 在线播放中文字幕| 大香蕉99热| 国产sv美女内射| 超碰色男人操熟女| 东京日日夜夜| 97丝袜亚洲在线播放| 97chaopengongkai| 人妻81p| 国产欧美日韩女同性恋ww喷水精品| 97日视频| 精品黄色电影| 亚洲天堂无码| 麻豆AV96熟妇人妻| 国产AV中文| 久久亚洲AV无码专区国产精品| 五月天婷婷激情| 骚人妻少妇视频| 立川理惠被中出无码| 国产AV久久久蜜爱影集| 99九九久久| 啊啊啊久久| 无遮挡h肉动漫在线观看| 九九热超碰97亚洲最新香蕉| 亚洲色图A| 性色av网站| 69人妻精品丰满熟女区| 欧美少妇色图| 996热| 黑人粗大V S日韩女优视频| 激情五月综合开心五月| 97超碰碰碰| 欧美在线电影| 99久久久无码国产精品性男| 国产精品视频| 少妇熟女1区2区3区| 日本超碰在线国产一区| 一区二区三区男人的天堂| 久久av一级av少妇av高潮| 日日干夜夜操视频h| 精品视频在线观看| 日韩欧美视频青青| 熟妇人妻丰满久久久久久久无码| 岛国在线一区二区三区| 国产免费久久精品99re韩国| 精品日韩中文在线| 亚洲精品 超碰| 欧美日韩国产成人高清| 翘臀vidoes| 黑人综合网| 亚洲欧美一区二区三区在钱蜜桃| 欧洲精品二区| 少妇一线天久久久久久| 久久精品无码专区| 亚洲精品色| 久久久无码视频| 久久久久久久久久久六六| 一起草视频在线| 七久久久| 大JI巴好深好爽又大又粗视频| 性色一线| 搡老熟女免费视频 | 一区二区三区美女超清| 久久伊人网视频一区二区三区| A级国产欧美激情在线| 91欧美成人色站| 偷拍三区| 少妇内射视频| 人人考人人摸人人干| 国内毛片四区| 大香蕉伊利av| 98人妻精品一区二区色欲| 久久蜜色情在线视频xxx免费观看| 免费av在线播放二区| 色制服丝袜夫妻av一区| 久操视频资源站公开| 91在线一起| 嗯啊不要在线| 日日操免费视频| 色综合超碰超| 婷婷色色网| 欧美激情激情xxxx欧美专区| 青青操少妇| 亚洲AV无码国产精品久久久久| 南澳成人一级片在线播放| 暖暖精品二区三区观看| A 在线网址| 九九九成人| 中文字幕片| 黄色性爱网网| 无码国产精品96久久久久孕妇| 久久欧洲| 看一级黄色视频| 精品无码欧美三级| 中文字幕一品色图| 99久久com免费视频′| 国产精品黄色三级av| 日韩欧视频| 久久綜合很很很| 五月丁香色情| 一级@啪啪视频| 春色91| 欧美日韩精品久久| 亚洲va综合va国产va中文| 亚洲图片激情综合另类| 欧美九九九| 熟女AV一区| 极品五月天噜噜| 久久精品中文字幕无码l| 欧美黑人熟妇精品91| 亚洲鸥美色图| 国内黄色精品| 九月色婷婷| 国产亚洲美日韩Aⅴ中文字幕无码成人| 欧美丝袜中文字幕07在线| 怡春苑东京热| 欧美人妻精品| 99精品在线| 91久久精品中文字幕| 九九综合九九综合| 青青草在线视频美女| 色九九九综合| 精品四五区| 色色综合网站| av天堂5| 精品无码产区一区二| 亚洲91网| 国产情色第一第二页在线观看| 亚洲另类在线观看| 嗯啊抽插大香蕉网页| 97干97色| 欧中美三级一区二区三区| 粉嫩AV输入| 色好看av| 美女人妻色网站| 综合激情五月丁香| 国产懂色精品国产av| 午夜视频久久久久一区| 97伊人网| 亚洲视频精选| 日韩在线视频1234| 五月花婷婷| 中文字幕 国产 精品| 亚洲精品国产专区在线观看| 色综合av综合久久| 欧美在线天堂| 精品人妻一区二区乱码一区二区| 少妇一区二区三区高速| 久久久久久久久久久久欧美日| 蜜臀人妻少妇久久在线观看| 老女人日韩美91| 久久久草成人网站久久久草成人久久久草久久久 | 国产人妻天天干精品| 亚洲精品无码成人久久久99| 吖在线不卡一区二区国产剧情| 久久久久亚洲Av无码专区老牛影视 | 天美91| 91人人| 一级一性爱免费视频| 婷婷色综合欧美日韩| 日韩无限资源| 97在线视频观看| 91夜色| a片 xxxx受爽视频| 日韩成人性日韩成人性爱视频在线免费观看| 久久久久久久久一区二区三区| 东京太热男人的天堂久久久| 殴美性天天| 亚洲情色欧美| 富女玩鸭子一级毛片| 99久久精品无码一区二区毛片免费 | 欧美精品一区二区少妇免费A片| 99青青草国产视频| 一起草三级AV电影在线观看| 99色网| 国产又黄又粗又猛大片| 国产精品久久久久无码Av网曝门| 久久久精品中文字幕爱豆| 国内偷自视频区视频综合| 国产专区第一页| 激情五月天社区| 天天干天天干天天| 任我爽视频在线观看| 欧美情色男人的天堂| 中字一区| 中文字幕视频二区| 五月亭亭六月丁香| 日韩激情啪啪啪| www色色com| 天天操天天射青青草| 足交视频老司机| 东北女人高潮视频| 激情黄色片在线观看| 国产精品极品美女视频| 天天爽天天操| AV丝袜少妇| 日韩欧美中文字亚洲慕| 97免费视频在线观看| 日本免费一级AAA大片器| 日本久久天堂| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 97九色人妻| 欧美色日本| 九九九九亚洲| 亚洲春色欧美激情自拍| 午夜黄色免费在线观看| 精彩视频日韩| 亚洲图片偷拍欧美| 一区AV| 激情专区综合| 极品粉嫩少妇视频| AV女优男人的天堂| 中国zzijzzijzzwww精品| 一区二区偷拍拍视频| 久久宗合亚洲| 秋霞 色色| 精品少妇一区二区三区在线视频| 内射中出日韩在线观看视频| 欧美精品欧美精品系列 | 超碰这里只有精品| 草草草草视频| 五月天黄色激情视频| 日本中文字幕高跟| 日韩猛交| 久久久久久AV无码免费网站| 欧美72网页| 日本欧美中文字幕| 91久久久久久久| 好爽免费视频,| 影音先锋日本乱伦| 精品国产乱码久久久久久久久1 | 五月色网| 99这里都是精品| 激情抓乳插进去啪啪啪日韩| 97国产精品国| 美女诱惑一区| 丁香五月婷婷五月| 欧美黑人168页欧美黑人167| 高潮毛片无遮挡高清免费| 江都AV在线| 精品人妻av区天天看片| 午夜男女爽爽爽在线视频| 久久九精品| 黄色电影在线播放综合网站| 亚洲伊人久久精品狠狠在线| 久夜视频| 色哟哟的毛片| 久久αⅴ| 操操AV电影| 色香av| 婷婷六月天| 777超碰| 亚洲.欧美.丝袜.中文.综合| 欧洲视频在线| 激情综合五月天| 九九九999久久久网站| 大香网伊人久久综合| 999色欧美中文字幕| 激情五月天社区| 久久成人国产精品| 天天干夜夜| 亚洲欧洲国产综合av| 伊人操| 91视频女生| 欧美视频激情久久久久久| 久久久一热在线播放| 国产自偷自拍一区| 国产精品成人无码a v毛片| 丰满人妻-区二区三区免费看 | 亚洲图片欧美偷拍| 亚洲不卡AV在线| 后入国产| 久操B网| 五月天婷婷在线看| 五月婷婷hd| 欧美黄片免费在线观看视频| 久久久久921| 成人av动漫在线观看| 在线视频资源| 精品无码一区二区| 天天躁日日躁成人字幕aⅴ| 精品久久大胆人体| 新版天堂中文资源8在线| 国语精品av| 久久综合乱子伦国产免费| 一区二区精品日韩欧美在线观看 | 翔田千里无码一区| 蜜桃视频一区二区三区| 欧美日韩国内不卡| 99中文字幕| 大香蕉宅男伊人| 另类小色呦| 美女黄网| 久久久久国产| 欧美成人精品A片免费一区99| 久久只有精品| 欧美性天天影院| 97色在线| 亚欧免费| 日本一二三免费久久| 富二代亚洲精品99| 国产午夜无码片在线观看影视| 91观看 国产白丝| 亚洲影院小综合| 欧美精品自慰系列寂寞少妇| 欧美色偷偷| 超碰视97中文| 亚洲人成色9999精品久久| 成年人黄色小视频网站| 久热这里只有精品9| 丰满搜索结果 -第18页- 久久高清无码 | 手机看片1025| 欧美日韩插逼视频| 青青草原伊人网| 婷婷另类小说| 日韩精品区二区三区不卡| 岛国毛片在线观看免费| 97超碰色情| 91日日夜夜| 久久精品一区| 婷婷五月丁香五月| 少妇高潮对白在线观看| 日本一道在线播放高清| 亚洲第二页| 亚洲天堂日本| 欧美一区二区在线资源| 99热伊人| 激情视屏国产乱伦强奸| 欧美传媒| 久久免费少妇| 欧美97网| 亚洲日本天堂| 嗯嗯啊啊好疼| 美女啊啊啊啊pc| 丁香五月影院| 无码日韩网站| 亚洲第2页| 日韩中文字幕精品一区在线| 蜜臀久久99精品久久久电影| 欧洲色综合| 中文字幕无码不卡啪啪| 精品人妻一区二区三区夜夜| 三级片大波波| 国语人妻精彩刺激| 天天插天天干| www.婷婷| 伊人久久艹| 动漫爆乳3D奶水一区在线观看| 99re公开精品免费视频 | 九九国产热| 伊人久久久日韩一区| 色五月69夫妻| 天堂资源欧美| 欧美性后入| 超碰97资源中文字幕| 91九九九馒头| 91亚洲不卡一区| 欧美少妇大量自拍视频在线观看| 久久久久久午夜男人的天堂| 99色婷婷| 天天干天天爽| 天天综合,91综合永久| 亚州伊人色综台| 青青草原人妻| 久草视频制服诱惑| 天堂国产AV| 91爰爱欧美| 日本高清熟女久久一区| 99re在线视频国产| 色99久草| 天天夜夜rb| 啊啊啊啊操死我| 亚洲中文字幕在现观看| 欧美成人一级麻豆| 男女做爰猛烈动高潮A片免费应用| 高清国产无码av| 变态乱伦伪娘灌肠一区二区| 一区二区三区黄片免费观看| 艹少妇网站| 色色综合网站| 久久99国产综合精品女同| 97人人爱人人做人人乐| 97一本大道亚洲一区|