《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 自動化測試在動態文檔發布系統中的應用
自動化測試在動態文檔發布系統中的應用
摘要: 對于大多數人來說,都會有這樣的客戶體驗:去銀行或者保險公司辦理業務,或者接收他們的保單宣傳,我們所面對和接收的都是一張張一樣的表單,然后上面有一些空白的表格或者下劃線,然后將客戶的信息填上去。
Abstract:
Key words :

0 引言
    對于大多數人來說,都會有這樣的客戶體驗:去銀行或者保險公司辦理業務,或者接收他們的保單宣傳,我們所面對和接收的都是一張張一樣的表單,然后上面有一些空白的表格或者下劃線,然后將客戶的信息填上去。這樣的做法有以下兩個缺點:
    (1)客戶體驗差。所有客戶拿到的都是一樣的表單,因為考慮特殊的情況,表單里面的空白的地方都會比較大,所以一般會出現大片空白的區域。
    (2)對于每種不同的客戶或者不同的業務會需要不同的表單,對于客戶信息變動的情況,需要人工完成,比較繁瑣。
    為了更好的客戶體驗,越來越多的公司傾向于采用動態打印技術。這樣每個客戶接收到的文檔或者打印件都是定制化的,這樣就能克服以上缺點而做到:
    (1)客戶體驗優。所有客戶拿到的文檔都是定制化的,表單里沒有需要填空的地方,客戶的數據都會被程序動態地植入表格模板里,就好像專門為客戶定做的文檔。
    (2)我們可以在模板中定義一些規則,然后根據客戶數據來采用相應的規則。例如,美國各個州的法律是不一樣的,我們可以在編輯文檔的時候就定義規則:如果客戶是A州的,就用A條文,如果是B州的,就用B條文。這樣當生成文檔的時候,程序會根據當前客戶是屬于哪個州的,動態地加入這一段條文,而不需要人工的判定。并且,當客戶從A州搬到B州,我們只需要更新一下客戶的數據,客戶下次就能拿到更新的正確的文檔。

1 動態文檔發布系統
    有了如上的需求,很多公司都加入了開發動態文檔發布系統的行列。對于動態文檔發布,簡單說起來,一般的步驟是:1)建立文檔模板;2)運行時,裝載客戶數據進入模板;3)拼接文檔;4)排版;5)輸出前處理;6)輸出成不同格式的文檔;7)發布和歸檔。
    動態文檔發布系統可以使客戶高性能制作并發送設計精美、高度個性化的溝通材料,從合同、保險單、大批量的賬戶關系維護通知單,到定制的推廣資料、商業信函等。客戶可以在該系統平臺上,運用自己熟悉的文檔開發軟件,如Word、Adobe Indesign、Dream Weaver,開發出文檔模板,并根據系統提供的插件進行邏輯的設置。然后,該模板就能被送往系統,跟隨提供的客戶數據而批量地生成客戶需要的定制文檔。接著,生成的文件可以通過不同的途徑,例如,郵件、e-mail、手機短信等方式發送到客戶,使客戶有良好的用戶體驗。

