99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

端到端測(cè)試(e2e):用戶視角的質(zhì)量防線與工程實(shí)踐

端到端測(cè)試(e2e):用戶視角的質(zhì)量防線與工程實(shí)踐 1. 項(xiàng)目概述e2e不是縮寫游戲而是軟件質(zhì)量的生命線“e2e”這三個(gè)字母在測(cè)試工程師的日常溝通里幾乎和“吃飯睡覺”一樣高頻但真正能說清它到底在解決什么問題、為什么非得用它、以及它和普通測(cè)試到底差在哪的人其實(shí)不多。我?guī)н^十幾支前后端混合團(tuán)隊(duì)每次新項(xiàng)目啟動(dòng)會(huì)上只要聽到有人脫口而出“這個(gè)需求我們做下e2e”我就知道——接下來兩周大概率要陪他們一起熬夜調(diào)selector、修超時(shí)、重跑CI流水線。e2e全稱End-to-End Testing直譯是“端到端測(cè)試”但它的真實(shí)含義遠(yuǎn)不止字面這么簡(jiǎn)單。它不是一種工具也不是一個(gè)框架而是一套以真實(shí)用戶視角驅(qū)動(dòng)的質(zhì)量驗(yàn)證方法論。它模擬的是一個(gè)活生生的人從打開瀏覽器或啟動(dòng)App開始輸入賬號(hào)密碼、點(diǎn)擊按鈕、等待頁面跳轉(zhuǎn)、查看數(shù)據(jù)渲染、上傳文件、甚至切到后臺(tái)再切回來——這一整套連貫動(dòng)作中所有系統(tǒng)模塊是否真的像設(shè)計(jì)文檔里寫的那樣協(xié)同工作。關(guān)鍵詞里的web、mobile、framework恰恰框定了它的主戰(zhàn)場(chǎng)現(xiàn)代Web應(yīng)用React/Vue/Angular單頁應(yīng)用、跨平臺(tái)移動(dòng)應(yīng)用React Native/Flutter/iOS原生/Android原生、以及支撐這些應(yīng)用運(yùn)行的底層技術(shù)棧.NET Framework、Spring Boot、Django等。你看到的“reminder: this website only supports mobile device access, please use your mobile device”這類提示恰恰是e2e必須覆蓋的典型場(chǎng)景——它不關(guān)心你后端API返回了200只關(guān)心用戶在iPhone上點(diǎn)那個(gè)“立即預(yù)約”按鈕后是不是真跳到了日歷頁且日歷里顯示的是今天而不是1970年1月1日。所以e2e不是錦上添花的“高級(jí)功能”而是防止上線后被用戶截圖發(fā)到社交平臺(tái)瘋狂吐槽的最后一道防線。它適合三類人剛?cè)胄邢虢⑼暾|(zhì)量認(rèn)知的測(cè)試新人正在搭建CI/CD流水線的DevOps工程師還有那些被線上偶發(fā)Bug折磨得睡不著覺的前端負(fù)責(zé)人。別把它當(dāng)成自動(dòng)化腳本的堆砌它本質(zhì)上是在數(shù)字世界里為真實(shí)人類行為建模。2. e2e測(cè)試的核心設(shè)計(jì)邏輯與方案選型深度拆解2.1 為什么不能只靠單元測(cè)試和接口測(cè)試——三層質(zhì)量防護(hù)網(wǎng)的失衡真相很多團(tuán)隊(duì)在項(xiàng)目初期會(huì)陷入一個(gè)認(rèn)知陷阱既然我們有完善的單元測(cè)試Unit Test覆蓋了每個(gè)函數(shù)邏輯又有全面的接口測(cè)試API Test驗(yàn)證了后端服務(wù)的正確性那e2e是不是就是個(gè)可有可無的“奢侈品”我見過太多次這樣的慘劇單元測(cè)試覆蓋率95%API測(cè)試全部通過上線后用戶反饋“點(diǎn)擊提交按鈕沒反應(yīng)”。一查日志前端調(diào)用的API地址寫錯(cuò)了環(huán)境變量本地開發(fā)用的是http://localhost:3000/api生產(chǎn)環(huán)境該讀https://api.prod.com/v1結(jié)果代碼里硬編碼了localhost。單元測(cè)試根本測(cè)不到這個(gè)API測(cè)試壓根沒走前端這層。這就是e2e存在的底層邏輯它填補(bǔ)的是“集成縫隙”與“環(huán)境鴻溝”。我們可以把質(zhì)量保障比作一棟三層樓的建筑第一層地基單元測(cè)試——檢驗(yàn)每一塊磚函數(shù)的尺寸、強(qiáng)度、顏色是否合格。它快、準(zhǔn)、隔離但無法告訴你這堆磚壘起來能不能住人。第二層承重墻接口測(cè)試——檢驗(yàn)每一堵墻服務(wù)模塊之間的連接是否牢固水管數(shù)據(jù)流是否通暢。它覆蓋了服務(wù)間的契約但不知道用戶站在門口能不能推開那扇門。第三層整棟樓e2e測(cè)試——檢驗(yàn)整棟樓交付給用戶后能否正常開門、開燈、沖馬桶、連Wi-Fi。它不關(guān)心磚塊或水管只關(guān)心人在里面生活是否順暢?!皐eb項(xiàng)目”、“安卓framework”、“.NET Framework”這些熱詞背后是技術(shù)棧的碎片化。一個(gè)典型的現(xiàn)代Web應(yīng)用可能前端用Vue 3 Composition API狀態(tài)管理用Pinia構(gòu)建用Vite后端是Spring Boot微服務(wù)集群數(shù)據(jù)庫是PostgreSQLRedis中間還夾著OAuth2認(rèn)證網(wǎng)關(guān)和CDN緩存。單元測(cè)試只能保證Pinia store里的fetchUser()方法能正確處理mock數(shù)據(jù)API測(cè)試只能保證Spring Boot的/api/user/{id}接口返回了正確的JSON。但e2e會(huì)真實(shí)啟動(dòng)一個(gè)Chrome瀏覽器導(dǎo)航到https://app.example.com/login輸入用戶名密碼點(diǎn)擊登錄按鈕等待URL變成https://app.example.com/dashboard然后斷言頁面上是否顯示了“歡迎張三”。這個(gè)過程里Vite的HMR熱更新、Vue Router的路由守衛(wèi)、Axios的請(qǐng)求攔截器、Spring Security的CSRF防護(hù)、Nginx的反向代理配置、甚至CDN的緩存策略全都被裹挾進(jìn)來接受一次真實(shí)的壓力檢驗(yàn)。所以e2e不是替代前兩者而是對(duì)它們的終極驗(yàn)收。當(dāng)熱詞里反復(fù)出現(xiàn)“web服務(wù)器安全”、“web安全”時(shí)e2e的價(jià)值更凸顯——它能驗(yàn)證OWASP Top 10里的“失效的訪問控制”比如一個(gè)普通用戶能否通過修改URL參數(shù)非法訪問到管理員的/admin/users頁面這種漏洞單元測(cè)試和API測(cè)試都極難發(fā)現(xiàn)因?yàn)樗鼈儾荒M真實(shí)用戶的導(dǎo)航路徑。2.2 主流e2e框架選型Cypress、Playwright、Selenium誰在解決你的真痛點(diǎn)選框架不是看GitHub Star數(shù)而是看它是否精準(zhǔn)戳中你團(tuán)隊(duì)當(dāng)前最疼的那個(gè)點(diǎn)。我把過去五年在不同規(guī)模項(xiàng)目中的選型經(jīng)驗(yàn)總結(jié)成一張決策表核心就看三個(gè)維度穩(wěn)定性、調(diào)試體驗(yàn)、生態(tài)適配??蚣軉?dòng)速度調(diào)試能力移動(dòng)端支持Web安全測(cè)試友好度學(xué)習(xí)曲線典型適用場(chǎng)景Cypress? 極快內(nèi)置運(yùn)行時(shí) 無敵時(shí)間旅行、實(shí)時(shí)DOM快照 基礎(chǔ)通過Chrome DevTools Protocol模擬? 高可直接操作Cookie、LocalStorage、繞過CSP 平緩JS/TS為主中小型Web項(xiàng)目、需要快速迭代的創(chuàng)業(yè)團(tuán)隊(duì)、QA工程師主導(dǎo)的測(cè)試Playwright? 快多瀏覽器并行? 強(qiáng)大自動(dòng)等待、網(wǎng)絡(luò)攔截、視頻錄制 優(yōu)秀原生iOS/Android模擬器支持? 高支持所有主流瀏覽器網(wǎng)絡(luò)層控制精細(xì) 中等需理解異步上下文大型WebMobile混合項(xiàng)目、需要高保真移動(dòng)端測(cè)試、對(duì)網(wǎng)絡(luò)層有深度定制需求Selenium 慢依賴WebDriver進(jìn)程 一般依賴外部IDE日志晦澀 一般需額外Appium集成?? 中配置復(fù)雜易受CSP限制 陡峭語言綁定多概念抽象遺留系統(tǒng)維護(hù)、必須兼容IE的老項(xiàng)目、已有大量Selenium腳本資產(chǎn)舉個(gè)真實(shí)案例去年幫一家做在線教育的客戶重構(gòu)他們的“課程報(bào)名”流程。他們?cè)瓉淼腟elenium腳本在CI上失敗率高達(dá)40%原因很典型——findElement(By.id(submit-btn))找不到元素不是按鈕不存在而是Vue的異步組件加載還沒完成Selenium就急著去點(diǎn)了。換成Playwright后一行代碼await page.getByRole(button, { name: 立即報(bào)名 }).click();就解決了。Playwright的getByRole是語義化定位它會(huì)自動(dòng)等待按鈕進(jìn)入可交互狀態(tài)visible enabled stable而不是死等一個(gè)ID出現(xiàn)。這背后是Playwright對(duì)瀏覽器事件循環(huán)的深度介入它知道什么時(shí)候DOM真正“準(zhǔn)備好”了。而Cypress的“時(shí)間旅行”調(diào)試則救了我們無數(shù)次。比如一個(gè)“支付成功”頁面前端邏輯是調(diào)用支付SDK - 監(jiān)聽SDK回調(diào) - 更新本地狀態(tài) - 跳轉(zhuǎn)到成功頁。某次CI失敗Cypress的測(cè)試錄像直接回放了整個(gè)過程我們一眼就看到SDK回調(diào)觸發(fā)了但history.pushState沒執(zhí)行原因是window.history被某個(gè)第三方統(tǒng)計(jì)腳本污染了。這種問題在Selenium里你得翻半小時(shí)日志還未必能找到。所以選型不是技術(shù)優(yōu)劣而是匹配度?!懊赓M(fèi)web服務(wù)器網(wǎng)站”這類輕量級(jí)項(xiàng)目Cypress開箱即用5分鐘就能跑通第一個(gè)測(cè)試而“企業(yè)級(jí)web開發(fā)”或“web與zabbix分離”這種涉及復(fù)雜網(wǎng)絡(luò)拓?fù)涞捻?xiàng)目Playwright的網(wǎng)絡(luò)攔截page.route能力就至關(guān)重要你可以模擬Zabbix API響應(yīng)延遲、503錯(cuò)誤驗(yàn)證前端降級(jí)策略是否生效。2.3 e2e測(cè)試范圍的黃金分割線什么必須測(cè)什么堅(jiān)決不碰e2e不是萬能膠盲目追求100%覆蓋率只會(huì)拖垮團(tuán)隊(duì)。我給自己定了一條鐵律e2e只驗(yàn)證“用戶旅程”中不可替代的、高價(jià)值的、易出錯(cuò)的“關(guān)鍵路徑”。具體怎么劃這條線看三個(gè)硬指標(biāo)業(yè)務(wù)影響等級(jí)P0/P1用戶注冊(cè)、登錄、下單支付、核心數(shù)據(jù)導(dǎo)出——這些流程一旦崩公司立刻收不到錢必須100%覆蓋e2e。技術(shù)脆弱性Fragility Index涉及多個(gè)微服務(wù)調(diào)用、第三方SDK集成如微信支付、支付寶、復(fù)雜前端狀態(tài)管理如Redux saga、Vuex modules嵌套的流程單元測(cè)試和API測(cè)試很難覆蓋其組合態(tài)e2e是唯一選擇。人工回歸成本ROI一個(gè)“訂單列表頁”的排序功能前端有5種排序方式按時(shí)間、價(jià)格、銷量…每種都要手動(dòng)點(diǎn)開、驗(yàn)證、截圖。如果e2e能用10行代碼覆蓋全部5種那ROI就極高。反過來說以下內(nèi)容絕對(duì)禁止放進(jìn)e2eUI樣式細(xì)節(jié)比如按鈕顏色是不是#3498db字體大小是不是14px。這是視覺回歸測(cè)試Visual Regression Testing的范疇用Storybook Chromatic做更高效。純算法邏輯比如一個(gè)“優(yōu)惠券計(jì)算引擎”輸入商品價(jià)格、滿減門檻、折扣比例輸出最終價(jià)格。這應(yīng)該用單元測(cè)試覆蓋e2e去測(cè)它就像用挖掘機(jī)挖蚯蚓——大材小用且慢得離譜。第三方服務(wù)內(nèi)部邏輯比如你集成了Stripe支付e2e不應(yīng)該去驗(yàn)證Stripe自己的扣款邏輯是否正確那是Stripe的事而應(yīng)該驗(yàn)證當(dāng)用戶點(diǎn)擊“用信用卡支付”后你的前端是否正確跳轉(zhuǎn)到了Stripe的Checkout頁面并且在收到Stripe的payment_intent.succeededwebhook后你的訂單狀態(tài)是否更新為“已支付”?!皐eb頁面pdf打印”這個(gè)熱詞就很典型。e2e不該測(cè)PDF生成的排版是否完美那是后端PDF庫的事而應(yīng)該測(cè)用戶點(diǎn)擊“導(dǎo)出PDF”按鈕后瀏覽器是否彈出了下載對(duì)話框下載的文件名是否包含訂單號(hào)文件大小是否大于0KB。至于PDF里文字有沒有重疊交給專門的PDF解析庫去校驗(yàn)。這個(gè)原則直接決定了e2e腳本的維護(hù)成本。我見過一個(gè)團(tuán)隊(duì)把所有按鈕的hover效果、所有tooltip的文案都寫進(jìn)e2e結(jié)果UI設(shè)計(jì)師改了一次全局主題色200個(gè)e2e測(cè)試全掛修復(fù)花了三天。而另一個(gè)團(tuán)隊(duì)只聚焦在“用戶能否完成一次完整的課程購買”他們的e2e腳本三年沒大修過CI失敗率穩(wěn)定在1%以下。3. e2e測(cè)試核心環(huán)節(jié)實(shí)現(xiàn)從零搭建一個(gè)可落地的Web項(xiàng)目e2e流水線3.1 環(huán)境準(zhǔn)備與基礎(chǔ)架構(gòu)避開那些讓新手崩潰的“默認(rèn)陷阱”別急著寫it(should login successfully, () {...})先搞定環(huán)境。很多團(tuán)隊(duì)e2e失敗80%的原因出在環(huán)境配置上而不是測(cè)試邏輯本身。以Playwright為例這是我在所有項(xiàng)目中強(qiáng)制推行的初始化清單Node.js版本鎖定必須使用LTS版本如v18.18.2嚴(yán)禁用最新版。Playwright對(duì)Node.js的某些實(shí)驗(yàn)性API有強(qiáng)依賴v20的某些版本會(huì)導(dǎo)致page.goto()隨機(jī)超時(shí)。在package.json里加engines: {node: 18.17.0 19.0.0}并用.nvmrc文件固化。瀏覽器二進(jìn)制管理Playwright自帶瀏覽器下載但默認(rèn)下載的是“Stable”渠道。問題來了Stable版Chrome經(jīng)常在周五晚上自動(dòng)升級(jí)周一早上你的CI就報(bào)錯(cuò)browserType.launch: Executable doesnt exist。解決方案在CI腳本里顯式指定渠道npx playwright install chromium --channelchrome-betaBeta版更新頻率低且更穩(wěn)定。本地開發(fā)則用npx playwright install-deps確保系統(tǒng)依賴如libgbm齊全。測(cè)試數(shù)據(jù)隔離這是最大雷區(qū)絕對(duì)禁止e2e測(cè)試直接操作生產(chǎn)數(shù)據(jù)庫。我的標(biāo)準(zhǔn)做法是為e2e單獨(dú)部署一套“影子數(shù)據(jù)庫”Shadow DB結(jié)構(gòu)與生產(chǎn)庫完全一致但數(shù)據(jù)是干凈的。每次測(cè)試運(yùn)行前用prisma db push或flyway migrate快速重建Schema并用預(yù)置的SQL腳本如seed_users.sql注入測(cè)試用戶testuserexample.com/password123。關(guān)鍵點(diǎn)在于所有測(cè)試用例必須能獨(dú)立運(yùn)行、互不干擾。這意味著每個(gè)測(cè)試用例開始前都要清理自己創(chuàng)建的數(shù)據(jù)。比如測(cè)試“創(chuàng)建新課程”用例結(jié)束時(shí)必須執(zhí)行DELETE FROM courses WHERE created_by testuser。否則第100個(gè)測(cè)試用例會(huì)發(fā)現(xiàn)數(shù)據(jù)庫里已經(jīng)有99門同名課程導(dǎo)致UNIQUE constraint failed。提示在playwright.config.ts里務(wù)必配置use: { baseURL: http://localhost:3000 }而不是在每個(gè)page.goto()里寫死URL。這樣當(dāng)項(xiàng)目從localhost遷移到staging.example.com時(shí)只需改一處配置所有測(cè)試自動(dòng)生效。很多團(tuán)隊(duì)忽略這點(diǎn)導(dǎo)致環(huán)境切換時(shí)要批量替換幾十個(gè)字符串極其痛苦。網(wǎng)絡(luò)代理與證書如果你的Web項(xiàng)目調(diào)用了HTTPS的內(nèi)部服務(wù)如https://api.internal.company.com而該服務(wù)用了自簽名證書Playwright默認(rèn)會(huì)拒絕連接。解決方案不是關(guān)掉SSL驗(yàn)證ignoreHTTPSErrors: true這是安全紅線而是將公司CA證書導(dǎo)入到Playwright的瀏覽器信任庫。具體操作下載CA證書.crt文件在Playwright啟動(dòng)時(shí)通過launchOptions: { env: { NODE_EXTRA_CA_CERTS: /path/to/company-ca.crt } }注入。這一步在“web服務(wù)器安全”要求高的企業(yè)環(huán)境中是剛需。3.2 核心測(cè)試腳本編寫用“用戶語言”寫代碼而非“機(jī)器語言”e2e腳本的本質(zhì)是“可執(zhí)行的用戶故事”。我堅(jiān)決反對(duì)寫這樣的代碼// ? 反模式過度關(guān)注技術(shù)細(xì)節(jié) await page.locator(#login-form input[nameemail]).fill(testexample.com); await page.locator(#login-form input[namepassword]).fill(pass123); await page.locator(#login-form button[typesubmit]).click(); await page.waitForURL(/dashboard); await expect(page.locator(.welcome-message)).toHaveText(Welcome, testexample.com);這段代碼的問題在于它把測(cè)試變成了對(duì)HTML結(jié)構(gòu)的脆弱依賴。明天前端工程師把input nameemail改成input>// ? 正模式用用戶語言描述行為 const emailInput page.getByLabel(Email address); // 用戶看到的是“Email address”這個(gè)label const passwordInput page.getByLabel(Password); // 同理 const submitButton page.getByRole(button, { name: Sign in }); // 用戶點(diǎn)擊的是“Sign in”按鈕 await emailInput.fill(testexample.com); await passwordInput.fill(pass123); await submitButton.click(); // 等待頁面加載完成不是等URL而是等關(guān)鍵元素出現(xiàn) await expect(page.getByRole(heading, { name: Dashboard })).toBeVisible(); await expect(page.getByText(Welcome, testexample.com)).toBeVisible();getByRole是Playwright的王牌定位器它基于WAI-ARIA標(biāo)準(zhǔn)直接映射到屏幕閱讀器識(shí)別的元素角色。button、link、textbox、alert……這些角色是穩(wěn)定的不會(huì)因?yàn)镃SS class或ID改變而失效。getByLabel則利用label forxxx或labelinput的包裹關(guān)系同樣穩(wěn)定。name參數(shù)則是用戶實(shí)際看到的文本這才是用戶認(rèn)知的錨點(diǎn)。對(duì)于“reminder: this website only supports mobile device access, please use your mobile device”這類響應(yīng)式場(chǎng)景Playwright提供了完美的設(shè)備模擬// 在測(cè)試配置中定義設(shè)備 const { devices } require(playwright/test); const iPhone13 devices[iPhone 13]; test.use({ ...iPhone13, viewport: { width: 390, height: 844 } }); test(should show mobile-only message on desktop, async ({ page }) { // 強(qiáng)制設(shè)置為桌面視口 await page.setViewportSize({ width: 1200, height: 800 }); await page.goto(/); // 斷言移動(dòng)設(shè)備提示信息可見 await expect(page.getByText(this website only supports mobile device access)).toBeVisible(); });這里的關(guān)鍵是test.use()它為整個(gè)測(cè)試文件設(shè)置了設(shè)備上下文所有后續(xù)操作都基于此。你甚至可以寫一個(gè)測(cè)試同時(shí)驗(yàn)證桌面版和移動(dòng)版test.describe(Responsive behavior, () { test(desktop shows full navigation, mobile shows hamburger, async ({ page }) { await page.setViewportSize({ width: 1200, height: 800 }); await page.goto(/); await expect(page.getByRole(navigation)).toBeVisible(); await expect(page.getByRole(button, { name: Menu })).not.toBeVisible(); await page.setViewportSize({ width: 390, height: 844 }); await expect(page.getByRole(navigation)).not.toBeVisible(); await expect(page.getByRole(button, { name: Menu })).toBeVisible(); }); });3.3 CI/CD集成與穩(wěn)定性加固讓e2e從“偶爾能跑”變成“永遠(yuǎn)可信”e2e最大的敵人不是技術(shù)而是不確定性Flakiness。一個(gè)測(cè)試昨天通過今天失敗原因可能是網(wǎng)絡(luò)抖動(dòng)、API響應(yīng)慢、動(dòng)畫未完成、甚至只是鼠標(biāo)指針位置偏移了2像素。讓它在CI上穩(wěn)定運(yùn)行需要一套組合拳超時(shí)策略精細(xì)化Playwright默認(rèn)的timeout是30秒但這對(duì)所有操作都一樣不合理。應(yīng)該分層設(shè)置page.goto()60秒首次加載可能涉及CDN、DNS、TLS握手page.click()5秒等待元素可點(diǎn)擊expect().toBeVisible()10秒等待元素渲染完成 在playwright.config.ts中全局配置use: { actionTimeout: 5000, navigationTimeout: 60000, expect: { timeout: 10000 } }網(wǎng)絡(luò)請(qǐng)求攔截與Mock這是穩(wěn)定性的核武器。對(duì)于外部依賴如Google Analytics、第三方廣告SDK直接在測(cè)試中禁用它們// 在測(cè)試前攔截所有g(shù)a.js請(qǐng)求 await page.route(**/gtag/js**, route route.abort()); // 或者M(jìn)ock一個(gè)內(nèi)部API返回確定數(shù)據(jù) await page.route(**/api/user/profile, async route { const json { name: Test User, email: testexample.com }; await route.fulfill({ json }); });這樣測(cè)試不再受外部服務(wù)狀態(tài)影響速度也快了10倍。重試機(jī)制與智能報(bào)告Playwright原生支持retries但盲目重試會(huì)掩蓋真問題。我的策略是對(duì)網(wǎng)絡(luò)請(qǐng)求相關(guān)的失敗如page.goto超時(shí)重試2次對(duì)斷言失敗如expect().toBeVisible()絕不重試——因?yàn)檫@說明UI邏輯本身就有問題。同時(shí)啟用trace: on-first-retry第一次失敗時(shí)自動(dòng)生成詳細(xì)的trace文件包含每一步的截圖、網(wǎng)絡(luò)請(qǐng)求、控制臺(tái)日志工程師點(diǎn)開就能定位不用再問“你本地復(fù)現(xiàn)了嗎”。并行與分片大型項(xiàng)目e2e可能有200用例串行跑要20分鐘。Playwright支持--workers 4但要注意資源競(jìng)爭(zhēng)。最佳實(shí)踐是按功能域分片npx playwright test --projectlogin --workers 2npx playwright test --projectcheckout --workers 2。每個(gè)project在配置里指定不同的outputDir和reporter避免日志混雜。最后一個(gè)讓老板信服e2e價(jià)值的硬指標(biāo)MTTR平均修復(fù)時(shí)間。我們上線了一個(gè)新功能e2e在CI中捕獲了一個(gè)Bug從CI失敗到開發(fā)者修復(fù)并合入全程耗時(shí)12分鐘。而如果沒有e2e這個(gè)Bug會(huì)等到測(cè)試同學(xué)手工回歸時(shí)才發(fā)現(xiàn)那時(shí)可能已經(jīng)過了2天修復(fù)成本翻了5倍。e2e不是增加工作量而是把發(fā)現(xiàn)問題的時(shí)間從“發(fā)布后”提前到了“提交前”。4. e2e測(cè)試常見問題與排查技巧實(shí)錄那些只有踩過坑才懂的經(jīng)驗(yàn)4.1 “元素找不到”——90%的e2e失敗都源于此但原因千差萬別locator: button#submit did not resolve to any elements這行報(bào)錯(cuò)堪稱e2e界的“Hello World”。但背后原因遠(yuǎn)比表面復(fù)雜。我整理了一份“元素找不到”根因速查表按發(fā)生頻率排序現(xiàn)象根本原因排查命令/技巧解決方案本地通過CI失敗CI服務(wù)器缺少字體或GUI環(huán)境docker exec -it ci-container bash -c fc-list | grep -i sans在CI鏡像中安裝fonts-liberation或ttf-dejavu或在Playwright配置中設(shè)置headless: true默認(rèn)頁面加載后元素仍“找不到”Vue/React的異步組件或Suspense邊界未完成await page.waitForFunction(() window.__VUE_DEVTOOLS_GLOBAL_HOOK__?.Vue?.config?.productionTip false)使用page.waitForLoadState(networkidle)等待網(wǎng)絡(luò)空閑或監(jiān)聽特定的全局變量如window.APP_READY定位器語法正確但元素在iframe內(nèi)Playwright默認(rèn)不進(jìn)入iframeconst frame page.frameLocator(iframe[src/widget]); await frame.getByRole(button).click();用frameLocator()明確指定iframe上下文元素存在但被遮擋z-index另一個(gè)div蓋住了目標(biāo)按鈕await page.screenshot({ path: debug.png, fullPage: true })在截圖中確認(rèn)遮擋層用page.locator(button).scrollIntoViewIfNeeded()先滾動(dòng)元素是動(dòng)態(tài)ID如idbtn-123456前端框架生成的隨機(jī)IDawait page.locator(button[data-testidsubmit-btn]).click()要求前端為關(guān)鍵交互元素添加>
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码99| 久久98| 久久婷婷夜| 成人综合AV| 狠狠另类视频| 五月天激情综合网俺也去| 五月天激情小说| 久久性操| 99人人操人人操人人精| 五月婷婷片| 人人舔天天| 极品色丁香| 无码人妻少妇色欲AV一区二区| 婷婷五月四狠狠| 99日本视频在线观看专区| 美女美女美女三级色天天天天天| AV网在线观看| 婷婷深爱五月| 激情小说五月天| 91色情播放| 成人在线日韩| 国产色色在线| 色五月婷色彩免播放器| 超级久久久| 五月天婷婷基地| 狠狠做深爱婷婷久久综合一区| 9久热在线精品| 26uuu欧美| 人人综合久| 99性爱精品| jiujiu热在线视频| 激情小说五月天社区丁香| 26uuu国产| 久香草视频在线观看| 亚洲行行色色| 丁香六月毛片| 色婷婷九月综合| 婷婷激情五月吧| www.射伊蕉婷婷| 熟女国产在线一区二区三区四区| 综合激情五月天| 亚州第一黄网| 五月黄色婷婷| 成人精品免费在线观看| 五日激情综合| 狠狠干在线| 亚洲最大五月天成人网| 台湾综合丁香五月蜜桃| 天天搞天天色综合| 人人97碰| 另类色视频| 狠狠爱激情网| 激情综合五月激情XXXX| 久久性刺激| 国产永久一黄| 亚洲熟女色| 婷婷无码视频| 日本无va视频| 日韩1区2区| 色色网五月激情| 丁香五月婷婷手机| 激情综合网五月| 天天色天天日天天舔| 26uuu美女三级视频| 丁香色五月AV在线| 丁香色六月婷婷| 9久热在线视频精品| 五月婷婷色在线| 国产AV国片偷人妻麻豆| 99精品网| 五月婷狠狠| 久久久久久久久18久久| 色吧婷婷五月亚洲| 久婷久婷激情肉| 六月丁香综合| 婷婷五月天a| 中文字幕乱轮| 丁香婷婷激情| 丁香五月综合无码趴趴| 日韩AV中文字幕在线| 国产乱子轮XXX农村| 99热综合| 丁香五月熟女| 色五月婷色彩免播放器| 激情五月丁香综合蜜桃| 丁香成人综合| 九九人人精品| 少妇水多A片太爽了| 直接看的AV| 五月婷婷六月丁香| 伊人网啪啪| 丁香婷婷五月激情| 色丁香影院| 五月激情影视| 青青久在线视频免费观看| 九九成人| 亚洲综合无码| 日日综合网| 婷婷天堂站| 天天干天天拍| 久久人人看| 亚洲综合丁香婷婷六月天| 丁香女人五月天| 狠狠狠狠狠草| 五月丁香大香蕉| 玖玖99婷婷| 99热丁香五月| 日日激情网| 国产成人在线精品| 婷婷激情五月视频| 五月激情基地| 99热在线观看| 狠狠操之狠狠操| 五月丁香龟婷婷| 天天色图| 五月天激情四射网站| 99热在线观看精品| 国产色色视频| 91熟妇大香蕉| 九九爱看亚洲| 99精品视频在线观看| 五月丁香亭亭电影久久| 国产成人在线不卡AV| 粉嫩av懂色av蜜臀av熟妇| 看婷婷五月天网| 狠狠操综合| 婷婷五月丁香五月| 只有精品在线观看| 99热18| 99久久偷拍视频| 婷婷久久免费看| 涩综合网| 日韩人妻在线观看| 精品婷婷| 99爱视频精品| 激情AV| 中文字幕激情综合| 99综合网| 色婷婷av在线| 久久久com| 久婷婷五月天影院| 婷婷五月丁香啪啪| 久久久久9999| 激情久久久| 五月天丁香婷婷社区| 综合色色婷婷| 九九99久久| 久久的爱大香蕉| 婷婷五月六月激情| 五月色激情综合网| 五月天婷婷丁香| 91狼友视频在线观看| 丁香五月伊人| 五月天成人在线视频丁香| 五月婷婷婷婷网| 国产性av| 洗浴中心操B视频| 亚洲成人在线观看av| 亚洲免费观看高清完整版AV线| 色六月天天激情综合网| 五月婷色色| 婷婷丁香五月激情密臀av| 国产在线6| 91超碰人人操| 婷婷色五月情| 亚洲天堂无码| www色色色com| 婷婷五月六月丁香综合| 99精品国产在热久久| 九九大香蕉黄色影院| 天天综合图片| 色综合色综合色综合| 亚洲综合视频天天精品| 五月婷婷片| 91久久久久久久久18| 五月丁香在线看| 影音先锋91视频| 天天日天天干天天爽| 精品一区二区三区四区五区六区| 九九激情网| 精品人妻伦九区久久AAA片| PORNY九色9l自拍视频成人| 开心五月天激情| www.ywav| 色五月成人| 婷婷五月深情丁香深爱日韩| 狠狠草在线观看| 五月在线婷色| 涩 五月 婷婷 狠狠| 开心五月丁香啪| 五月婷婷亚洲综合在线| 五月天播播中文字幕| 免费三级黄色| 五月丁香久| 五月丁香六月综合情在线观看| 久久9热| 婷婷色导航| 婷婷久久综合| 色五月天丁香婷婷| 婷婷.com| 99久久国产宗和精品1上映| 亚洲中文字幕网| 丁香婷婷免费| 婷婷99狠狠躁天天| 丁香激情五月天| 色色五月丁香| 狠狠色噜噜狠狠狠888| 人妻中文字幕网| 9 1超碰九色| 五月激情另类| 久热综合| 中文字幕av亚洲| 91操操| 99热国产这里只有精品| 久久天堂网| 欧美三级巜人妻互换| 先锋男人99资源| 亚洲人人操| a久久| 日本VA视频| 色色色色欧洲| 日韩久久色| ztEJj| 26uuu欧美日本| 久久久精品人妻录| 激情亚洲色图片丁香综合| 中文字幕 中文字幕明步| 午夜性爱影视一区77| 91大操| 国产激情久久| 91精品国产99久久久久久天美| 久久 婷婷 五月天| 超碰97免费在线| 五月丁香六月片| 99爱这里只有精品免费视频| 六月婷五月丁香| 91熟妇大香蕉| 五月停性愛| 久操婷婷| 91超级碰| www.色婷婷| 色女人久久| 天天日天天干天天爽| 五月婷在线影院| 九九精品re免费视频| 99欧州偷拍视频| 可以免费看AV网站| 丁香五月婷婷激情蜜桃| 新99色色色色色色| 管管補管管紱| 五月天婷爱综合| 成人五月天在线观看| 婷婷桃色网| 欧美性色A片免费免费观看的| 五月综合婷婷五月| 久色激情| 国产成人+综合亚洲+天堂| www.五月天婷婷姐姐| 欧美婷婷精品激| 日韩AV在线免费| 欧美槡BBBB槡BBB少妇| 久热免费视频| 日本三级日本三级99| 五月婷成人网| 五月丁香花开综合网| 日韩一级片| 97在线精品| 天天色天天搡| 99视频精品8| 五月丁香在线婷婷蜜桃| 人人色婷婷五月天| 玖玖九九99| 亚洲五月丁| 亚洲狠狠婷婷综合久久久| 香蕉网久久| 日本丁香久在线| 五月婷婷丁香大陆免费| 天堂网啪啪| 麻豆雪千夏| 色欲丁香| 99精品视频免费观看,| 另类视频综合| 另类图片 五月激情| 人妻中文在线| 天天天天做夜夜夜夜做| 久久草婷婷丁香网站| 99视频内射三四| 亚洲中文丁香| 丁香色五月婷婷| 久9无码视频| 狠狠综合久久| 99综合色色色| 五月丁香好婷婷A片网| 丁香花成人区| 久久ER视频com| 欧美97p| 舔色婷婷| 一本色道久久88综合日韩精品| 99热九九热| 丰满少妇乱A片无码| 天天综合精品| 亚州激情九月| 激情伊人六| 99热这里只有精品国产首页| 播四月婷婷六月丁香| 色色色.COM| 日韩精品一区二区亚洲AV观看| www.婷婷五月| 欧美日韩中文国产一区发布| 亚洲无码影音| 天天狠天天狠| 国产.亚洲.欧洲视频在线| 九九 激情 网| 久久婷婷五月综合网| 国产女人十八水真多1| 欧美五月婷婷综合| 99这里的视频都是精品| 。久久久久久久久久久久久久人妻| 一区二区三区四区五区| www色婷婷久久综合久色| XXXX岛国| 九九碰九九爱97超碰| 五月天婷婷激情小说电影| 五月婷婷丁香| 男人的天堂97| 26uuu欧美激情另类| 99热亚洲精品| 国产熟妇乱子伦hd| 五月色婷婷在线观看| 深情六月婷婷综合久久| 婷婷六月激情综合| 色啪久| 性爱先锋AV| 狠狠操天天干| 亚洲色婷婷久久99精品91| 操比激情五月综合| 欧美综合激情丁香五月六月婷| 狠狠摸狠狠摸| 欧亚中文A V| 色五月婷婷久久爱| 五月丁香六月婷婷啪啪| 亚洲成AV人片在线观看| 婷婷丁香五另类网站| 五月婷婷偷| 色99色| www色哟哟| 婷婷5月天av| 色婷婷五月综合| 精品99在线看| 9久热在线视频精品| 亚洲激情久久| 五月婷婷激情综合在线| 久久激情五月婷婷| 五月综合丁| 天天综合网亚洲网站| 久久伦乱| 91色综合网| 天天天天干| 任你干线上免费视频有3吗| 全高清无码视頻| AV性爱在线| 九一牛视频探花| 久久激情五月网| 国产乱子轮XXX农村| 六月丁香色色色| 五月综合久久| 99亚洲天堂| 亚洲天堂啪啪| 快乐激情五月色婷婷| 午夜丁香五月天综合| 亚洲中文字幕av| AV在线观看网站| 九九自拍网| 99riAv1国产在线观看| 玖玖九九99| 黄色视频网站在线播放| 激情精品久久| 97色精品视频| 天天干天天干天天干| 影音先锋美国A| 丁香涩涩五月天| 亚洲成人无码专区| 色色色色色色网| 五月婷婷婷| 日本啪啪天堂| 亚洲综合激情五月天婷婷| 丁香五月先锋| 婷婷激情五月吧| 丁香六月综合激情| 五月激情在线| 六月激情婷婷综合| WW婷婷五月天com| 婷婷五月天亚洲丁香| 久久思思99| 99色| 丁香五月天啪啪| 思思久久99热只有频精品66| 日本三久久| 天天爽人人综合免费7799| 91VIP在线观看| 丁香五月欧美| 2020久久婷婷五月| 男人視頻站| 97久久超碰| 天天爱天天做天天舔| 五月婷婷色综图片| 九九热99精品在线| 99精品在线观看视频| 终合激情网| AAA久久久| 国产精品18久久久| www.久久爱.com| 天天搞夜夜叫| 欧美日韩国产日本精品四虎网网站物 | 午夜美女人啪最红院| 色 五月俺去也| 九色地址91视频| 久色| 久久9热| 色综合久久88色综合天天人守婷| 亚洲最大成人综合网720P| 日本天天综合| 丁香色色色| 五月婷婷影视| 国产人妻人伦精品一区二区| 79色色免费| 久99视频在线观看| 亚洲成人av在线观看| 天天日夜夜曹| 人人看人人草人人摸| 人人妖人人97| 激情婷婷丁香| 天天操综合网| 99久久婷婷国产综合| 69热在线| 玖玖色综合网| 欧美熟妇一区二区三区| 激情五月天影院| 这里只有精品免费| 激情九九综合网| 伊人婷婷青青cao| 超级97碰碰| 国产古装妇女野外A片| 久久66精品| 狠狠五月激情在线| 色综合久久久久| 日本毛片内射| 综合九九久久| www.爱婷婷.com| 日本eVa一区=区视频| 色婷婷五月综合| 天天射夜夜骑| 99精品7| 免费色色色| 国产韩日亚洲美州欧亚综合在线| 久久99大| 九九精品丁香花| 国产精品扒开腿做爽爽爽A片唱戏| 精品无码99| 婷婷色五月色妇| 玖玖资源部在线播放| 久热爱大香蕉在线蜜臀悦色 | 亚洲婷婷丁香五月天激情小说 | 99热精品99| 中文字幕在线不卡视频| 疯狂做受XXXX高潮A片| 深爱激清网| 五月婷婷自拍| 日本婷婷色日| 亚洲熟妇无码乱子AV电影| 这里只有精品,日韩视频| 五月丁香婷婷综合网色欲| 性综合网| 最近中文字幕2019视频1| 色播播五月天| 亚洲AV免费在线| 中文字幕人妻在线| 色婷婷亚洲婷婷| 激情影院丁香五月| 国产无套精品一区二区| 久久99热这里只有精品| 亚洲碰碰碰| 9久热在线视频精品| 色婷婷丁香五月天激情综合网| www.五月婷婷久久.com| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 色情五月天婷婷| 天天色激情| 五月丁香五月综合欧美| 伊人啪啪网| 99热这里只有精品在线| AV天堂婷婷五月天| 五月丁香婷婷婷婷综合网| 97视频久久| 97亚洲色 torrent magnet| 色色九九五月天 | 婷婷综合成人| 亚洲五月天激情| 九九综合影音先锋| 91精品91久久久中77777久久玖玖九九| 婷婷五月综合久久中文字幕| 五月天久久激情| av在线中文| 五月综合激情久久| 丁香狠狠色婷婷久久无码视频| 丁香五月天殴美激情| 五月六月播婷婷| 五月婷婷久久激情 | 五月婷婷啪啪| 乱岳熟女50岁| 色婷婷国产精品综合在线观看| 久久亭亭电影| 性色播| 久久婷婷五月综合伊人| 成人开心五月天| 成人精品在线| 久久精彩视频99| 欧美精品999| 26uuu国产精品| 五月天婷婷7米| 亚洲操人| 夜夜躁婷婷AV| 99精品爱| www久久99| 国产免费一区二区三州老师F1F1……| 婷婷五月在线综合| 色五月五月婷婷| 99人妻碰碰久久久禁片| 91干99| 99色在线视频观看| 天天综合五月| 99热黄| 激情综合网络插| 婷婷五月天国产| 国产AV一区二区三区最新精品| 久久精品国产精品| a网站免费观看| 五月丁香六月婷婷在线观看| 91黄操| 亚洲一区二区 成人网站戴套| 亚洲第二AV| 日韩欧美四五区| 91碰碰| 免费AV在线网址| 丁香激激情网| 噼里啪啦完整版中文在线观看| 久久免费少妇高潮99精品| 伊人大香蕉综合在线| 色欲色天天香综合| 欧洲亚洲午夜| 婷婷丁香综合| 日韩五月丁香| yw.av| 五月丁香人人婷婷在线观看| 国产97色在线 | 日韩| 丁香五月久久| 视频综合网| 激情综合五月天| 欧美啪啪五月天| 丁香五月a| 曰韩五月丁香色婷婷无码| 99热99操| 婷婷五月色惰| 婷婷综合97| 日韩黄色电影| 一区二区免费看| 色五月婷婷网| 操97免费超级视频| 99精品一二三四视频| 中文字幕丰满孑伦无码专区| 六月色播| 啪啪一区| 99色6爱9热| 五月天久久婷婷| 97久久视频| 亚洲激情四射| 久久无码激情视频| 免费看成人AA片无码视频吃奶| www.com色播五月天| 天天在线久久综合| 99热在线观看| 国产精品久久7777777精品无码| 久久综合中文| 99在线er热| 激情第四色| 手机AVAV天堂看网| 碰超在线九色| 综合久久婷婷| WwW天天干| 天天色2017| 欧美成人五月天| 日日噜噜久久婷婷五月天| 五月天综合区| 免费看片在线观看| 色99在线观看| 久久在这里有精品| 色色热日| 久99久视频| 激情婷婷内射| 精品9l九九九九九77777| 六月婷五月丁香| 五月丁香婷婷狠狠操| 激情亚洲色图片丁香综合| 五月天激情小说| 九九热视频免费观看| 超碰人人在线| 人人爱人人摸人人澡| 丁香五月影| 天天干夜晚夜操| 欧美精品99久久久| 亚洲AV成人精品网站在线播放| 玖玖资源部在线播放| 人人摸人人澡人人| 婷婷色五月天第7色| 日日操日日撸| 亚洲亚洲永久无码777777| 性爱网五月婷婷| 日亚二欧美| 十月丁香婷婷| 婷婷综合在线播放| 国产日产亚系列精品版优势| 2025天天爽天天摸| 国产1区2区3区| 久久精品国产一区二区三区四区| 深爱网深爱综合网| 97超碰在线免费观看| 丁香婷婷色情| 天天檫天天爽| 欧洲激情网站| 噜噜色五月| 日本黄色三级片内射| 俺去也在线视频| 成人在线精品| 永久热91| 青青草大香| 色爱五月天| 色婷婷综合视频| 色婷婷欧美在线| 五月丁香啪综合| 色九九综合色| 色婷婷狠狠| 久久五月激情综合| 丁香婷婷噜噜| 狠狠狠五月婷婷六月丁香| 超碰成人在线免费观看| 91精品在线看| 深爱五月婷婷| 综合九九| 天天影视色综合网| 色亚洲色宗合| 色丁香五月婷婷婷| 色婷视频| 综合啪啪| 久久综合五月天| 丁香五月激情月| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 久热一本| 欧美啪啪9| 婷婷丁香色性爱| 97碰碰九九视频| 亚洲亚洲人成综合网络| 日本狠狠干| 亚洲成人人人操| A A色色| xx综合网| 亚洲五月天天| 五月色导航| 99热20| 色激情综合狠狠婷婷| 亚洲人成网站999综合| 大香蕉啪啪网| 色五月婷婷久久| 色九网| 亚洲美女高潮久久久久久69| 天天爽天天透天天爱| 91人操| 婷婷综合视频| www.久久久.com| 97超碰人人操| 97亚洲色 torrent magnet| 激情超碰网| 婷婷丁香五月基地| 色五月婷婷五月天激情综合| 丁香五月五月婷婷欧美大香蕉| 色综合99| 色婷婷欧美| 亚洲六月色| 色色亚洲| 激情婷婷狠狠干综合| 激情五月六月婷婷| 婷婷五月天小说| 国外亚洲成AV人片在线观看| 色五月婷婷亚洲| 激情五月综合婷婷| 99re6在线视频精品免费| 亚洲中文字幕AV| 狠狠色狠狠操| 久久AV无码精品人妻系列试探| 成人网址在线观看| 亚洲婷婷五月天| 日日操夜夜擼| 欧美日本99| 99欧州偷拍视频| 亚洲另类婷婷五月丁香在线播放| 99热都是精品| 激情婷婷丁香色五月综合| 色婷婷六月性| 人人人人人人人草| 97色永久免费视频| 丁香五月社区| 久热在线观看视频9| 九九婷婷激情综合网| 91色久| 婷婷综合国产| 婷婷五月av| 五月丁香六月婷婷综合网| 五月六月丁香婷婷在线观看| 色婷婷五月天天天天天| 五月丁香六月色婷婷综合五月天| 激情网色五月| 性爱先锋AV| 中文字幕色色色| 综合激情在线| 激情人妻蜜夜系列区| 国产成人精品一区二区三区视频 | 久热69| 激情五月天综合图片小说网站| 做爱夜夜干天天操| 五月激情婷婷在线| 中文激情网| 久久机热探花| 五月丁香六月婷婷中合网| 一本道综合网| 97碰碰人人| 99热午夜精品| 久久久久久xxxxx| 色五月婷婷色五月婷婷色五月婷婷| 五月丁香在线看| 噜噜在线| 成人中文字幕在线| 五月婷婷伊人在线| 九九AV| 99狠狠操一| 色婷婷色情| 久久综合丁香激情五月| WWW.国产| 玖玖色综合| 狠狠摸狠狠摸| 在线超碰免费| 丁香婷婷久久激情| 人妻操逼视频| 久久丝袜婷婷| 久久婷婷五月免费视频| 欧美婷婷日本| 亚洲自拍天堂| 久久免费婷婷视频| 亚洲网综合在线| 久热只有这里有精品| 天天干肏夜夜| 狠狠色丁香| 在线中文字幕av| 思思热在线视频精品| 婷婷五月激情图片| 性爱网五月天| 亚洲乱码在线观看| 91色吧网| 99国产精品久久久久久久久久久| 亚洲激情AV| 狠狠色丁香久久久婷| 五月亭亭综合五码| 色五月丁香五| 久热这里只有精品66| 97狠狠色| 99色干| 久久多色| 超碰93在线观看| 久久婷婷综合国产| 99re在线视频| 色色五月丁香婷婷| 成片免费播放| 久久综合人妻| www.婷婷网| 九九成人视频| 综合网激情五月天| 久久婷婷青青草| 久久这里只有精品无码| 思思精品视频| 99热这只有| 久久久亚洲精品一区二区三区浴池| 99热丁香五月| 激情综合九月| 激情五月天色| 三人荫蒂添的好舒服A片| 色爱综合网| 婷婷五月天色播| 色久在| 婷婷五月天VI| 激情五月婷婷开心网| 五月久久综合| 五月天伊人网| 九九九色综合| 99激情| 婷婷五月婷婷五月| 亚洲免费电影2| 九月激情综合| 婷婷五月天改成什么了| 日本99视频| 丁香香五月激情免费视频| 日日噜噜夜夜狠狠久久丁香六月| 亚洲AV电影美洲AV电影| 亚洲人妻一区二区| 狠干综合| 久久ab| 激情亚洲色图片丁香综合| 超碰免费人人| 天天干com| 99爽视频| 色五月情| 大婷婷色呦呦噜噜色呦呦噜噜| 色婷婷av综合网| 欧美性色视频| 这里只有视频精品| 丁香五月激情五月| 午夜成人AV在线| 多精窝99在线视频| 色婷婷最新域名 | 91九色熟女| 青青草国产亚洲精品久久| 人妻系列久久久久久久久久久| 精品人妻一区二区三区四区不卡在| 日本一毛片| 99国产精品白浆在线观看免费| 99热国产在| 99在线综合视频| 五月丁香网站| 思思久久99| 丁香五月图片| 日韩美女在线视频19| 五月丁香六月婷婷国产视频| 亚洲六月综合激情久久下卡| 99热20| 毛片蕉地一二| www久久久| 亚洲精品大片| 色情五月天se| 久久婷婷网| 丁香婷婷天堂| 五月丁香六月在线| 玖玖资源站中文| 激情综合五月激情| 大香蕉狠狠爱主页| 99久久国产宗和精品1上映| 伊人午夜综合色啪| 欧美在线干| 大香蕉在线观看9| www.婷婷| 久久婷婷五月丁香网| 色情五月综合婷婷| 综合超碰熟| 欧美激情性做爰免费视频| 精品九九视频| 99久久.www| 青草视频在线播放| 激情综合五月婷婷| 久久久久久久人妻| 久久婷婷五月天激情唯美| 丁香88AV五月婷婷| 国产激情综合| www,com,五月色色| 丁香桃色网| 色综合综合网| 丁香婷婷综合五月天| 精品国产a| 国产欧美日韩综合精品一区二区| 26UUU欧美| 激情五月综合视频| 色婷婷黄色网络| 久久99综合网| 男人的天堂五月丁香| 涩五月婷婷| 精品成人久久久久久久_一二三四视| 99热在线里有精品| 99熟女视频| 亚洲久久日| 日韩精品VIP| Www.久久| 成人视频一区| 在线中文字幕视频| 久久六月天| 国产精品色| 成功精品影院| 婷婷五月天激情基地| 狠狠做六月爱婷婷综合aⅴ| 狠狠狠狠狠狠草| 亚洲国产精品VA在线看黑人| 九九热啪啪| 日日操夜夜爽| 五月天激情视频| 色婷婷亚洲精品天天综| 色爱综合视频| 熟女乱论网| 欧美黑人巨大猛烈cuckold| 五月丁香自拍| 婷婷五月天色丁香| 狠狠精品干练久久久无码中文字幕| 啪啪啪综合网| 五月丁香久久| 久久婷婷五月综合色区| 狠狠人妻色综合| 丁香五月激情啪啪| 激情婷婷丁香色五月| 色色a| 丁香五月婷婷乱| 久久五月网| 99久热| 九九色婷婷| AV成人在线网站| 丝雨一区二区| .精品久久久麻豆国产精品| 91狠狠色色丁香婷婷综合久久| 婷婷色五月在线视频| 色婷婷影音| 丁香美女五月天婷婷| 91se在线观看| 婷婷六月丁香五月| 色色色色色综合| 亚洲99激情| www.五月婷婷久久.com| 五月天色色色网| 99热啪啪| 强伦轩人妻一区二区电影| 男人的天堂在线婷婷| 色噜噜97视频在线观看| 激情五月婷婷色综合| 丁香色婷婷五月天| 久久A极片| 青青草五月天| 久久久99视频| 国产丁香五月天婷婷| 九九久久99| 五月天婷婷乱| 99福利导航| 婷婷丁香六月| AV在线不卡网站| av在线观看网站| 精品福利911| 六月婷婷五月丁香| 人妻久久久| 色婷婷四虎| 亚洲最大在线| 99精品视频免费观看,| 丁香六月爱综合| 综合网亚洲| 超碰av在线| 婷婷五月综合基地| 少妇激情基地| 婷婷六月丁| av人人干| 免费AV在线网址| 色丁香五月天射婷婷爱婷婷| 97丁香婷婷| 色女人久久| va中文资源在线观看| 五月丁婷婷| 99热这里都是精品| 97色干在线观看| 99操中文视频| 热热久久99| 图片区 小说区 区 亚洲五月 | 色欲色香综合网| 日韩成人电影AV| 五月天婷婷色综合| 婷婷久久久久久久| 97色色视频| 教师性爱毛片| 婷婷五月天最新综合你懂的 | 爱久综合| 精品九九九久| 激情综合女人网五月播播| 欧美成性色| 九九大香蕉黄色影院| 久久激情五月| 操逼五月天| 久久成人精品视频| 亚洲婷婷五月天| 久99久视频精品| 在线,国产,色,热视频| 五月丁香六月婷婷免费视频| 怡红院视频| 人人干人人看| 97黑人精品区| 99视频久久| 成人在线观看精品| 久久精品国产色| 人妻无码精品一区| 丁香婷婷性久久| 成人视频婷婷| 丁香五月狠狠在线观看| 伊人色综合久久久| 亚洲色五月婷婷| 天天爱天天天射AV| 99色热综合| 国产毛片精品一区二区色欲黄A片| 五月丁香久久激情综合| 超碰99在线观看| 99er精品视频| 超碰免费电影| 丁香九月婷婷色| 成人国产欧美大片一区| 99视频在线观看网址| 五月丁香婷婷无码A∨| 九九精品视频在线观看| 播播网色播播| 婷婷五月天久久久| 久热大香蕉| 99热超碰在线| 婷婷天堂综合| 亚洲成人综合在线| 亚洲天天操| www超碰| 在线播放中文字幕| 99热九九这里只有精品| Www.狠狠| 激情久久网| 丁香五月天激情视频| 久久性爱网| 亚洲激情精品| 久久大大香| 五月天激情电影| 高清国产AV| 五月丁香婷婷深深爱| 草榴成人影片| 亚洲aV写真天天综合网久久| www.超碰| 色婷綜合网| 99久久国产宗和精品1上映| av大香蕉| 乱精品一区字幕二区| av在线播放网址| www.久久99| 97色色色视屏| 免费看欧美成人A片无码| 男人的天堂999| 成人电影一区| 久久婷婷色五月| 在线超碰91| 99色热视频| 琪琪秋霞| 男人的天堂在线婷婷| 亚洲视频丁香网va| 青青草99re| 久热中文字幕| 热热久久精品视频| 色色图五月天| 日韩成人AV在线| 播五月婷婷开心| 91av视频| 色婷婷导航| 26uuu色噜噜精品一区| 六月丁香网| 五月天婷婷在线观看精品男人| 另类视频五月天| 都市激情小说婷婷| 日本九九网| 少妇人妻人伦A片| 亚洲无码色色| 九九碰九九爱97| 97日本操| 99热免| 五月丁香久久久| 色综合中文色综合网| 亚洲性视频| 欧美激情五月综合| 婷婷中文字暮| 九九黄色网| 丁香五月a| 九九久久99| 丁香五月熟女| 大香蕉伊人久久| 天天操夜夜爽歪歪| 热的五码久久精品| 超碰人人在线观看| 色播播五月天| 五月婷在线| 五月婷成人网| 久久大香蕉同僚| 懂色av粉嫩AV蜜臀AV| dingxiangtingtingliuyue| 91seAV| 桃色成人网| 久9免费视频| 亚洲色综合性| 五月天激情综合网俺也去| 九九色影视| 婷婷激情五月色综合| 亚洲婷婷激情综合激情999精品| 伊人综合网4| 久久九色| 激情五月色综合网| 久色精品| 色噜噜狠狠色综无码久久合欧美| 五月天婷婷在线啪啪视频| 中文字幕婷婷9月天| 狠狠色成人影片| 色婷婷五月综合网| 色性综合| 在线看片av| 五月婷婷,狠狠操| 色色色五月天婷婷| 婷婷综合| 五月婷婷啪啪| 国产精品色婷婷久久久精品| 激情小说五月天社区丁香| 日韩丁香涩| 五月开心久久| 综合色情网| 狼人婷婷久久| 久久婷婷五月综合| 五月天色婷婷基地| 人妻熟妇六区| 插插干干干色| 天天操夜夜爽天天操| 亚洲图片 丁香婷婷| 网色99| 开心激情婷婷| 思思热在线精品视频| 婷婷五月丁香影院| 97热视频| 97资源碰碰| 婷婷五月激情欧美| 丁香玖玖视频大全| 色五月自偷自拍婷婷婷婷| 99热网站| 精品一区二区三区四区五区六区| 五月天激情AV| 五月天,激情四射,婷婷频道| 欧洲永久精品| 久综合网| 99久久99视频只有精品| 亚洲黄色av网站| 大香蕉视频婷| 丁香五月天社区婷婷| 激情五月婷婷| 激情五月小说婷婷| 婷婷五月天综合网| 国产精产国品一二三在观看| 久久在这里99| 欧美久久婷婷| 狠狠插狠狠插| 97色色婷婷| 天天插天天射| 中文字幕1区2区。| 思思热99er| 在线五月婷| WWW.久久久久久久久久久久久| 国产精品久久久久久久久久免费| 日本啪啪天堂| 91人妻PORNY九色大屁股| 天天日 天天草| 久久婷婷婷| 91九色精品女同系列| 激情综合网五月婷婷| 五月婷六月丁| 丁香五月欧美激情| 综合婷婷五月天| 色狠狠综合| 欧美大肥婆大肥BBBBB| 中美日韩成人在线| 久久人妻视频| 激情色五月天| 丁香五月停停av| 婷婷激情在线| 成人看片网站| 婷婷伊人网| 国产看真人毛片爱做A片| 午夜亚洲国产精品av一区二区| 综合久色五月| 婷婷丁香人妻天天| av久热| WWW.桔色成人.COM| 丁香婷婷五月色综合| 日本女色人人| 91嫩草久久| 亚洲va日| 婷婷色Av| 超碰人人艹| 中文字幕视频色婷婷| 99这里有精品视频| 婷婷五月丁香综合桃花色网| 91日婷婷在线| 九九色逼| 囯产精品一品二区三区| 色色网站免费观看| 久久久久亚洲AV成人无码电影| 99热这里只有精品4| 九九视频这里只有精品| 婷婷中文字幕版| 99热12| 色色色色色色网站| 五月色婷婷夜色| 激情丁香久久| 婷婷五月天激情基地| 这里只有精品在线视频在线观看| www夜夜操| 欧美内射AAAAAAXXXXX| 欧美丰满熟妇BBB久久久| 丁香,开心成人,久久| 97婷婷五月| 五月色色网| 天天综合天综合| 六月丁香婷| 91九色中文字幕女在线观看| 婷婷99狠狠躁天天躁中文| 97人人操人人爽| 婷婷五月天在线一区| 97在线/亚洲| 屁股翘好撅高迎合跪趴| 色综合99色| 色情·com| 五月婷婷天天| 亚洲激情四射色| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 天天插天天射| 成人无码髙潮喷水A片| 97亚洲视频在线| 99视频精品全部免费看| 开心五月丁香啪| 大香蕉AV在线| 五月婷婷,狠狠操| 人人爱人人添| AV成人在线网站| 久久久这里都是精品| 精品人妻久久久久久久| 丁香五月人妻| 久久99日本精品视频免费观看| WWW.久久久久久久| 婷婷色五月天在线观看| 日本婷婷| 99热最新| 夜夜嗨一区二区三区直播内容 | 操久久网| 婷婷综合成人| 69人人操人人爽| 精品51XX| 欧美日韩中文国产一区发布| 综合亚洲AV| 亚洲激情综合免费| 尤物一区二区| 激情五月深爱五月| 天天天天天日| 丁香五月影院| 99在线精品视频在线观看| 九九在线视频| 五月天丁香六月综合| 五月天激情电影| 影音先锋一区二区资源站| 婷婷99中文字幕| 色五月大| 亚洲色色五月天| 人妻aV在线| 伊人影院久久网| 这里只有精品免费| 丁香五月性爱爱五月| 婷婷六月色情| 熟妇国产| 夜丁香综合|