2 自動化測試的要求
    對于這樣一個復雜的系統,它的主要客戶是一些保險公司和銀行,而它的主要產出是保單和合同。同時,合同和保單都是很嚴肅和很嚴謹的文檔。客戶需要的是他們的客戶在客戶數據沒有改變的情況下,得到的是一貫的體驗。
    但是同時,動態文檔發布系統本身又是一個不斷發展和改善的系統。它擁有非常復雜的排版邏輯,并且每個版本的升級都會有大量的新功能和新邏輯被引入,這樣的邏輯改變如果哪怕有一點點的差錯,原來客戶的整個文檔可能就會面目全非。如果老的客戶需要升級這些新功能的話,我們需要保證客戶得到一貫的體驗。也就是說,他們用舊的版本系統生成的文檔和在新的版本系統生成的文檔要保持一致,除非新的版本生成的更好,并得到客戶的同意。
    這樣,為了達到上面的目標,我們需要在新版本發布前,運行一些老客戶的文檔(挑選一些很典型的客戶文檔),并且一個個和老版本生產的文檔進行比較。但是我們不能把這個過程推到新版本發布之前才做,因為那個時候整個項目已經積累了很多的不同點,很難追查到源頭并加以改正。所以我們需要把這個過程提前,并且頻繁地去檢查。
    由于需要頻繁的檢查,并且文檔的比較是個很繁重的體力活,所以自動測試將會是很好的方法,它不僅能夠節省絕對的人力,而且能夠保證絕對的準確,不會被人為因素干擾。
    我們可以把這個自動測試集成到日常的打包系統中,每次打包后就可以自動地完成運行,比較和生成報告。
    但是,我們不能在打包服務器上每次都去部署新的系統,因為那樣太笨重了,并且會讓環境問題和我們系統本身的問題經常性地糾纏不清。所以,我們需要自己建立一套輕量級的架構去承載這個測試過程:
    (1)我們的系統是建立在基于應用服務器的EJB架構上的,并且EJB的主要操作是基于對數據庫的操作,但是我們對于該自動測試的系統的要求是,對外部的依賴越少越好,因為這樣的話,我們就能很方便地在各個相關程序員和測試人員以及配置人員之間進行部署和實施,所以我們希望他不要依賴應用服務器和數據庫。
    (2)我們要明確輸入源和輸出源,并且能夠提供一些簡單并且方便的配置,而且在很小代價的前提下,能夠在不同的輸入源和輸出源之間隨意切換。
    (3)結果必須是可以有辦法鑒別的,并且鑒別結果是能夠很容易取得和方便查閱的。

3 設計方案
    根據上面提出的三個要求,我們將通過分析我們的系統來提出我們的解決方案。
3.1 分析
    對于這個系統來說,我們首先需要解決對于應用服務器,也就是對于EJB的依賴。為了達到這個目的,我們必須對系統的主要模塊進行分析,來想辦法如何解除依賴。

 

3.1.1 系統主要模塊介紹
    我們可以看看此系統的一個特別簡化同時又很典型的流程:

 

a.JPG


    首先介紹一下每個術語:
    BDT:Business document template,商業文檔模板。在這里我們定義一些規則,然后會跟客戶數據關聯選擇具體的規則。
    Customer Data:客戶數據。XML格式記錄特定客戶的數據,然后根據這些客戶數據,動態產生不同文檔。
    ASL:Assembly List,裝配列表。由BDT和客戶數據裝載生成,里面記錄的是一個個根據規則而選出來的最終文檔片段(text piece)。
    Text Piece:文檔片段。在客戶端定義,并存儲在數據庫端的文檔片段。
    MSO:微軟自己定義的HTML格式Microsoft HTML,然后我們在里面加入一些我們自己定義的標記。
    Styled Doc:式樣文檔。我們定義的一個格式,其實就是一些結構類,會對文檔的各個內容、樣式、布局進行描述。
    DIF:Document Independent Format,獨立文檔格式。StyledDoc經過CE(composition)排版的結果就是DIF。它是一個頁面級別的概念,告訴你什么時候生成一個新頁面,多大,在哪里用什么字體寫些什么字,在哪里放一個什么樣的圖片。
    PDL:Page Description Language,頁面描述語言。我們需要生成的最終結果,就是那些用頁面來表示文檔的語言,例如,Word、PDF、AFP、Postscript等等。
    從圖1可以看出,我們的EJB主要用在對數據庫的操作上。對于數據庫的操作,主要是對數據模板(BDT)的提取,然后和本地客戶數據進行整合,進而得出需要真正從數據庫取出數據的組合(ASL),最后進行后面的排版(CE)、計算,生成各種不同類型的文檔。
3.1.2 解耦數據庫
    既然我們要去除EJB和數據庫的束縛,我們能不能繞過去呢?進一步分析,我們得到,數據模板在和客戶數據裝載(Assemble)后會在數據庫里生成一個xml文件,用來描述最終會用到的具體的存在于數據庫中間的文本片段。而這個xml文件,我們稱之為ASL。我們試想,如果我們用一個辦法,直接生成我們要用到的ASL文件,那么我們是不是就可以繞過EJB和數據庫了呢?
    答案是一半肯定,一半否定。首先,我們的確能繞過EJB的應用,它主要用于assemble這個階段。但是光有ASL是沒有用的,因為我們還需要通過ASL去數據庫里取得所有的文本片段去做整合(Merge)。那么我們能不能把輸入進一步地往后面推,推到Merge以后呢?答案是不能。首先來說Merge的輸入也就是文本片段會有很多,他們之間的關系很復雜,這些都是記錄在ASL里面,并且,Merge本身就是一個比較容易出問題的模塊,是我們做這個Test Client要重點模擬和測試的模塊,所以我們只能另想辦法。
    這里我們大概介紹一下通過ASL去數據庫取文本片段的過程。這個過程其實比較簡單,因為邏輯方面的運算已經在Assemble的過程中處理完成,這里的任務是根據ASL里面的一個個的文本片段ID去數據庫里取出相應的數據來進行后續的流程。既然是這樣的一個過程,我們決定嘗試通過本地文件來模擬數據庫記錄。我們可以把數據從數據庫里取出來,按照一定的規則,給它們命名為本地的一個個文件,然后在我們的測試框架中重載以前的去數據庫取文本片段的方法為去本地的文件夾里取。這樣的確是可行的,因為:
    (1)我們的目的是驗證我們的文檔歷史的保真度(Fidelity)的問題,那么我們的文檔的文本片段是不會有所改變的。所以我們可以把它們放心轉移到本地,而不用擔心更新問題。
    (2)文件放到本地,能減少傳輸上的消耗,并且如果把方法進行重載,是代價最小和最自然的一件事情,并且能最大限度地利用原來的代碼。
    (3)經過一些小小實驗,我們發現經過很小的改動,我們可以把數據庫的文件按照一定的規則改寫到本地。這些都可以通過寫一些小程序來實現。以后有新的文檔,都可以用這個方法來實現,簡單而易用。
3.1.3 輸入和輸出
    在去除EJB和數據庫的束縛的過程中,我們得到了我們的輸入方式,那就是ASL+Text Pieces。輸出文件當然很簡單了,我們選擇PDF,這個是我們主要的打印格式,當然,我們可以方便配置生成其它的格式文件,但是對于自動比較,由于我們現在的工具只支持PDF的比較,所以,對其它的格式文件輸出,我們暫時不能提供自動比較。

 

3.2 框架方案
    有了輸入和輸出,以及明確的需求,我們給出框架的解決方案:

 

b.JPG


    (1)把整個過程分為輸入、過程中、輸出、輸出后。
    (2)對于配置,采用XML,并且在XML里提供對輸入、輸出、以及中間的過程的配置。
    (3)對于輸入,我們定義一個接口,對于這個接口的實現將會是各個不同的輸入方式,對于目前來說我們是支持ASL+Textpieces。但是我們以后會支持另外的輸入方式。然后對于所有的輸入接口,我們定義一個中心的中間輸出,我們叫它IDoc。它實際上是輸入和發布的中心,輸入都要轉成這個我們定義的中間結果,然后輸出都需要從這個中間結果進行加工。
    (4)對于輸出,我們可以把它們同樣配置在XML里面。并且對于最基本的輸出例如PDF,我們可以把它作為默認的一個輸出,而不需要每次進行配置。
    (5)對于中間過程,我們配置了一些攔截器,這些攔截器以IDoc為中心,設置了publish前和publish后的攔截器,也就是說,在這里我們可以對publish前和publish后進行一些配置。比如,在開始前我們可以開始計時,結束后結束計時,這樣我們可以測試一些效率方面的例子。
    (6)對于輸出,我們對于PDF輸出,我們要實現它和自動比較工具的一個集成,也就是生成完PDF后,在配置要求進行比較的情況下,自動調用PDF比較工具對輸出結果和標準進行比較,然后得出結果,并且生成HTML結果表格,然后通過Email給相關人員進行發送。
3.3 用例
    當整個系統運行起來后,操作步驟如下:
    首先,簡單來說,我們會提供一些默認的XML配置,包括用例存放路徑、輸入方式、輸出方式、發比較結果郵件會發給哪些人等等進行默認配置。因為這些東西會很少改動,當然改動的時候,我們重新配置就行。然后我們把需要運行的輸入,即ASL+Text Pieces放到一個配置的路徑里,然后用名字去區分不同的用例。然后我們通過XML配置我們的輸入格式、輸出格式,以及需不需要對結果進行比較、需不需要發郵件等等選項。當這些配置配完以后,我們給它起一個唯一的用例名,然后在程序里將這個用例名作為參數運行就能使整個過程自動完成。對于程序員,我們每次提交關鍵代碼,都會先運行一下這個框架程序,然后查看自動生成的測試報告。如果發現問題,及時改正。而對于配置管理員來說,他們這個過程用ant工具配置在打包腳本中,然后我們就可以在每次打包時,自動地運行我們預先設置的用例。并且,生成文件后,程序會自動對生成的PDF文件進行比較,并將結果整理發出郵件。相關人員會通過Email收到比較結果,在上面可以通過超鏈接很方便地點選那些比較不對的文檔,然后通知程序員進行改正。整個過程由于都是由機器在后臺快速運行,少了人工的干擾,所以既提高了準確率,又提高了效率。

4 結論
    由于文檔發布系統的客戶對于不同系統版本間文檔一致性的高要求,使我們必須要提供一個長久的機制保證這個一致性。而要保證這個系統的一致性,我們提出了一個輕量級自動測試的方案。這里所說的輕量級,只是說該框架下運行方便,不需要受應用服務器和數據庫的約束,但是理論它上提供了文檔發布系統同樣的功能和行為。實際上在整個過程中,我們盡量調用原先系統的程序,但是在解除對于服務器和數據庫的依賴方面,我們通過仔細分析原來的動態文檔發布系統各個模塊的前提下,采用了用本地文件模擬數據庫的方法,通過重載方法實現了對于數據庫的解耦。該框架提供了強大的可配置功能,通過簡單的XML設置,我們可以對整個過程進行配置,靈活實現不同的功能組合。
    在未來,我們還會不斷完善這個框架,例如會提供更多的輸入選擇,提供可視化的配置,提供盡量準確的診斷功能幫助程序員方便定位錯誤,并且根據動態文檔發布系統的升級而相應提供更多的配置和功能。

 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          午夜欧美视频| 久久精品在线免费观看| 国产精品嫩草影院av蜜臀| 国产日韩精品电影| 国产欧美日韩综合一区在线播放| 99精品免费网| 亚洲欧美国产制服动漫| 欧美日韩一区二区国产| 欧美精品久久久久久久久久| 欧美一区永久视频免费观看| 136国产福利精品导航| 一区二区免费在线观看| 亚洲人体大胆视频| 亚洲人久久久| 国产精品毛片在线看| 久久久噜噜噜久久人人看| 亚洲欧洲精品一区二区三区| 欧美成ee人免费视频| 国产精品有限公司| 激情欧美丁香| 亚洲美女区一区| 一区二区三区.www| 亚洲女人小视频在线观看| 欧美日韩国产精品一卡| 欧美精品黄色| 一本色道久久88精品综合| 欧美一级淫片aaaaaaa视频| 亚洲一区影音先锋| 国产日韩精品一区二区三区| 国产精品美女主播| 欧美福利视频在线| 99精品视频免费观看视频| 欧美一区二区视频免费观看| 国内精品嫩模av私拍在线观看| 极品日韩av| 性色av一区二区三区红粉影视| 亚洲美女黄色| 香蕉久久久久久久av网站| 久久精品日产第一区二区| 国产日韩欧美| 亚洲成人在线网| 久久久国产视频91| 久久精品色图| 久久久久久综合网天天| 欧美久久久久久久| 亚洲国产精品欧美一二99| 国产精品青草综合久久久久99| 亚洲精品一区二区三区在线观看| 99热这里只有精品8| 制服丝袜激情欧洲亚洲| 欧美搞黄网站| 欧美视频中文一区二区三区在线观看| 激情小说另类小说亚洲欧美| 欧美人牲a欧美精品| 亚洲欧美日本国产专区一区| 欧美欧美天天天天操| 国产亚洲在线观看| 久久精品国产久精国产爱| 国产欧美日本一区视频| 国模大胆一区二区三区| 国模精品娜娜一二三区| 国产精品久久久一区二区三区| 一区二区三区视频在线播放| 亚洲色无码播放| 欧美电影免费观看大全| 久久精品国产久精国产爱| 欧美婷婷久久| 欧美伊人影院| 国产精品久久久久久久久婷婷| 在线激情影院一区| 欧美在线一级视频| 欧美成人中文字幕在线| 国产精品s色| 亚洲裸体俱乐部裸体舞表演av| 欧美精品一区在线播放| 欧美激情一区二区三区在线视频| 亚洲一区二区三区高清不卡| 欧美特黄a级高清免费大片a级| 韩国av一区二区三区在线观看| 欧美精品免费观看二区| 黄色成人在线观看| 欧美激情二区三区| 国产精品高清免费在线观看| 欧美怡红院视频一区二区三区| 国产精品久久久久99| 国产一区在线播放| 久久精品首页| 在线观看视频亚洲| 国产精品一区二区你懂得| 国产精品综合| 国产精品性做久久久久久| 国产欧美日韩综合一区在线播放| 亚洲国产精品一区二区久| 国产一区二区丝袜高跟鞋图片| 狠狠干成人综合网| 久久综合九色九九| 欧美激情女人20p| 国产日本欧美在线观看| 国产精品久久二区二区| 久久国产精品99国产精| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产美女精品人人做人人爽| 亚洲色在线视频| 欧美日韩国产一区| 亚洲日本欧美| 亚洲免费综合| 亚洲毛片网站| 国产精品乱人伦一区二区| 久久av资源网| 亚洲啪啪91| 久久偷看各类wc女厕嘘嘘偷窃| 国产精品久久国产愉拍| 亚洲在线观看免费| 亚洲黄色高清| 国产午夜一区二区三区| 亚洲一区二区三区中文字幕| 国产欧美一区二区三区久久| 亚洲无限av看| 美女精品在线| 韩国av一区二区| 久久久美女艺术照精彩视频福利播放| 国产精品v欧美精品v日本精品动漫| 伊人色综合久久天天五月婷| 亚洲国产精品久久久久| 欧美电影免费观看高清| 先锋影音久久久| 欧美精品在线极品| 欧美日韩国产91| 欧美日韩国产高清| 国内成人精品2018免费看| 亚洲欧美一区二区三区在线| 久久一区亚洲| 亚洲激情不卡| 亚洲欧洲精品一区二区精品久久久| 欧美性猛交99久久久久99按摩| 亚洲激情一区二区三区| 欧美精品一区二区三区四区| 亚洲免费观看高清完整版在线观看| 一卡二卡3卡四卡高清精品视频| 激情成人在线视频| 久久99伊人| 国产精自产拍久久久久久| 欧美大香线蕉线伊人久久国产精品| 亚洲影院高清在线| 欧美日韩日韩| 激情成人av| 日韩图片一区| 欧美性大战久久久久久久蜜臀| 黄色成人免费网站| 美女精品网站| 亚洲美女毛片| 欧美午夜不卡影院在线观看完整版免费| 欧美一区二区三区精品电影| 这里只有精品视频| 欧美大秀在线观看| 日韩午夜免费| 亚洲欧美激情视频| 久久久99精品免费观看不卡| 欧美激情一区二区在线| 亚洲一区欧美一区| 国产麻豆精品久久一二三| 亚洲成人在线视频网站| 久热精品在线视频| 午夜精品久久99蜜桃的功能介绍| 国产精品美女www爽爽爽| 国产精品久久久久久久7电影| 久久久久99| 久久久激情视频| 国产精品日韩| 欧美成人综合在线| 亚洲国产一区二区三区青草影视| 欧美日韩喷水| 美女网站在线免费欧美精品| 国产精品久久久久av| 亚洲美女免费精品视频在线观看| 久久夜色精品国产| 久久久无码精品亚洲日韩按摩| 一区二区免费在线观看| 亚洲高清不卡av| 国产日韩欧美不卡在线| 午夜视频在线观看一区二区三区| 国产精品黄视频| 国产一区激情| 欧美激情免费观看| 国产精品亚洲综合色区韩国| 国产日韩精品一区观看| 欧美国产在线电影| 亚洲欧洲一区二区在线观看| 亚洲精品久久久久中文字幕欢迎你| 亚洲一区二区少妇| 久久一本综合频道| 久久精品国产亚洲精品| 国产精品久久看| 久久久精品欧美丰满| 欧美一区二区福利在线| 亚洲专区一二三| 亚洲综合国产激情另类一区| 午夜精品影院| 欧美高清在线视频观看不卡| 欧美日韩精品福利| 亚洲精品日产精品乱码不卡| 亚洲精品自在在线观看| 一区二区三区在线免费观看| 欧美大片免费观看在线观看网站推荐| 亚洲永久精品国产| 久久久国际精品| 国产亚洲成av人片在线观看桃| 亚洲经典三级| 99国内精品久久久久久久软件| 国产自产2019最新不卡| 久久久蜜桃精品| 亚洲图片在区色| 国产精品a久久久久久| 性色一区二区| 久久亚洲国产精品日日av夜夜| 黑人巨大精品欧美黑白配亚洲| 亚洲欧美日韩中文播放| 欧美日韩午夜激情| 一区二区视频免费在线观看| 性一交一乱一区二区洋洋av| 亚洲国产成人av好男人在线观看| 国产一区二区三区电影在线观看| 欧美视频一区二区三区在线观看| 中文日韩在线视频| 亚洲欧美日本另类| 欧美日韩一区二区欧美激情| 国产精品久久久久久妇女6080| 久热国产精品视频| 欧美一区二区三区日韩视频| 亚洲精品一线二线三线无人区| 国产精品男女猛烈高潮激情| 国产精品扒开腿做爽爽爽软件| 亚洲一区二区高清| 免费美女久久99| 国产自产在线视频一区| 亚洲精品九九| 在线免费观看日本欧美| 亚洲午夜精品17c| 免费亚洲电影| 精品成人一区二区| 国产日韩欧美一区在线| 欧美在线黄色| 国产精品自在欧美一区| 国产主播精品在线| 国产亚洲福利社区一区| 国产欧美日韩另类视频免费观看| 国产性做久久久久久| 亚洲永久视频| 久久人人97超碰国产公开结果| …久久精品99久久香蕉国产| 久久综合久久综合九色| 国产亚洲aⅴaaaaaa毛片| 欧美母乳在线| 亚洲欧洲精品一区二区精品久久久| 国产精品久久久久久av福利软件| 一本久久综合亚洲鲁鲁五月天| 美日韩免费视频| 欧美激情中文不卡| 亚洲高清久久网| 免费人成网站在线观看欧美高清| 亚洲高清免费视频| 亚洲午夜在线观看| 国产精品资源在线观看| 欧美午夜理伦三级在线观看| 欧美成人精品一区二区| 久久一区二区三区四区| 一本色道久久88亚洲综合88| 久久久久久一区二区| 亚洲在线观看| 欧美日一区二区三区在线观看国产免| 欧美影院午夜播放| 亚洲国产精品成人精品| 亚洲一区精品视频| 欧美日韩亚洲视频一区| 亚洲精品一区二区三区不| 亚洲美女网站| 久久免费国产精品1| 欧美国产欧美综合| 国产一区二区视频在线观看| 久久婷婷国产综合尤物精品| 国产精品女人久久久久久| 欧美午夜视频在线| 久久久久www| 久久手机精品视频| 欧美剧在线免费观看网站| 乱码第一页成人| 欧美日韩国产精品一区| 伊人成人开心激情综合网| 久久久久一区二区三区| 国产三级欧美三级日产三级99| 久久久五月婷婷| 久久伊人一区二区| 久久精品国产免费| 红桃视频亚洲| 野花国产精品入口| 亚洲乱码国产乱码精品精98午夜| 欧美激情一区二区| 欧美午夜不卡影院在线观看完整版免费| 欧美成人一区二免费视频软件| 久久一二三四| 欧美日韩中文在线| 久久亚洲欧美国产精品乐播| 亚洲网站视频福利| 国产欧美69| 亚洲国产成人精品久久久国产成人一区| 最新国产の精品合集bt伙计| 欧美一区二区三区视频在线| 亚洲精品视频一区| 欧美体内she精视频在线观看| 久久综合狠狠综合久久综青草| 亚洲精品一二三区| 女人天堂亚洲aⅴ在线观看| 欧美韩日一区二区| 亚洲欧美日韩网| 亚洲欧洲一区二区三区| 亚洲免费视频成人| 狠狠操狠狠色综合网| 亚洲电影网站| 亚洲电影中文字幕| 黄色成人免费观看| 国产精品v欧美精品v日韩| 久久伊人免费视频| 狠狠久久婷婷| 亚洲午夜精品久久久久久浪潮| 亚洲综合丁香| 欧美一级大片在线免费观看| 激情综合久久| 欧美国产一区二区|