日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Selenium 中文API

發(fā)布時(shí)間:2023/12/13 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Selenium 中文API 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Selenium 中文API

轉(zhuǎn)自:http://blog.csdn.net/lh9529/article/details/3946567

概念

Selenium?通過命令進(jìn)行驅(qū)動(dòng)。Selenium?可歸納為三種“風(fēng)格”:動(dòng)作輔助斷言。每一個(gè)命令調(diào)用就是下表中的一行。

命令

目標(biāo)

動(dòng)作(Actions)命令一般用于操作應(yīng)用程序的狀態(tài)。它們通過如”點(diǎn)擊鏈接”和”選擇選項(xiàng)”的方式進(jìn)行工作。如果一個(gè)動(dòng)作執(zhí)行失敗,或是有錯(cuò)誤,當(dāng)前的測試將會(huì)停止執(zhí)行。

許多動(dòng)作可以被包含后綴”并等待”的方式進(jìn)行調(diào)用,例如,”點(diǎn)擊并等待”。這個(gè)后綴告知Selenium,該命令將使瀏覽器向服務(wù)器產(chǎn)生一個(gè)請(qǐng)求,并使得Selenium等待加載一個(gè)新的頁面。

輔助(Accessors)用于檢查應(yīng)用程序的狀態(tài)并將結(jié)果存儲(chǔ)在變量中。例如”storeTitle”。它們同樣可用于自動(dòng)生成斷言。

斷言(Assertions)類似于輔助,但它們可以驗(yàn)證應(yīng)用程序的狀態(tài)是否同所期望的相一致。例如包括”確認(rèn)頁面標(biāo)題為X”和”驗(yàn)證該復(fù)選框是否被勾選”。

所有的Selenium斷言可以被用于三種模式:”assert”, “verify”,和”waitfor”。例如,你可以”assertText”,”verifyText”,及”waitforText”。當(dāng)”assert”失敗時(shí),該測試將終止。當(dāng)”verify”失敗時(shí),該測試將繼續(xù)執(zhí)行,并將錯(cuò)誤記入日志。這就允許了通過單條”assert”確保應(yīng)用程序在正確的頁面上,而通過一系列的”verify”斷言測試表單上的區(qū)域值,標(biāo)簽等。

“waitfor”命令用于等待某些條件變?yōu)檎?可用于Ajax應(yīng)用程序的測試)。如果該條件已經(jīng)為真,他們將立即成功執(zhí)行。反之,如果該條件不為真,則將失敗并暫停測試,直到超過當(dāng)前所設(shè)定的超時(shí)時(shí)間(參照后面的setTimeout動(dòng)作)。

元素定位器(Element Locators)告訴Selenium是向HTML中的哪一個(gè)元素發(fā)送命令。許多命令需要一個(gè)如”target”屬性的元素定位器。這其中包括”elementId”和”document. forms[0].element”。在接下來的部分將更詳細(xì)的描述它們。

式樣(Patterns)由于多種因素被使用著,如指定一個(gè)輸入域的期望值,或識(shí)別一個(gè)選擇選項(xiàng)。Selenium支持許多類型的式樣,其中包括正則表達(dá)式,所有這些將在接下來的章節(jié)中進(jìn)行更詳細(xì)的描述。

定義一個(gè)類用于運(yùn)行Selenium命令。

元素定位器(Element Locators)

元素定位器(Element Locators)告訴Selenium是向HTML中的哪一個(gè)元素發(fā)送命令。一個(gè)定位器的格式如下:

???????locatorType = argument

我們支持如下寫法用于定位元素:

·identifier=id?:根據(jù)指定的@id屬性選擇元素。如果沒有匹配的值,則選擇第一個(gè)@name屬性為id的元素。(參照后面)

·id=id?:根據(jù)指定的@id屬性選擇元素。

·name=name?:選擇第一個(gè)根據(jù)指定的@name所查找到的元素。

????〇 username

????〇??name=username

這里的name可以作為可選項(xiàng)跟在一個(gè)或多個(gè)元素過濾器的后面,通過空格進(jìn)行分隔。如果沒有指定過濾類型,則假定為value

????〇??name=flavour value=chocolate

·dom=javascriptExpression:?通過檢測指定字符串查找元素。這使得你可以通過?JavaScript貫穿HTML文檔對(duì)象。注意在這個(gè)字符串中返回值不是必須的;僅僅只需要確保這條語句是你塊中的最后一條。

????〇??dom=document.forms[′myForm′].myDropdown

???????〇??dom=document.images[56]

???????〇??dom=function foo() { return document.links[1];}; foo();

·xpath=xpathExpression:?通過XPath?表達(dá)式定位元素。

????〇??xpath=//img[@alt=′The image alt text′]

????〇??xpath=//table[@id=′table1′]//tr[4]/td[2]

????〇??xpath=//a[contains(@href,?′#id1′)]

????〇??xpath=//a[contains(@href,?′#id1′)]/@class

????〇??xpath=(//table[@class=′stylee′])//th[text()=′theHeaderText′]/../td

????〇??xpath=//input[@name=′name2′?and @value=′yes′]

????〇??xpath=//*[text()=″right″]

·link=textPattern:?選擇所包含的文字匹配指定式樣的鏈接(錨)。

????〇??link=The link text

·css=cssSelectorSyntax:?通過css選擇器選擇元素。請(qǐng)查詢CSS2?選擇器,CSS3?選擇器以獲得更多信息。在下載下來的selenium core package中的selenium test suite?里的TestCssLocators test ,你同樣可以查看到使用例子。

????〇??css=a[href=″#id3″]

???????〇??css=span#firstChid + span

當(dāng)前css選擇過濾器支持所有的css1,css2,css3,除了css3中一些虛擬類(:nth-of-type,:nth-last-of-type,:first-of-type,:last-of-type,:only-of-type,:visited,:hover,:active,:focus,:indeterminate)以及虛擬元素(::first-line,::first-letter,::selection,::before,::after)。

如果沒有一個(gè)顯式的前綴,Selenium使用以下默認(rèn)寫法:

·dom,用于開頭為″document.″的定位器

·xpath,用于開頭為″//″的定位器

·identifier,其他

元素過濾器(Element Filters)

?

元素過濾器可以同選擇器一起使用,從一堆候選元素中進(jìn)行篩選。它們當(dāng)前僅使用于’name’元素選擇器。

過濾器看起來更像是選擇器,也就是:

???????filterType=argument

?

所支持的元素過濾器為:

value=valuePattern

?????????匹配元素時(shí)基于它們的值進(jìn)行匹配。這在對(duì)一堆相似命名的關(guān)聯(lián)按鈕的篩選中顯得尤其有用。

index=index

????????選擇單個(gè)元素基于其在列表中的位置(從0開始)。

字符串匹配?式樣

有各種各樣的式樣語法可用于匹配字符串值:

·glob:pattern:?用″glob″去匹配一個(gè)字符串。″Glob″是一種用于命令行shells的代表性的有限正則表達(dá)式語法。在一個(gè)glob式樣中, ″*″代表任意序列字符集,而″?″則代表任意單個(gè)字符。Glob式樣匹配整個(gè)字符串。

·regexp:regexp:?使用正則表達(dá)式匹配字符串。可使用所有的JavaScript正則表達(dá)式。

如果沒有指定式樣前綴,Selenium假定其為″glob″式樣。

Selenium Actions

addLocationStrategy (strategyName, functionDefinition)

??為selenium定義一個(gè)新的函數(shù)用于定位頁面上的元素。例如,如果你定義了一個(gè)方法″foo″,并運(yùn)行了click(″foo=blah″),我們將運(yùn)行你的函數(shù),傳遞給你字符串″blah″,并點(diǎn)擊該函數(shù)所返回的元素,如果返回為null,則拋出一個(gè)″Element not found″的錯(cuò)誤。我們將給該函數(shù)傳遞三個(gè)參數(shù)。

????·locator:?用戶傳遞過來的字符串

????·inWindow:?當(dāng)前所選中的窗體

????·inDocument:?當(dāng)前所選中的文檔

如果未找到相應(yīng)的元素,則函數(shù)必須返回一個(gè)null。

參數(shù):

·strategyName –?定義的方法名;只能使用字母[a-zA-Z],不能包含空格或其他標(biāo)點(diǎn)符號(hào)。

·functionDefinition –?在JavaScript函數(shù)中的一個(gè)定義body的字符串。

如:return inDocument.getElementById(locator);

addSelection (locator, optioLocator)

為通過使用選擇定位器,在一個(gè)可多選元素中所選擇的集合添加一個(gè)selection。@查看#doSelect關(guān)于選擇定位器的細(xì)節(jié)。

參數(shù):

·locator –?用于指定一個(gè)多選框的元素定位器

·optionLocator –?一個(gè)選擇定位器(默認(rèn)為標(biāo)簽)

allowNativeXpath (allow)

指定Selenium是否使用XPath的本地瀏覽執(zhí)行(如果有可用的本地版本);如果傳遞的值為″false″,我們將使用pure-JavaScript xpath?庫。使用pure-JS xpath庫可以提高xpath元素定位器在不同瀏覽器中的一致性,但其執(zhí)行速度將大大低于本地執(zhí)行。

參數(shù):

·allow – Boolean,true意味著我們更愿意使用本地XPath;false則意味著我們將只使用JS XPath

altKeyDown()

按下alt鍵并保持其按下狀態(tài),直到doAltUp()被調(diào)用或一個(gè)新的頁面被加載。

altKeyUp()

釋放alt鍵

answerOnNextPrompt (answer)

通知Selenium返回下一次JavaScript prompt[window.prompt()]所指定的回答字符串。

參數(shù):

??·answer –?對(duì)彈出的提示所給與的回答

assignId (locator,identifier)

臨時(shí)為指定元素設(shè)定一個(gè)″id″屬性,使你可以在將來使用其ID,以代替緩慢且更復(fù)雜的XPath。該ID將在頁面重載后消失。

參數(shù):

????·locator –?指向某個(gè)元素的元素定位器

??·identifier –?為指定元素作為ID使用的字符串

break()

暫停當(dāng)前正在進(jìn)行的測試,并等待用戶按下繼續(xù)按鈕。這個(gè)命令對(duì)于調(diào)試非常有用,但使用時(shí)要特別小心,因?yàn)樗麑?qiáng)制暫停自動(dòng)化測試,直到用戶手動(dòng)操作。

check(locator)

勾選一個(gè)關(guān)聯(lián)性按鈕(checkbox/radio)

參數(shù):

??·locator –?一個(gè)元素定位器

chooseCancelOnNextConfirmation()

默認(rèn)情況下,?Selenium的重載window.confirm()函數(shù)將返回true,等同于用戶手動(dòng)點(diǎn)擊OK;執(zhí)行該命令后,下一次調(diào)用confirm()將返回false,等同于用戶手動(dòng)點(diǎn)擊了Cancel。Selenium對(duì)后來的確認(rèn)動(dòng)作將繼續(xù)使用默認(rèn)行為,自動(dòng)返回true(OK),除非/直到你為每個(gè)確認(rèn)動(dòng)作明確的調(diào)用此命令。

chooseOkOnNextConfirmation()

撤銷調(diào)用chooseCancelOnNextConfirmation的效果。注意,Selenium的重載window.confirm()函數(shù)通常將自動(dòng)返回true,等同于用戶手動(dòng)點(diǎn)擊OK,因此你沒有必要使用此命令,除非由于某種原因使你在下一次確認(rèn)動(dòng)作前不得不改變你先前的想法。在任意確認(rèn)動(dòng)作后,Selenium對(duì)后來的確認(rèn)動(dòng)作將繼續(xù)使用默認(rèn)行為,自動(dòng)返回true(OK),除非/直到你為每個(gè)確認(rèn)動(dòng)作明確的調(diào)用chooseCancelOnNextConfirmation()。

click(locator)

點(diǎn)擊一個(gè)鏈接、按鈕、多選框或單選框。如果該點(diǎn)擊事件導(dǎo)致了新的頁面加載(如同鏈接通常所作的),將調(diào)用waitForPageToLoad。

參數(shù):

??·locator -一個(gè)元素定位器

clickAt(locator,coordString)

點(diǎn)擊一個(gè)鏈接、按鈕、多選框或單選框。如果該點(diǎn)擊事件導(dǎo)致了新的頁面加載(如同鏈接通常所作的),將調(diào)用waitForPageToLoad。

參數(shù):

??·locator -一個(gè)元素定位器

·coordString –?指定由定位器返回的鼠標(biāo)事件相關(guān)聯(lián)的元素x,y?坐標(biāo)(也就是?– 10,20)

close()

模擬用戶點(diǎn)擊彈出窗體或表單標(biāo)題欄上的″關(guān)閉″按鈕。

controlKeyDown()

按下control鍵并保持其按下狀態(tài),直到doControlUp()被調(diào)用或一個(gè)新的頁面被加載。

controlKeyUp()

釋放control鍵

createCookie(nameValuePair,optionsString)

創(chuàng)建一個(gè)新的cookie,除非你清楚的指定該cookie的路徑,否則其路徑和域?qū)⑴c當(dāng)前測試的頁面相同。

參數(shù):

??·nameValuePair –?該cookie的名稱和值,使用如下格式″name=value″

·optionsString –?該cookie的選項(xiàng)。當(dāng)前支持的選項(xiàng)包括’path’和’max_age’。optionsString的格式為”path=/path/,max_age=60”。選項(xiàng)的順序無關(guān)緊要。

deleteCookie(name,path)

刪除指定路徑下的該名稱cookie。

參數(shù):

????·name –?被刪除cookie的名稱

·path –?被刪除cookie的路徑屬性

doubleClick(locator)

雙擊一個(gè)鏈接、按鈕、多選框或單選框。如果該雙擊事件導(dǎo)致了新的頁面加載(如同鏈接通常所作的),將調(diào)用waitForPageToLoad。

參數(shù):

??·locator -?一個(gè)元素定位器

doubleClickAt(locator,coordString)

雙擊一個(gè)鏈接、按鈕、多選框或單選框。如果該雙擊事件導(dǎo)致了新的頁面加載(如同鏈接通常所作的),將調(diào)用waitForPageToLoad。

參數(shù):

??·locator -?一個(gè)元素定位器

·coordString –?指定由定位器返回的鼠標(biāo)事件相關(guān)聯(lián)的元素x,y?坐標(biāo)(也就是?– 10,20)

dragAndDrop(locator,movementsString)

拖動(dòng)元素一定的距離并放下

參數(shù):

????·locator -?一個(gè)元素定位器

??·movementsString –?從當(dāng)前位置到指定位置的像素偏移量,如,”+70,-300”

dragAndDropToObject(locatorOfObjectToBeDragged,locatorOfDragDestinationObject)

拖動(dòng)元素到另一元素

參數(shù):

????·locatorOfObjectToBeDragged –?被拖動(dòng)的元素

·locatorOfDragDestinationObject –?被拖動(dòng)的元素將拖向的元素的坐標(biāo)?(如,其最中心像素)

Dragdrop(locator,movementsString)

不建議?–?用dragAndDrop?代替

參數(shù):

????·locator -?一個(gè)元素定位器

·movementsString –?從當(dāng)前位置到指定位置的像素偏移量,如,”+70,-300”

Echo(message)

打印指定消息到你的Selenese?表的第三個(gè)表單元。有利于調(diào)試。

參數(shù):

????·message –?要打印的消息

fireEvent(locator,eventName)

明確地模擬一個(gè)事件,觸發(fā)”onevent”響應(yīng)句柄。

參數(shù):

????·locator -?一個(gè)元素定位器

????·eventName –?事件名,如”focus”?或”blur”

getSpeed()

獲取執(zhí)行速度(也就是,獲取接下來的每一個(gè)selenium操作的延遲豪秒長度)。默認(rèn)情況下,是不會(huì)有延遲的。也就是延遲為0毫秒。參照setSpeed。

goBack()

模擬用戶點(diǎn)擊其瀏覽器上的”back”按鈕

highlight(locator)

暫時(shí)將指定元素的背景色改變?yōu)辄S色。有利于調(diào)試。

參數(shù):

????·locator -?一個(gè)元素定位器

keyDown(locator,keySequence)

模擬用戶按下一個(gè)鍵(除了還沒釋放的)

參數(shù):

????·locator -?一個(gè)元素定位器

????·keySequence –?可以是個(gè)字符串(“/”后跟隨要被按下鍵的數(shù)字鍵碼,通常是該鍵的ASCII值),或是個(gè)單字符,如“w“, “/119“。

keyPress(locator,keySequence)

模擬用戶按下和釋放一個(gè)鍵。

參數(shù):

????·locator -?一個(gè)元素定位器

????·keySequence –?可以是個(gè)字符串(“/”后跟隨要被按下鍵的數(shù)字鍵碼,通常是該鍵的ASCII值),或是個(gè)單字符,如“w“, “/119“。

keyUp(locator,keySequence)

模擬用戶釋放一個(gè)鍵。

參數(shù):

????·locator -?一個(gè)元素定位器

????·keySequence –?可以是個(gè)字符串(“/”后跟隨要被按下鍵的數(shù)字鍵碼,通常是該鍵的ASCII值),或是個(gè)單字符,如“w“, “/119“。

metaKeyDown()

按下meta鍵并保持其按下狀態(tài),直到doMetaUp()被調(diào)用或一個(gè)新的頁面被加載。

metaKeyUp()

釋放meta鍵

mouseDown(locator)

模擬用戶在指定元素上按下鼠標(biāo)按鈕(除了還沒釋放的)。

參數(shù):

????·locator -?一個(gè)元素定位器

mouseDownAt(locator,coordString)

模擬用戶在指定位置上按下鼠標(biāo)按鈕(除了還沒釋放的)。

參數(shù):

????·locator -?一個(gè)元素定位器

·coordString -指定由定位器返回的鼠標(biāo)事件相關(guān)聯(lián)的元素x,y?坐標(biāo)(也就是?– 10,20)

mouseMove(locator)

模擬用戶在指定元素上按下鼠標(biāo)按鈕(除了還沒釋放的)。

參數(shù):

????·locator -?一個(gè)元素定位器

mouseMoveAt(locator,coordString)

模擬用戶在指定位置上按下鼠標(biāo)按鈕(除了還沒釋放的)。

參數(shù):

????·locator -?一個(gè)元素定位器

·coordString -指定由定位器返回的鼠標(biāo)事件相關(guān)聯(lián)的元素x,y?坐標(biāo)(也就是?– 10,20)

mouseOut(locator)

模擬用戶從指定元素上移開鼠標(biāo)指針。

參數(shù):

????·locator -?一個(gè)元素定位器

mouseOver(locator)

模擬用戶鼠標(biāo)滑過指定元素。

參數(shù):

????·locator -?一個(gè)元素定位器

mouseUp(locator)

模擬用戶在指定元素上釋放鼠標(biāo)按鈕時(shí)發(fā)生的事件(也就是,停止保持按鈕按下)。

參數(shù):

????·locator -?一個(gè)元素定位器

mouseUpAt(locator,coordString)

模擬用戶在指定元素上釋放鼠標(biāo)按鈕時(shí)發(fā)生的事件(也就是,停止保持按鈕按下)。

參數(shù):

????·locator -?一個(gè)元素定位器

·coordString -指定由定位器返回的鼠標(biāo)事件相關(guān)聯(lián)的元素x,y?坐標(biāo)(也就是?– 10,20)

open(url)

在測試框架中打開一個(gè)URL,可以為相對(duì)和絕對(duì)URLs。”open”命令將等待頁面加載完成才繼續(xù)進(jìn)行,也就是明確的指名”并等待”后綴。注意:由于瀏覽器安全策略(相同來源方針)這個(gè)URL必須和當(dāng)前運(yùn)行的HTML在相同的域。如果你不得不在另一個(gè)域打開一個(gè)URL,則需要用Selenium服務(wù)在另一個(gè)域去打開一個(gè)新的瀏覽器會(huì)話。

參數(shù):

????·url –?要打開的URL,可以為空

????·windowID –?要選擇窗體的JavaScript window ID

pause(waitTime)

等待指定時(shí)間(以毫秒為單位)

參數(shù):

????·waitTime –?要睡眠的時(shí)間(以毫秒為單位)

refresh()

模擬用戶點(diǎn)擊瀏覽器上的”Refresh”按鈕。

removeAllSelections(locator)

取消所有可多選元素的選擇狀態(tài)。

參數(shù):

????·locator –?一個(gè)用于識(shí)別多選框的元素定位器

removeSelection(locator,optionLocator)

從用選項(xiàng)定位器進(jìn)行篩選的多選元素的篩選集合中移除一個(gè)集合。@在#doSelect中查看選項(xiàng)定位器的詳細(xì)信息。

參數(shù):

????·locator –?一個(gè)用于識(shí)別多選框的元素定位器

????·optionLocator –?一個(gè)選項(xiàng)定位器(默認(rèn)為一個(gè)標(biāo)簽)

runScript(script)

在當(dāng)前測試窗體的body中創(chuàng)建一個(gè)新的”script”標(biāo)簽,并在body中添加指定的命令文本。用這種方式執(zhí)行腳本,通常可以比使用Selenium的”getEval”方式更簡易的進(jìn)行調(diào)試。要注意的是,由這種腳本標(biāo)簽所拋出的異常不受Selenium管理,因此當(dāng)該腳本有可能會(huì)拋出異常時(shí),你需要用try/catch塊將其包含起來。

????·script –?需要執(zhí)行的JavaScript?片段

select(selectLocator,optionLocator)

用選項(xiàng)選擇器從一個(gè)下拉框中選擇一個(gè)選項(xiàng)。

選項(xiàng)選擇器提供不同的方法從一個(gè)HTML選擇元素中識(shí)別選項(xiàng)。(例如:選擇一個(gè)指定選項(xiàng),或斷言一個(gè)滿足某種規(guī)范的選項(xiàng))有許多種形式的選擇選項(xiàng)定位器。

????·label=labelPattern:?基于其標(biāo)簽匹配選項(xiàng),如其有效文本。(默認(rèn))

??????〇?label=regexp:^[Oo]ther

????·value=valuePattern:?基于其值匹配選項(xiàng)。

??????〇?value=other

????·id=id:?基于其id匹配選項(xiàng)。

??????〇?id=option1

????·index=index:?基于其索引匹配選項(xiàng)(從0開始)。

??????〇index=2

如果沒有為選項(xiàng)定位器提供前綴,則默認(rèn)匹配為標(biāo)簽行為。

參數(shù):

????·selectLocator –?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·optionLocator –?一個(gè)選項(xiàng)選擇器(默認(rèn)為標(biāo)簽)

selectFrame(locator)

在當(dāng)前窗體中選擇一個(gè)框架(你可以多次調(diào)用這個(gè)命令用于選擇嵌套框架)。要選擇父框架,用”relative=parent”作為定位器;要選擇頂級(jí)框架,用”relative=top”。你同樣可以通過基于0的索引號(hào)選擇框架;用”index=0”選擇第一個(gè)框架,或者用”index=2”選擇第三個(gè)框架。

你同樣可以直接使用一個(gè)DOM表達(dá)式來識(shí)別你要的框架。像這樣:dom=frames[“main”].frames[“subframe”]

參數(shù):

????·locator –?一個(gè)用于識(shí)別框架或子框架的元素定位器

selectWindow(windowID)

選擇一個(gè)彈出窗體;一旦一個(gè)彈出窗體被選中,所有的命令將指向該窗體。要再次選擇主窗體,將對(duì)象設(shè)定為null。

注意:window的內(nèi)在JavaScript的”name”屬性和被給與的window文檔(通常是你實(shí)際看到的,作為最終用戶,在窗體的標(biāo)題欄上)的”title”之間有一個(gè)很大的不同。”name”對(duì)于最終用戶通常是不可見的;它是作為第二個(gè)參數(shù)”windowName”傳遞給JavaScript函數(shù)window.open(url,windowName,windowFeatures,replaceFlag)(被Selenium截取)。

Selenium有許多方法用于查找被”windowID”參數(shù)所提及的窗體對(duì)象。

1.)????如果windowID為null,(或是字符串”null”),則假定為用戶是提交給由瀏覽器最初實(shí)例化的窗體。

2.)????如果”windowID”參數(shù)的值是當(dāng)前應(yīng)用窗體的一個(gè)JavaScript變量名,則假定該變量包含一個(gè)由調(diào)用JavaScript window.open()函數(shù)所產(chǎn)生的返回值。

3.)????另外,selenium looks in a hash it maintains that maps string names to window “names”.

4.)????如果失敗了,我們將循環(huán)遍歷所有已知的窗體以便試圖找出適合的”title”。由于”title”不是必須唯一,因此可能會(huì)產(chǎn)生一些非期望的行為。

如果很難判定你所要操作的窗體的名稱,你可以查看為識(shí)別通過window.open(被Selenium截取)所打開窗體的名稱時(shí)所產(chǎn)生的selenium?日志消息。在每個(gè)窗體被打開時(shí),你通常可以看到如下信息:

debug: window.open call intercepted; window ID (你可以用于?selectWindow()) is “myNewWindow”

在某些情況,Selenium會(huì)無法截取window.open的調(diào)用(例如,如果該調(diào)用發(fā)生在”onLoad”事件之間或之前)。(該BUG標(biāo)記為SEL-339)。在這些情況,你可以使用Selenium的openWindow命令強(qiáng)制Selenium去通告打開窗體的名稱,使用一個(gè)空(blank) url,像這樣:openWindow(“”,”myFunnyWindow”)。

參數(shù):

????·windowID –?要選擇窗體的JavaScript?窗體ID

setBrowserLogLevel(logLevel)

設(shè)定瀏覽器方日志信息級(jí)別;在此級(jí)別之下的日志信息將被丟棄。有效的日志級(jí)別字符串有:”debug”,”info”,”warn”,”error”,或”off”。要查看瀏覽器日志,在GUI模式下打開日志窗口,或在Selenium RC中將瀏覽器端記入日志設(shè)定為enable。

參數(shù):

????·logLevel –?以下之一:”debug”,”info”,”warn”,”error”,或”off”

setCursorPosition(locator,position)

將文本光標(biāo)移動(dòng)到被給與的輸入元素或文本域的指定位置。若指定元素不是一個(gè)可輸入元素或文本域,該方法將失敗。

參數(shù):

????·locator –?一個(gè)指向輸入元素或文本域的元素定位器

????·position –?該范圍的光標(biāo)數(shù)字位置;position如果設(shè)定為0,則為該范圍域的最開始位置,你同樣可以將光標(biāo)設(shè)定為-1以移動(dòng)到該范圍域的最末端。

setMouseSpeed(pixels)

配置在dragAndDrop?命令執(zhí)行期間,”mousemove”事件時(shí)的像素?cái)?shù)字(默認(rèn)為10)。

將這個(gè)值設(shè)定為0,意味著我們將向從開始位置到結(jié)束位置的每一個(gè)像素發(fā)送一個(gè)”mousemove”事件;那將會(huì)非常緩慢,且可能導(dǎo)致某些瀏覽器將該JavaScript強(qiáng)制設(shè)定為超時(shí)。

如果該鼠標(biāo)速度大于兩個(gè)拖動(dòng)對(duì)象間的距離,我們將只向開始位置和結(jié)束位置發(fā)送一個(gè)”mousemove”事件。

參數(shù):

????·pixels –?兩個(gè)“mousemove”事件間的像素間隔

setSpeed(value)

設(shè)定執(zhí)行速度(也就是說,設(shè)定將要執(zhí)行的每條selenium操作間的毫秒延遲間隔長度)。默認(rèn)情況下,沒有延遲,也就是延遲為0毫秒。

參數(shù):

????·value –?在操作后的暫停毫秒數(shù)

setTimeout(timeout)

指定Selenium等待動(dòng)作完成的等待時(shí)間。

需要等待的動(dòng)作包括”open”和”waitFor*”。

默認(rèn)超時(shí)為30秒。

參數(shù):

????·timeout –?以毫秒為單位,超過后該命令將返回錯(cuò)誤。

shiftKeyDown()

按下shift鍵,并保持按下狀態(tài),直到doShiftUp()被調(diào)用或一個(gè)新的頁面被加載。

shiftKeyUp()

釋放shift鍵。

store(expression,variableName)

該命令是存儲(chǔ)表達(dá)式的同義詞。

參數(shù):

????·expression –?要存儲(chǔ)的值

????·variableName –?用于存儲(chǔ)結(jié)果的變量名

submit(formLocator)

提交給指定表單。這對(duì)于沒有提交按鈕的表單特別有用,如,簡單輸入的”search”表單。

參數(shù):

????·formLocator –?一個(gè)指向你要提交的表單的元素定位器

type(locator,value)

設(shè)定一個(gè)輸入域的值,如同你輸入進(jìn)去一樣。

其同樣可用于單選框,多選框等。在這些情況,value應(yīng)為選項(xiàng)選擇時(shí)的值,而不是有效文本。

參數(shù):

????·locator –?一個(gè)元素定位器

????·value –?要錄入的值

typeKeys(locator,value)

模擬在指定元素上的按鍵事件,如同是你一個(gè)鍵一個(gè)鍵敲上去一樣。

比起為指定字符串的每個(gè)字符調(diào)用keyDown,keyUp,keyPress方法,這個(gè)函數(shù)要方便的多;其對(duì)于需要明確按鍵事件的動(dòng)態(tài)UI組件(如自動(dòng)完成的combo box)同樣有用。

不同于簡單的”敲打”命令——將指定值直接強(qiáng)制賦給頁面,該指令可能有,也可能沒有任何效果,即時(shí)在敲打按鈕通常會(huì)有效的情況下。例如,如果你在一個(gè)表單元素上使用”typeKeys”,你可能可以,也可能不可以看到看到你在該區(qū)域錄入的效果。

在有些時(shí)候,你可能不得不使用簡單的”type”命令去設(shè)定域的值,然后用”typeKeys”命令去發(fā)送按鍵事件以告知你所錄入的值。

參數(shù):

????·locator –?一個(gè)元素定位器

????·value –?要錄入的值

uncheck(locator)

取消選中一個(gè)關(guān)聯(lián)性按鈕(checkbox/radio)

參數(shù):

????·locator –?一個(gè)元素定位器

waitForCondition(script,timeout)

重復(fù)執(zhí)行指定JavaScript片段直到其值為”true”。

該片段可以有多行,但只考慮其最后一行的結(jié)果。

要注意:默認(rèn)情況下,該片段會(huì)在運(yùn)行者的測試窗體運(yùn)行,而不是在你的應(yīng)用程序窗體。要得到你的應(yīng)用程序窗體,你可以使用JavaScript片段selenium.browserbot.getCurrentWindow(),然后讓你的JavaScript在那運(yùn)行。

參數(shù):

????·script –?要運(yùn)行的JavaScript片段

????·timeout –以毫秒為單位,超過后該命令將返回錯(cuò)誤。

waitForFrameToLoad(frameAddress,timeout)

等待一個(gè)新的框架加載。

Selenium通常會(huì)持續(xù)跟蹤新頁面和框架的加載狀態(tài),當(dāng)其第一次注意到頁面加載完成,將會(huì)設(shè)定一個(gè)”newPageLoaded”標(biāo)志。

查看waitForPageToLoad獲得更多信息。

參數(shù):

????·frameAddress –?服務(wù)端的框架地址

????·timeout -?以毫秒為單位,超過后該命令將返回錯(cuò)誤。

waitForPageToLoad(timeout)

等待一個(gè)新的頁面加載。

你可以使用此命令以代替”AndWait”后綴,”clickAndWait”,”selectAndWait”,”typeAndWait”等(僅在JS API中有效)。

Selenium通常會(huì)持續(xù)跟蹤新頁面的加載狀態(tài),當(dāng)其第一次注意到頁面加載完成,將會(huì)設(shè)定一個(gè)”newPageLoaded”標(biāo)志。當(dāng)此標(biāo)志變?yōu)閒alse后再運(yùn)行其他Selenium命令。因此,如果你要等待一個(gè)頁面加載完成,當(dāng)一個(gè)Selenium命令導(dǎo)致一個(gè)頁面加載后就需立即開始等待。

參數(shù):

????·timeout?-?以毫秒為單位,超過后該命令將返回錯(cuò)誤。

waitForPopUp(windowID,timeout)

等待一個(gè)彈出窗體出現(xiàn)和加載。

參數(shù):

????·windowID –?將出現(xiàn)窗體的JavaScript?窗體ID

????·timeout -?以毫秒為單位,超過后該命令將返回錯(cuò)誤。

windowFocus()

將焦點(diǎn)賦給當(dāng)前選擇窗體

windowMaximize()

重新設(shè)定當(dāng)前窗體大小為全屏

?

Selenium Accessors

assertErrorOnNext(message)

告訴Selenium在下一個(gè)命令執(zhí)行時(shí)期待有錯(cuò)誤。

參數(shù):

????·message –?我們所期望的錯(cuò)誤信息。如果出現(xiàn)不正確的錯(cuò)誤信息,該命令將失敗。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertNotErrorOnNext(message)

????·verifyErrorOnNext(message)

????·verifyNotErrorOnNext(message)

????·waitForErrorOnNext(message)

????·waitForNotErrorOnNext(message)

assertFailureOnNext(message)

告訴Selenium在下一個(gè)命令執(zhí)行時(shí)期待有失敗。

參數(shù):

????·message –?我們所期望的失敗信息。如果出現(xiàn)不正確的失敗信息,該命令將失敗。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertNotFailureOnNext(message)

??·verifyFailureOnNext(message)

??·verifyNotFailureOnNext(message)

??·waitForFailureOnNext(message)

??·waitForNotFailureOnNext(message)

assertSelected(selectLocator,optionLocator)

驗(yàn)證從下拉框中選擇的選項(xiàng)滿足選項(xiàng)指定器。

注意,不贊成使用該命令;你應(yīng)該使用assertSelectedLabel, assertSelectedValue, assertSelectedIndex,或assertSelectedId進(jìn)行代替。

查看選擇命令獲取更多關(guān)于選擇定位器的信息。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·optionLocator –?一個(gè)選項(xiàng)定位器,代表性的就是一個(gè)選項(xiàng)標(biāo)簽(如”John Smith”)

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertNotSelected(selectLocator,optionLocator)

??·verifySelected(selectLocator,optionLocator)

??·verifyNotSelected(selectLocator,optionLocator)

??·waitForSelected(selectLocator,optionLocator)

??·waitForNotSelected(selectLocator,optionLocator)

storeAlert(variableName)

返回在之前動(dòng)作所產(chǎn)生的JavaScript警告消息,如果沒有警告將失敗。

得到一個(gè)警告同手動(dòng)點(diǎn)擊OK有著相同的效果。如果產(chǎn)生了一個(gè)警告,而你并不去得到/驗(yàn)證它,那么下一個(gè)Selenium動(dòng)作將失敗。

注意:在Selenium中,JavaScript警告將不會(huì)彈出一個(gè)可見的警告對(duì)話框。

注意:Selenium不支持在頁面的onload()事件句柄中所產(chǎn)生的JavaScript警告。在這種情況下,將會(huì)生成一個(gè)可見的對(duì)話框,Selenium將被懸停直到手動(dòng)點(diǎn)擊OK。

Returns:

??最近JavaScript的警告消息

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAlert(pattern)

??·assertNotAlert(pattern)

??·verifyAlert(pattern)

??·verifyNotAlert(pattern)

??·waitForAlert(pattern)

??·waitForNotAlert(pattern)

storeAllButtons(variableName)

返回頁面上所有按鈕的ID集。

如果被給與的按鈕沒有ID,則將在結(jié)果數(shù)組中顯示為””。

Returns:

??頁面上所有按鈕的ID集。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAllButtons(pattern)

????·assertNotAllButtons(pattern)

????·verifyAllButtons(pattern)

????·verifyNotAllButtons(pattern)

????·waitForAllButtons(pattern)

????·waitForNotAllButtons(pattern)

storeAllFields(variableName)

返回頁面上所有可輸入域的ID集。

如果被給與的域沒有ID,則將在結(jié)果數(shù)組中顯示為””

Returns:

??頁面上所有域的ID集。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAllFields(pattern)

????·assertNotAllFields (pattern)

????·verifyAllFields (pattern)

????·verifyNotAllFields (pattern)

????·waitForAllFields (pattern)

????·waitForNotAllFields (pattern)

storeAllLinks(variableName)

返回頁面上所有鏈接的ID集。

如果被給與的鏈接沒有ID,則將在結(jié)果數(shù)組中顯示為””

Returns:

??頁面上所有鏈接的ID集。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAllLinks(pattern)

????·assertNotAllLinks (pattern)

????·verifyAllLinks (pattern)

????·verifyNotAllLinks (pattern)

????·waitForAllLinks (pattern)

????·waitForNotAllLinks (pattern)

storeAllWindowIds(variableName)

返回所有瀏覽器已知的窗體ID集。

Returns:

??所有瀏覽器已知的窗體ID集。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAllWindowIds (pattern)

??·assertNotAllWindowIds (pattern)

??·verifyAllWindowIds (pattern)

??·verifyNotAllWindowIds (pattern)

??·waitForAllWindowIds (pattern)

??·waitForNotAllWindowIds (pattern)

storeAllWindowNames(variableName)

返回所有瀏覽器已知的窗體名稱集。

Returns:

??所有瀏覽器已知的窗體名稱集。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAllWindowNames (pattern)

??·assertNotAllWindowNames (pattern)

??·verifyAllWindowNames (pattern)

??·verifyNotAllWindowNames (pattern)

??·waitForAllWindowNames (pattern)

??·waitForNotAllWindowNames (pattern)

storeAllWindowTitles(variableName)

返回所有瀏覽器已知的窗體標(biāo)題集。

Returns:

??所有瀏覽器已知的窗體標(biāo)題集。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAllWindowTitles (pattern)

??·assertNotAllWindowTitles (pattern)

??·verifyAllWindowTitles (pattern)

??·verifyNotAllWindowTitles (pattern)

??·waitForAllWindowTitles (pattern)

??·waitForNotAllWindowTitles (pattern)

storeAttribute(attributeLocator,variableName)

獲得一個(gè)元素屬性值。

參數(shù):

????·attributeLocator –?由@符號(hào)開頭,后跟隨屬性名,如”foo@bar”

????·variableName –?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??指定屬性的值

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAttribute (attributeLocator, pattern)

??·assertNotAttribute (attributeLocator, pattern)

??·verifyAttribute (attributeLocator, pattern)

??·verifyNotAttribute (attributeLocator, pattern)

??·waitForAttribute (attributeLocator, pattern)

??·waitForNotAttribute (attributeLocator, pattern)

storeAttributeFromAllWindows(attributeName,variableName)

返回所有已知窗體的某些屬性的每一個(gè)實(shí)例。

參數(shù):

????·attributeName –?窗體某屬性的名稱

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??從所有已知窗體獲得的該屬性的數(shù)值集。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAttributeFromAllWindows (attributeName, pattern)

??·assertNotAttributeFromAllWindows (attributeName, pattern)

??·verifyAttributeFromAllWindows (attributeName, pattern)

??·verifyNotAttributeFromAllWindows (attributeName, pattern)

??·waitForAttributeFromAllWindows (attributeName, pattern)

??·waitForNotAttributeFromAllWindows (attributeName, pattern)

storeBodyText(variableName)

獲取頁面上所有文本。

Returns:

??頁面上所有文本

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertBodyText (pattern)

??·assertNotBodyText (pattern)

??·verifyBodyText (pattern)

??·verifyNotBodyText (pattern)

??·waitForBodyText (pattern)

??·waitForNotBodyText (pattern)

storeConfirmation(variableName)

返回在之前動(dòng)作所產(chǎn)生的JavaScript確認(rèn)消息。

默認(rèn)情況下,confirm函數(shù)將返回true,同手動(dòng)點(diǎn)擊OK有著相同的效果。這可以通過之前執(zhí)行chooseCancelOnNextConfirmation命令改變。如果產(chǎn)生了一個(gè)確認(rèn),而你并不去得到/驗(yàn)證它,那么下一個(gè)Selenium動(dòng)作將失敗。

注意:在Selenium中,JavaScript確認(rèn)將不會(huì)彈出一個(gè)可見的對(duì)話框。

注意:Selenium不支持在頁面的onload()事件句柄中所產(chǎn)生的JavaScript警告。在這種情況下,將會(huì)生成一個(gè)可見的對(duì)話框,Selenium將被懸停直到手動(dòng)點(diǎn)擊OK。

Returns:

??最近JavaScript的確認(rèn)消息

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertConfirmation (pattern)

??·assertNotConfirmation (pattern)

??·verifyConfirmation (pattern)

??·verifyNotConfirmation (pattern)

??·waitForConfirmation (pattern)

??·waitForNotConfirmation (pattern)

storeCookie(variableName)

返回當(dāng)前測試下當(dāng)前頁面的所有cookies

Returns:

??當(dāng)前測試下當(dāng)前頁面的所有cookies

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertCookie (pattern)

??·assertNotCookie (pattern)

??·verifyCookie (pattern)

??·verifyNotCookie (pattern)

??·waitForCookie (pattern)

??·waitForNotCookie (pattern)

storeCursorPosition(locator,variableName)

返回所給與的輸入元素或文本域的文本光標(biāo)位置。

要注意,這并不在所有的瀏覽器中有效。

特別指出,如果光標(biāo)/選擇已經(jīng)被JavaScript所清除,該命令將嘗試返回光標(biāo)所在的最后位置,即使光標(biāo)已經(jīng)不在該頁面。這被歸檔為SEL-243。

如果指定元素不是一個(gè)可輸入元素或文本域,或沒有光標(biāo)在此元素上,該方法將失敗。

參數(shù):

????·locator –?一個(gè)指向輸入元素或文本域的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??在該域中的光標(biāo)數(shù)字位置

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertCursorPosition (locator,pattern)

??·assertNotCursorPosition (locator,pattern)

??·verifyCursorPosition (locator,pattern)

??·verifyNotCursorPosition (locator,pattern)

??·waitForCursorPosition (locator,pattern)

??·waitForNotCursorPosition (locator,pattern)

storeElementHeight(locator,variableName)

返回元素的高度

參數(shù):

????·locator –?一個(gè)指向元素的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??元素的高度

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertElementHeight (locator,pattern)

??·assertNotElementHeight (locator,pattern)

??·verifyElementHeight (locator,pattern)

??·verifyNotElementHeight (locator,pattern)

??·waitForElementHeight (locator,pattern)

??·waitForNotElementHeight (locator,pattern)

storeElementIndex(locator,variableName)

獲取元素相對(duì)于其父元素的索引(從0開始)。注釋節(jié)點(diǎn)和空文本節(jié)點(diǎn)將被忽略。

參數(shù):

????·locator –?一個(gè)指向元素的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??元素相對(duì)于其父元素的索引(從0開始)

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertElementIndex (locator,pattern)

??·assertNotElementIndex (locator,pattern)

??·verifyElementIndex (locator,pattern)

??·verifyNotElementIndex (locator,pattern)

??·waitForElementIndex (locator,pattern)

??·waitForNotElementIndex (locator,pattern)

storeElementPositionLeft(locator,variableName)

返回元素的水平位置

參數(shù):

????·locator –?一個(gè)指向元素的元素定位器或元素本身

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??到框架邊緣的像素。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertElementPositionLeft (locator,pattern)

??·assertNotElementPositionLeft (locator,pattern)

??·verifyElementPositionLeft (locator,pattern)

??·verifyNotElementPositionLeft (locator,pattern)

??·waitForElementPositionLeft (locator,pattern)

??·waitForNotElementPositionLeft (locator,pattern)

storeElementPositionTop(locator,variableName)

返回元素的縱向位置

參數(shù):

????·locator –?一個(gè)指向元素的元素定位器或元素本身

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??到框架邊緣的像素。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertElementPositionTop (locator,pattern)

??·assertNotElementPositionTop (locator,pattern)

??·verifyElementPositionTop (locator,pattern)

??·verifyNotElementPositionTop (locator,pattern)

??·waitForElementPositionTop (locator,pattern)

??·waitForNotElementPositionTop (locator,pattern)

storeElementWidth(locator,variableName)

返回元素的寬度

參數(shù):

????·locator –?一個(gè)指向元素的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??元素的寬度(以像素為單位)

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertElementWidth (locator,pattern)

??·assertNotElementWidth (locator,pattern)

??·verifyElementWidth (locator,pattern)

??·verifyNotElementWidth (locator,pattern)

??·waitForElementWidth (locator,pattern)

??·waitForNotElementWidth (locator,pattern)

storeEval(script,variableName)

獲得指定JavaScript片段執(zhí)行后的值。該片段可以有多行,但只返回最后一行的值。要注意到,默認(rèn)情況下,該片段將在”selenium”對(duì)象本身的上下文中運(yùn)行,因此其將提交給Selenium對(duì)象。用window將窗體提交給你的應(yīng)用程序,如:

window.document.getElementById(‘foo’)

如果你不得不在你的應(yīng)用程序頁面使用一個(gè)定位器提交一個(gè)單元素,你可以用this.browserbot.findElement(“id=foo”),這里”id=foo”就是你的定位器。

參數(shù):

????·script –?要運(yùn)行的JavaScript

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??片段執(zhí)行后的值

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertEval (script,pattern)

??·assertNotEval (script,pattern)

??·verifyEval (script,pattern)

??·verifyNotEval (script,pattern)

??·waitForEval (script,pattern)

??·waitForNotEval (script,pattern)

storeExpression(expression,variableName)

返回指定表達(dá)式。

由于JavaScript的預(yù)處理機(jī)制使其顯得非常有用。它可以用于生成如assertExpression和waitForExpression命令。

參數(shù):

????·expression –?要返回的值

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??通過的值

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertExpression (expression,pattern)

??·assertNotExpression (expression,pattern)

??·verifyExpression (expression,pattern)

??·verifyNotExpression (expression,pattern)

??·waitForExpression (expression,pattern)

??·waitForNotExpression (expression,pattern)

storeHtmlSource(variableName)

返回”html”標(biāo)簽間的整個(gè)HTML源代碼。

Returns:

??整個(gè)HTML源代碼

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertHtmlSource (pattern)

??·assertNotHtmlSource (pattern)

??·verifyHtmlSource (pattern)

??·verifyNotHtmlSource (pattern)

??·waitForHtmlSource (pattern)

??·waitForNotHtmlSource (pattern)

storeLocation(variableName)

取得當(dāng)前頁面的絕對(duì)路徑

Returns:

??當(dāng)前頁面的絕對(duì)路徑

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertLocation (pattern)

??·assertNotLocation (pattern)

??·verifyLocation (pattern)

??·verifyNotLocation (pattern)

??·waitForLocation (pattern)

??·waitForNotLocation (pattern)

storeMouseSpeed(variableName)

返回在dragAndDrop?命令執(zhí)行期間,”mousemove”事件時(shí)的像素?cái)?shù)字(默認(rèn)為10)

Returns:

??dragAndDrop?命令執(zhí)行期間,”mousemove”事件時(shí)的像素?cái)?shù)字(默認(rèn)為10)

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertMouseSpeed (pattern)

??·assertNotMouseSpeed (pattern)

??·verifyMouseSpeed (pattern)

??·verifyNotMouseSpeed (pattern)

??·waitForMouseSpeed (pattern)

??·waitForNotMouseSpeed (pattern)

storePrompt(variableName)

返回在之前動(dòng)作所產(chǎn)生的JavaScript問題提示消息。

要成功掛起問題提示需要先運(yùn)行answerOnNextPrompt命令。如果產(chǎn)生了一個(gè)問題提示,而你并不去得到/驗(yàn)證它,那么下一個(gè)Selenium動(dòng)作將失敗。

注意:在Selenium中,JavaScript確認(rèn)將不會(huì)彈出一個(gè)可見的對(duì)話框。

注意:Selenium不支持在頁面的onload()事件句柄中所產(chǎn)生的JavaScript問題提示。在這種情況下,將會(huì)生成一個(gè)可見的對(duì)話框,Selenium將被懸停直到手動(dòng)點(diǎn)擊OK。

Returns:

??最近JavaScript的問題提示消息

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertPrompt (pattern)

??·assertNotPrompt (pattern)

??·verifyPrompt (pattern)

??·verifyNotPrompt (pattern)

??·waitForPrompt (pattern)

??·waitForNotPrompt (pattern)

storeSelectedId(selectLocator,variableName)

獲取從指定選擇元素中選擇的選項(xiàng)元素ID。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??從指定選擇元素中選擇的選項(xiàng)元素ID

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedId (selectLocator,pattern)

??·assertNotSelectedId (selectLocator,pattern)

??·verifySelectedId (selectLocator,pattern)

??·verifyNotSelectedId (selectLocator,pattern)

??·waitForSelectedId (selectLocator,pattern)

??·waitForNotSelectedId (selectLocator,pattern)

storeSelectedIds(selectLocator,variableName)

從指定選擇或多選元素中獲取選擇的選項(xiàng)元素ID集。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??從指定選擇或多選元素中選擇的選項(xiàng)元素ID集合數(shù)組

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedIds (selectLocator,pattern)

??·assertNotSelectedIds (selectLocator,pattern)

??·verifySelectedIds (selectLocator,pattern)

??·verifyNotSelectedIds (selectLocator,pattern)

??·waitForSelectedIds (selectLocator,pattern)

??·waitForNotSelectedIds (selectLocator,pattern)

storeSelectedIndex(selectLocator,variableName)

從指定的選擇元素中獲取被選項(xiàng)索引(從0開始)。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??從指定選擇元素中選擇的選項(xiàng)元素索引

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedIndex (selectLocator,pattern)

??·assertNotSelectedIndex (selectLocator,pattern)

??·verifySelectedIndex (selectLocator,pattern)

??·verifyNotSelectedIndex (selectLocator,pattern)

??·waitForSelectedIndex (selectLocator,pattern)

??·waitForNotSelectedIndex (selectLocator,pattern)

storeSelectedIndexs(selectLocator,variableName)

從指定的選擇或多選元素中獲取被選項(xiàng)索引(從0開始)集。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??從指定選擇或多選元素中選擇的選項(xiàng)元素索引集合數(shù)組

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedIndexs (selectLocator,pattern)

??·assertNotSelectedIndexs (selectLocator,pattern)

??·verifySelectedIndexs (selectLocator,pattern)

??·verifyNotSelectedIndexs (selectLocator,pattern)

??·waitForSelectedIndexs (selectLocator,pattern)

??·waitForNotSelectedIndexs (selectLocator,pattern)

storeSelectedLabel(selectLocator,variableName)

從指定的選擇元素中獲取所選擇的選項(xiàng)標(biāo)簽(可見文本)。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

所選擇的選項(xiàng)標(biāo)簽

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedLabel (selectLocator,pattern)

??·assertNotSelectedLabel (selectLocator,pattern)

??·verifySelectedLabel (selectLocator,pattern)

??·verifyNotSelectedLabel (selectLocator,pattern)

??·waitForSelectedLabel (selectLocator,pattern)

??·waitForNotSelectedLabel (selectLocator,pattern)

storeSelectedLabels(selectLocator,variableName)

從指定的選擇或多選元素中獲取所選擇的選項(xiàng)標(biāo)簽(可見文本)。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

所選擇的選項(xiàng)標(biāo)簽

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedLabel (selectLocator,pattern)

??·assertNotSelectedLabel (selectLocator,pattern)

??·verifySelectedLabel (selectLocator,pattern)

??·verifyNotSelectedLabel (selectLocator,pattern)

??·waitForSelectedLabel (selectLocator,pattern)

??·waitForNotSelectedLabel (selectLocator,pattern)

storeSelectedValue(selectLocator,variableName)

從指定的選擇元素中獲取所選擇的選項(xiàng)值(值屬性)。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

所選擇的選項(xiàng)值

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedValue (selectLocator,pattern)

??·assertNotSelectedValue (selectLocator,pattern)

??·verifySelectedValue (selectLocator,pattern)

??·verifyNotSelectedValue (selectLocator,pattern)

??·waitForSelectedValue (selectLocator,pattern)

??·waitForNotSelectedValue (selectLocator,pattern)

storeSelectedValues(selectLocator,variableName)

從指定的選擇或多選元素中獲取所有所選擇的選項(xiàng)值(值屬性)。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

所有所選擇的選項(xiàng)值數(shù)組

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedValues (selectLocator,pattern)

??·assertNotSelectedValues (selectLocator,pattern)

??·verifySelectedValues (selectLocator,pattern)

??·verifyNotSelectedValues (selectLocator,pattern)

??·waitForSelectedValues (selectLocator,pattern)

??·waitForNotSelectedValues (selectLocator,pattern)

storeSelectOptions(selectLocator,variableName)

獲取指定選擇下拉框的選項(xiàng)標(biāo)簽。

參數(shù):

????·selectLocator -?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

指定選擇下拉框的選項(xiàng)標(biāo)簽數(shù)組

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSelectedOptions (selectLocator,pattern)

??·assertNotSelectedOptions (selectLocator,pattern)

??·verifySelectedOptions (selectLocator,pattern)

??·verifyNotSelectedOptions (selectLocator,pattern)

??·waitForSelectedOptions (selectLocator,pattern)

??·waitForNotSelectedOptions (selectLocator,pattern)

storeTable(tableCellAddress,variableName)

從某個(gè)表的單元格中獲取文本。單元格地址語法如tablelocator.row.column,這里的row和column從0開始。

參數(shù):

????·tableCellAddress –?一個(gè)單元格地址,如”foo.1.4”

????·variableName -用于存儲(chǔ)結(jié)果的變量名。

Returns:

??從指定單元格取出的文本

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertTable (tableCellAddress,pattern)

??·assertNotTable (tableCellAddress,pattern)

??·verifyTable (tableCellAddress,pattern)

??·verifyNotTable (tableCellAddress,pattern)

??·waitForTable (tableCellAddress,pattern)

??·waitForNotTable (tableCellAddress,pattern)

storeText(locator,variableName)

獲取元素的文本。這對(duì)任何包含文本的元素都有效。該命令即可以用于如火狐瀏覽器的textContent,也可以用于如IE瀏覽器的innerText——顯示給用戶的。

參數(shù):

????·locator?-?一個(gè)元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??元素的文本

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertText (locator,pattern)

??·assertNotText (locator,pattern)

??·verifyText (locator,pattern)

??·verifyNotText (locator,pattern)

??·waitForText (locator,pattern)

??·waitForNotText (locator,pattern)

storeTitle(variableName)

獲取當(dāng)前頁面的標(biāo)題。

Returns:

??當(dāng)前頁面的標(biāo)題。

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertTitle (pattern)

??·assertNotTitle (pattern)

??·verifyTitle (pattern)

??·verifyNotTitle (pattern)

??·waitForTitle (pattern)

??·waitForNotTitle (pattern)

storeValue(locator,variableName)

獲得一個(gè)輸入域(或任何包含value參數(shù)的元素)的值(已去除空格)。對(duì)于checkbox/radio元素,其值為”on”還是”off”依賴于該元素是否被選中。

參數(shù):

????·locator?-?一個(gè)元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??元素值,對(duì)于checkbox/radio元素則為”on/off”

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertValue (locator,pattern)

??·assertNotValue (locator,pattern)

??·verifyValue (locator,pattern)

??·verifyNotValue (locator,pattern)

??·waitForValue (locator,pattern)

??·waitForNotValue (locator,pattern)

storeWhetherThisFrameMatchFrameExpression(currenFrameString,target,variableName)

確定當(dāng)前框架是否包含該運(yùn)行代碼。

這對(duì)于代理注入代碼模式非常有用,這些代碼在每個(gè)瀏覽器框架和窗體中運(yùn)行,有時(shí)selenium server需要識(shí)別當(dāng)前是哪個(gè)框架。這種情況下,當(dāng)測試調(diào)用selectFrame,該程序?qū)⒈幻總€(gè)框架調(diào)用以指出哪個(gè)框架被選擇。被選擇的框架將返回true,而其他將返回false。

參數(shù):

????·currenFrameString –?開始框架

????·target –?新框架(也許與當(dāng)前框架相關(guān)聯(lián))

????·variableName -用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果新框架為該代碼的窗體,返回true

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·assertNotWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·verifyWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·verifyNotWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·waitForWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

??·waitForNotWhetherThisFrameMatchFrameExpression (currenFrameString,?target)

storeWhetherThisWindowMatchWindowExpression(currenWindowString,target,variableName)

確定當(dāng)前窗體是否包含該運(yùn)行代碼。

這對(duì)于代理注入代碼模式非常有用,這些代碼在每個(gè)瀏覽器框架和窗體中運(yùn)行,有時(shí)selenium server需要識(shí)別當(dāng)前是哪個(gè)窗體。這種情況下,當(dāng)測試調(diào)用selectWindow,該程序?qū)⒈幻總€(gè)窗體調(diào)用以指出哪個(gè)窗體被選擇。被選擇的窗體將返回true,而其他將返回false。

參數(shù):

????·currenFrameString –?開始窗體

????·target –?新窗體(也許與當(dāng)前窗體相關(guān)聯(lián),如,”_parent”)

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果新窗體為該代碼的窗體,返回true

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·assertNotWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·verifyWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·verifyNotWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·waitForWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

??·waitForNotWhetherThisWindowMatchWindowExpression (currenWindowString,?target)

storeXpathCount(xpath,variableName)

返回匹配指定xpath的節(jié)點(diǎn)數(shù),如”//table”將給出表的個(gè)數(shù)。

參數(shù):

·xpath –?要計(jì)算的xpath表達(dá)式。不要用’count()’函數(shù)將該表達(dá)式包含起來,我們將自動(dòng)幫你作這件事。

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??匹配指定xpath的節(jié)點(diǎn)數(shù)

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertXpathCount (xpath,?pattern)

??·assertNotXpathCount (xpath,?pattern)

??·verifyXpathCount (xpath,?pattern)

??·verifyNotXpathCount (xpath,?pattern)

??·waitForXpathCount (xpath,?pattern)

??·waitForNotXpathCount (xpath,?pattern)

storeAlertPresent(variableName)

發(fā)生警告了?

該函數(shù)永遠(yuǎn)不會(huì)拋出異常

Returns:

??如果有警告返回true

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertAlertPresent ()

??·assertNotAlertPresent ()

??·verifyAlertPresent ()

??·verifyNotAlertPresent ()

??·waitForAlertPresent ()

??·waitForNotAlertPresent ()

storeChecked(locator,variableName)

獲取一個(gè)關(guān)聯(lián)性按鈕(checkbox/radio)是否被勾選。如果指定元素不存在或不是一個(gè)關(guān)聯(lián)性按鈕,將失敗。

參數(shù):

????·locator–?一個(gè)執(zhí)行checkbox或radio按鈕的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果該checkbox被勾選,返回true,否則返回false

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertChecked (locator)

??·assertNotChecked (locator)

??·verifyChecked (locator)

??·verifyNotChecked (locator)

??·waitForChecked (locator)

??·waitForNotChecked (locator)

storeConfirmationPresent(variableName)

confirm()被調(diào)用了?

該函數(shù)永遠(yuǎn)不會(huì)拋出異常

Returns:

??如果有一個(gè)未決的確認(rèn)返回true

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertConfirmationPresent ()

??·assertNotConfirmationPresent ()

??·verifyConfirmationPresent ()

??·verifyNotConfirmationPresent ()

??·waitForConfirmationPresent ()

??·waitForNotConfirmationPresent ()

storeEditable(locator,variableName)

判定指定的輸入元素是否為可編輯,且ie沒有被禁用。如果指定元素不為一個(gè)可輸入元素,該函數(shù)將失敗。

參數(shù):

????·locator –?一個(gè)元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果輸入元素可編輯返回true,否則返回false

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertEditable (locator)

??·assertNotEditable (locator)

??·verifyEditable (locator)

??·verifyNotEditable (locator)

??·waitForEditable (locator)

??·waitForNotEditable (locator)

storeElementPresent(locator,variableName)

驗(yàn)證指定元素在頁面上。

參數(shù):

????·locator –?一個(gè)元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果該元素出現(xiàn)返回true,否則返回false

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertElementPresent (locator)

??·assertNotElementPresent (locator)

??·verifyElementPresent (locator)

??·verifyNotElementPresent (locator)

??·waitForElementPresent (locator)

??·waitForNotElementPresent (locator)

storeOrdered(locator1,locator2,variableName)

檢查這兩個(gè)元素是否有相同的父級(jí),且在DOM中為順序親屬。兩個(gè)相同元素將不考慮順序。

參數(shù):

????·locator1 –?指向第一個(gè)元素的元素定位器

????·locator2 –?指向第二個(gè)元素的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果元素1是元素2的兄長,返回true,否則返回false

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertOrdered (locator1,locator2)

??·assertNotOrdered (locator1,locator2)

??·verifyOrdered (locator1,locator2)

??·verifyNotOrdered (locator1,locator2)

??·waitForOrdered (locator1,locator2)

??·waitForNotOrdered (locator1,locator2)

storePromptPresent(variableName)

發(fā)生提示了?

該函數(shù)永遠(yuǎn)不會(huì)拋出異常

Returns:

??如果有一個(gè)未決的提示返回true

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertPromptPresent ()

??·assertNotPromptPresent ()

??·verifyPromptPresent ()

??·verifyNotPromptPresent ()

??·waitForPromptPresent ()

??·waitForNotPromptPresent ()

storeSomethingSelected(selectLocator,variableName)

判定一個(gè)下拉菜單是否選擇了某個(gè)選項(xiàng)。

參數(shù):

????·selectLocator –?一個(gè)用于識(shí)別下拉菜單的元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果選擇某選項(xiàng)返回true,否則返回false

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertSomethingSelected (selectLocator)

??·assertNotSomethingSelected (selectLocator)

??·verifySomethingSelected (selectLocator)

??·verifyNotSomethingSelected (selectLocator)

??·waitForSomethingSelected (selectLocator)

??·waitForNotSomethingSelected (selectLocator)

storeTextPresent(pattern,variableName)

驗(yàn)證指定文本出現(xiàn)在提交給用戶的頁面上。

參數(shù):

????·pattern –?用于匹配頁面文本的范式

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果該范式匹配文本返回true,否則返回false

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertTextPresent (pattern)

??·assertNotTextPresent (pattern)

??·verifyTextPresent (pattern)

??·verifyNotTextPresent (pattern)

??·waitForTextPresent (pattern)

??·waitForNotTextPresent (pattern)

storeVisible(locator,variableName)

判定指定元素是否可見。一個(gè)元素可以通過將其本身或其父級(jí)的CSS”visibility”屬性設(shè)定為”hidden”,或?qū)ⅰ眃ispaly”屬性設(shè)定為”none”,以使其不可見。如果該元素不存在,此方法將失敗。

參數(shù):

????·locator –?一個(gè)元素定位器

????·variableName -?用于存儲(chǔ)結(jié)果的變量名。

Returns:

??如果指定元素為可見返回true,否則返回false

同斷言相關(guān)聯(lián),自動(dòng)生成:

????·assertVisible (locator)

??·assertNotVisible (locator)

??·verifyVisible (locator)

??·verifyNotVisible (locator)

??·waitForVisible (locator)

??·waitForNotVisible (locator)

參數(shù)解釋和變量

轉(zhuǎn)載于:https://www.cnblogs.com/xh0203/p/5855406.html

總結(jié)

以上是生活随笔為你收集整理的Selenium 中文API的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久成人国产精品一区二区 | 又黄又刺激的视频 | 91精品国产91久久久久 | 五月婷婷影院 | 99精品免费久久久久久久久日本 | 色99色| 日韩精品在线视频免费观看 | 日韩精品 在线视频 | 欧美男男激情videos | 国产精品你懂的在线观看 | 天堂av高清 | 日本99久久 | 欧美极度另类性三渗透 | 久久国产精品电影 | 国产中文字幕亚洲 | 久久美女精品 | 成人免费在线观看入口 | 日韩精品视频免费专区在线播放 | 日韩精品久久久久久中文字幕8 | 在线免费av网 | 欧美一进一出抽搐大尺度视频 | 国产精久久久久久妇女av | 麻花豆传媒mv在线观看网站 | 日韩美在线观看 | 免费男女网站 | 国内精品久久久久影院优 | 亚洲欧洲国产视频 | 91av中文| 久久成人黄色 | 国产一级电影在线 | 91大片网站 | 蜜桃麻豆www久久囤产精品 | 日韩国产在线观看 | 国产 色| 成人一区二区三区中文字幕 | 五月婷婷综 | 欧美黑人性猛交 | 天天色天天草天天射 | 免费下载高清毛片 | 视频高清 | 91精品导航 | 成人午夜电影免费在线观看 | 久久久久久电影 | 国产精品一区二区白浆 | 91超在线 | 精品乱码一区二区三四区 | 中文字幕av在线电影 | 国产精品99久久久精品免费观看 | 日日躁你夜夜躁你av蜜 | 99久久国产免费看 | 免费av网站在线 | 久久精品小视频 | 手机av永久免费 | 99在线观看视频 | 免费观看国产精品 | 亚洲国产无| 国产精品每日更新 | 色婷婷影视 | 一区二区三区精品在线 | 开心激情五月婷婷 | 91超在线| 亚洲作爱视频 | 黄色片亚洲 | 久久久久久高潮国产精品视 | 中文字幕在线影院 | 日本h在线播放 | 中文字幕日韩一区二区三区不卡 | 蜜臀av一区二区 | 韩国精品福利一区二区三区 | 国产区在线视频 | 成人动漫精品一区二区 | 波多野结衣精品在线 | 色人久久 | 日日夜夜精品视频天天综合网 | 日本一区二区不卡高清 | 永久免费精品视频 | 亚洲一级免费观看 | 国产1区2区3区精品美女 | 国产尤物在线 | 国产精品高潮呻吟久久av无 | 亚洲视频在线观看网站 | 久久极品| 四虎影视成人永久免费观看视频 | 欧美性直播 | 激情视频免费观看 | 天天拍天天干 | 亚洲一区二区视频 | 国产免费xvideos视频入口 | 在线视频a | 欧美精品在线观看 | 日日弄天天弄美女bbbb | 欧美一区二区三区在线 | 四虎影视成人永久免费观看视频 | 2020天天干夜夜爽 | 午夜精品一二区 | 国产精品四虎 | 日韩精品在线播放 | 久久在线精品视频 | 国产精品一区久久久久 | 国产黄色精品网站 | 国产黄色片免费观看 | 天天做天天爽 | 亚洲欧美日韩精品久久久 | 在线日韩中文字幕 | 亚洲国产精品电影在线观看 | 国产99久久精品一区二区300 | 久久午夜国产精品 | av资源在线观看 | 亚洲黄色av| 色综合久久天天 | 婷婷成人亚洲综合国产xv88 | 天天色天天射天天综合网 | 亚洲理论在线观看 | 激情婷婷在线 | 免费日韩一区 | www.激情五月.com | 一区二区三区中文字幕在线观看 | 91高清视频| 成人黄色在线播放 | 手机在线永久免费观看av片 | av片子在线观看 | 久久久久久国产精品 | 国产又粗又硬又爽视频 | 亚洲狠狠婷婷综合久久久 | 九九99视频| 99精品观看| 在线观看深夜福利 | 国产麻豆果冻传媒在线观看 | 免费在线观看成人 | 日韩欧三级 | 亚洲欧美视频 | 超碰97在线资源 | 婷婷深爱五月 | 欧美在线观看视频 | 91精品在线视频观看 | 日韩中文字| 手机在线中文字幕 | 高清免费av在线 | 99热这里是精品 | 日韩精品综合在线 | 久久99在线视频 | 欧美日韩亚洲在线观看 | 免费高清在线视频一区· | 色综合久久久久久久久五月 | 久久久精品影视 | 日韩网站在线播放 | 欧美成人精品欧美一级乱 | 精品久久久久免费极品大片 | 亚洲一区二区黄色 | 亚洲在线a| 午夜精品一区二区三区四区 | 天天操天天操天天操天天操天天操天天操 | 91成人免费看 | 国产尤物在线视频 | 五月天久久激情 | 国产一线在线 | 91尤物国产尤物福利在线播放 | 91看片看淫黄大片 | 国产一区在线免费观看 | 中文字幕观看在线 | 亚洲最大在线视频 | 国产五月 | 亚洲国产精品资源 | 国产亚洲精品久久久久久久久久 | 久久女同性恋中文字幕 | 99re国产视频| 日本黄色大片免费看 | 欧美精品一区二区蜜臀亚洲 | 日韩一区二区久久 | 国产福利av | 亚洲天堂香蕉 | av一区在线 | 国产一性一爱一乱一交 | 精品一区精品二区高清 | 911亚洲精品第一 | 丁香婷婷色月天 | 日韩精品视频在线免费观看 | 最新日韩视频在线观看 | 香蕉视频国产在线 | 97精品视频在线 | 日本精品视频网站 | www黄色| 日韩精品免费一区二区 | 亚洲综合激情小说 | 天天性天天草 | 亚洲闷骚少妇在线观看网站 | 制服丝袜一区二区 | 日韩免费三级 | 国产精品自在线拍国产 | 麻豆视频在线看 | 久久久影院一区二区三区 | 国产在线观看二区 | 干干夜夜 | 欧美成人xxxxx | av千婊在线免费观看 | 国产精品一区二区三区免费视频 | 丁香网五月天 | 美女在线免费视频 | 中文字幕丰满人伦在线 | 久久综合亚洲鲁鲁五月久久 | 女人高潮特级毛片 | 亚洲一区二区三区在线看 | 亚洲在线视频播放 | 免费看高清毛片 | 人人爽人人爱 | 成人在线免费观看网站 | 天天做天天爱夜夜爽 | av免费试看 | 天天玩夜夜操 | 成人av资源网站 | 日韩高清无线码2023 | 日日夜日日干 | .国产精品成人自产拍在线观看6 | 国产成人99av超碰超爽 | 色网站在线免费 | 欧美日高清视频 | 992tv人人网tv亚洲精品 | 欧美激情视频一区二区三区免费 | 区一区二区三在线观看 | 最近2019中文免费高清视频观看www99 | 国产成人精品一区二区三区在线 | 久久伊人热 | 欧美日本国产在线观看 | 国产中文在线字幕 | 91免费看片黄 | 在线亚洲小视频 | 最新久久免费视频 | 福利视频一二区 | 福利片视频区 | 久操97| 开心激情网五月天 | 狠狠的日 | 五月天国产精品 | 欧美日韩一二三四区 | 国产视频一二三 | 亚洲电影av在线 | 操少妇视频 | 国产91在线免费视频 | 日韩精品一区二区免费视频 | 96国产精品 | 国产视频69 | www看片网站 | 天天操天天射天天添 | 日韩一区二区在线免费观看 | 韩国在线视频一区 | 麻豆精品视频在线 | a在线免费观看视频 | 超碰97中文 | 国产视频2区 | 久久久精品电影 | 最新婷婷色 | 玖玖精品在线 | 日韩视频免费播放 | 日本久久久久久科技有限公司 | 国产激情小视频在线观看 | 91在线最新 | 日韩精品免费在线观看 | 成人黄色电影在线播放 | 午夜视频在线观看一区二区三区 | 成人在线视频免费看 | 国产精品成人一区二区 | 亚洲国产欧洲综合997久久, | 久热久草在线 | 久久久久久黄 | 国产精品视频免费在线观看 | 日韩精品最新在线观看 | 色a在线观看 | 中文字幕中文字幕 | 超碰在线人人爱 | 久久精品视频在线观看免费 | 992tv成人免费看片 | 亚洲精品动漫久久久久 | 天天操天天干天天摸 | 日本黄色免费看 | 麻豆91在线看 | 色五月色开心色婷婷色丁香 | 欧美精品乱码99久久影院 | 欧美a在线看 | 精品一区二区6 | 中文字幕第一页在线视频 | 天堂v中文 | 在线观看你懂的网址 | 亚洲成av人影院 | 久久精品一区二区三 | 天天操月月操 | 欧美国产高清 | 国内精品久久久久影院一蜜桃 | 欧美精品被 | 免费在线观看av不卡 | 亚洲精品欧美视频 | 91成人精品观看 | 成人h在线观看 | 色综合色综合色综合 | 人人玩人人添人人澡超碰 | 国产v视频 | 69av网| 欧美成人日韩 | 91黄色免费网站 | 久久视频免费 | 最近中文字幕mv | 日韩欧美一区二区不卡 | 天天av综合网 | av在线中文| 久久手机免费观看 | 视频国产一区二区三区 | 99福利片| 精品欧美一区二区三区久久久 | 又色又爽又激情的59视频 | 婷婷狠狠操 | 在线亚洲午夜片av大片 | 又黄又刺激的视频 | 久久久久久免费网 | 狠狠亚洲 | 色 免费观看 | 亚洲成年人在线播放 | 国产香蕉97碰碰碰视频在线观看 | 亚洲精品男人天堂 | av一区二区在线观看中文字幕 | 国内精品福利视频 | 久久与婷婷 | 久久久久成人精品 | 日本中文字幕在线看 | 四虎成人网| 四虎永久网站 | 不卡精品视频 | 性色av香蕉一区二区 | 成年人在线观看网站 | 欧美激情视频在线观看免费 | 国产亚洲精品中文字幕 | 一级黄色av | 免费观看成人 | 欧洲成人av | 日韩精品在线看 | 一区二区日韩av | 国产91勾搭技师精品 | 亚洲九九九在线观看 | 国产特黄色片 | 日韩三级中文字幕 | 网站在线观看日韩 | 日韩欧美观看 | 日本精品视频网站 | 欧美日韩在线播放一区 | 国产美女精彩久久 | 综合天天色 | 久久免费视频在线观看 | 日韩中文字幕免费电影 | a级片久久久 | 亚洲 中文 欧美 日韩vr 在线 | 操操操人人人 | 色视频在线免费观看 | 日p视频 | 91毛片在线观看 | 国产高清视频免费最新在线 | 91资源在线视频 | 激情网综合 | 99色亚洲| 日本bbbb摸bbbb | av中文字幕在线播放 | 在线 国产一区 | 91久色蝌蚪| 在线观看免费视频你懂的 | 国产激情电影综合在线看 | a级片网站| 欧美精品一区二区在线播放 | 在线免费国产视频 | 97成人资源站 | 丁香高清视频在线看看 | 国产一级二级在线播放 | 久久99国产精品免费 | 狠狠狠狠狠狠操 | 国产精品丝袜久久久久久久不卡 | 九九九九精品 | 久久久久综合精品福利啪啪 | 日韩最新av | 色综合久久66 | 久久97视频 | 粉嫩av一区二区三区四区在线观看 | 欧美日韩伦理在线 | 黄色精品视频 | 久久免费视频网 | 特级西西444www高清大视频 | 欧美大片第1页 | 亚洲国产中文字幕 | 久草在线电影网 | 亚洲精品99久久久久久 | 免费亚洲精品视频 | 日韩精品视频免费在线观看 | 日韩精品专区 | 久久婷婷综合激情 | 成人蜜桃视频 | 麻豆传媒在线免费看 | 91香蕉视频好色先生 | 国产成人一区二区三区在线观看 | 精品国模一区二区三区 | 国产精品日韩精品 | 9999亚洲| 国产一级在线 | 久草国产精品 | 成年人在线观看视频免费 | 久久免费中文视频 | 人人干狠狠操 | 亚洲午夜精品久久久久久久久久久久 | 色婷婷综合视频在线观看 | 一本—道久久a久久精品蜜桃 | 成人免费共享视频 | 高潮毛片无遮挡高清免费 | 中文字幕资源网 | 国产一级免费在线 | 久久丁香 | 福利视频一区二区 | a电影免费看 | 丁香 久久 综合 | 日韩精品一区二区在线视频 | 国际av在线 | 日本精品一区二区三区在线播放视频 | 成年人免费电影 | 最近中文字幕大全中文字幕免费 | 麻豆传媒视频在线 | 成人国产精品一区二区 | 特级毛片在线免费观看 | 狠狠干五月天 | 中文字幕中文 | 日韩视频中文 | 精品视频区 | 不卡的一区二区三区 | 国产精品99久久久久久人免费 | 操操操日日日干干干 | 中文字幕免费高清av | 国产精品毛片久久久久久久 | 免费久久片| av天天澡天天爽天天av | 超碰97中文| 91精品视频免费在线观看 | 亚洲国产影院av久久久久 | 成人黄色电影免费观看 | 在线观看网站你懂的 | 国产亚洲精品av | 成人av影视观看 | 九九九国产 | 欧美aaa视频| 国产一二区视频 | 午夜影院日本 | 欧洲一区二区三区精品 | 欧美日本一二三 | 91天堂影院 | 久久久午夜剧场 | 成人免费看片98欧美 | av成人免费观看 | 日韩二区在线 | 狠狠狠狠狠狠操 | 欧美日韩国产一区二区三区在线观看 | 日韩激情网 | 国产特级毛片aaaaaa高清 | 毛片网在线观看 | 人人干在线 | 国产精品成人久久久久 | 国产黄色精品视频 | 国产欧美精品xxxx另类 | 国产精品免费一区二区三区 | 亚洲精品午夜视频 | 久久人人爽爽人人爽人人片av | 99国产免费网址 | 日本黄区免费视频观看 | 狠狠色丁香九九婷婷综合五月 | 国产日韩欧美在线免费观看 | 一区视频在线 | 青青河边草免费观看完整版高清 | 久久久久国产精品厨房 | 99久久久久久久久久 | 久久久久欠精品国产毛片国产毛生 | 亚洲黄在线观看 | 国产精品久久久久久久99 | 亚洲色五月 | 九九天堂 | 日日夜夜人人精品 | 91精品免费在线观看 | av黄色av | 日韩二区在线播放 | 日日精品 | 国产手机av| 成年人黄色免费看 | 久久久久电影 | 久久视频免费在线观看 | 日韩成人在线一区二区 | 五月婷婷.com | 日韩啪视频 | 激情综合五月 | 亚洲午夜av | 18pao国产成视频永久免费 | 欧美日韩有码 | 青草草在线| 国产午夜不卡 | 久久久久久看片 | 国产婷婷一区二区 | 国产一级免费在线观看 | 日韩一区二区三区在线看 | 最近免费观看的电影完整版 | 99视频国产精品 | 成人av免费在线看 | 天天干夜夜擦 | 天天操天天射天天 | 国产精品 国内视频 | 国产精品视频区 | 在线播放你懂 | 亚洲视频久久久久 | 国产精品成人自拍 | 日韩在线免费高清视频 | 亚州天堂 | 亚洲成人免费观看 | 欧美性久久久久久 | 91久久精品一区二区二区 | 99免费在线观看视频 | 亚洲欧美日韩国产一区二区 | 国产精品自在欧美一区 | 欧美日韩高清不卡 | 免费高清无人区完整版 | 国产伦精品一区二区三区高清 | 六月丁香婷| 999久久久久 | 黄色三级久久 | 久久精品成人热国产成 | 九九涩涩av台湾日本热热 | 亚洲精品在线观看视频 | 久久亚洲精品国产亚洲老地址 | 国产免费美女 | 五月av在线| 99久久久久 | 91丨九色丨蝌蚪丨对白 | av不卡在线看 | 在线免费中文字幕 | 久久婷婷亚洲 | 黄色avwww | 96av视频| 久久久久久久久艹 | 免费在线播放av电影 | 97超碰总站 | 99免费精品 | 日韩一三区 | 日韩av一区二区在线 | 中文一区在线 | 亚洲综合在线视频 | 亚洲区另类春色综合小说校园片 | 亚洲午夜久久久久 | 91久久国产综合精品女同国语 | 国产精品久久久久永久免费观看 | 亚洲婷久久 | 久久久久久久久黄色 | h动漫中文字幕 | 天天操天天综合网 | 视频一区二区精品 | 日韩在线三区 | 日韩中文幕 | 国产精品成人在线 | 久久综合色婷婷 | 亚洲麻豆精品 | 国产精品久久中文字幕 | 久草网站| 亚洲精品视频在线观看网站 | 欧洲视频一区 | 久久久久久久久久久网 | 丁香影院在线 | 国产在线永久 | 久章操 | 97碰碰视频 | 日本女人b | 92国产精品久久久久首页 | 最新日韩视频在线观看 | 97精品国产91久久久久久久 | 99色视频 | 国产福利中文字幕 | 国产精品男女视频 | 久久成人精品电影 | 丝袜美腿在线播放 | 黄色片网站av | 视频在线观看一区 | 天天干天天干天天操 | 91麻豆精品国产91久久久无需广告 | 麻豆91精品91久久久 | 99久久超碰中文字幕伊人 | 久久av中文字幕片 | 午夜精品一区二区三区视频免费看 | 国产又粗又硬又爽视频 | 久久久国产精品成人免费 | 正在播放国产一区 | 中文超碰字幕 | 久久av影院 | 麻豆影视在线免费观看 | 五月激情亚洲 | 欧美精品v国产精品v日韩精品 | 在线观看久久 | 久久久久免费精品国产 | 欧美一级片免费观看 | www免费网站在线观看 | 久久久www成人免费精品 | 天干啦夜天干天干在线线 | 久久天堂影院 | 又黄又爽又湿又无遮挡的在线视频 | 国产精品久久久久av | 久久不卡国产精品一区二区 | 在线播放视频一区 | 国产一区不卡在线 | 夜夜夜夜操 | 中文字幕影片免费在线观看 | 麻豆av电影 | 久久久久免费精品 | 91视频中文字幕 | 日韩电影在线一区 | 婷婷丁香av | 中文字幕在线播放一区 | 西西www4444大胆视频 | 在线观看国产成人av片 | 麻豆国产视频下载 | 欧美日韩中字 | 91精品久久久久久久久久入口 | 国产成人久久精品77777综合 | 黄色成人av | 97**国产露脸精品国产 | 亚洲欧美日本一区二区三区 | 免费看黄在线观看 | 欧美一级视频一区 | 丰满少妇对白在线偷拍 | 午夜精品视频一区二区三区在线看 | 韩国一区二区三区在线观看 | 在线探花| 免费看一级黄色 | 国产精品va最新国产精品视频 | 国产a网站 | 国产在线观看免 | 日韩在线视频网 | 国产精品黑丝在线观看 | 国产黄色视 | 精品久操 | 国产麻豆精品95视频 | 国产中文字幕三区 | 天堂成人在线 | 日韩理论电影在线观看 | 久久精品播放 | 一级黄色在线免费观看 | 97香蕉久久国产在线观看 | 一二三区视频在线 | а天堂中文最新一区二区三区 | 日韩在线视频网站 | 欧美 日韩 国产 中文字幕 | 欧美日韩亚洲在线观看 | 成人在线视频你懂的 | 五月激情婷婷丁香 | 色婷婷综合激情 | 99精品视频在线观看视频 | 一区二区三区四区五区在线 | 91久久国产露脸精品国产闺蜜 | 亚洲人成网站精品片在线观看 | 亚洲日本一区二区在线 | 欧美一级性生活片 | 亚洲精品视频一 | 精品国产伦一区二区三区免费 | 免费久久99精品国产婷婷六月 | 国产精品岛国久久久久久久久红粉 | 色综合久久88色综合天天 | 在线观看日本高清mv视频 | 91福利视频一区 | 亚洲国产成人在线播放 | 九九热精品在线 | 欧美成人一区二区 | 欧美日韩中文在线观看 | 91视频亚洲 | 国内成人精品2018免费看 | www.狠狠插.com | 久久小视频 | 人人搞人人搞 | 国内免费的中文字幕 | 狂野欧美激情性xxxx欧美 | 亚洲国产成人精品电影在线观看 | 国产九九九视频 | 国产一区在线免费观看 | 在线免费av播放 | 91理论电影 | 一级片视频在线 | 久久精品国产一区二区 | 911av视频 | 婷婷亚洲综合五月天小说 | 13日本xxxxxⅹxxx20| 国产亚洲欧洲 | 久久黄页| 久久综合九色综合欧美就去吻 | 黄色免费视频在线观看 | 国产在线精品一区二区三区 | 成人四虎影院 | 成人亚洲精品国产www | 九九热视频在线播放 | 99视频国产精品免费观看 | 午夜精品久久久久久中宇69 | 日韩电影在线观看一区二区三区 | www视频在线观看 | 国产精品电影一区二区 | 天天操天天草 | 99在线观看 | 黄毛片在线观看 | 麻豆视频免费看 | 免费观看性生活大片3 | 伊人网站 | 久久精品播放 | 久精品在线观看 | 亚洲精品视频在线观看免费视频 | 日本公妇色中文字幕 | 久久久久久久久久久久亚洲 | 日韩精品三区四区 | 国产成年人av | 欧美不卡在线 | 亚洲狠狠丁香婷婷综合久久久 | 亚洲国产中文字幕在线视频综合 | 麻豆传媒一区二区 | 欧美电影黄色 | 久草视频免费播放 | 国产成人三级三级三级97 | 亚洲激情视频在线观看 | 91福利视频网站 | 国产精品日韩久久久久 | 91亚洲精品国偷拍 | 综合网色 | 日本在线视频一区二区三区 | 91网址在线 | 色a资源在线| 日韩在线视频一区二区三区 | 久久久久久久久久伊人 | 天堂网一区二区三区 | 激情网五月婷婷 | 久久免费中文视频 | 日韩精品在线一区 | 天堂在线视频中文网 | 欧美日韩1区 | 98超碰人人 | 亚洲综合在线五月 | 午夜 久久 tv | 97视频在线观看网址 | 日韩免费网址 | 欧美成年性| 午夜美女福利直播 | 国产高清永久免费 | 国内精品免费 | 午夜在线免费观看 | aaa日本高清在线播放免费观看 | 狠狠狠色丁香婷婷综合久久五月 | 日本三级人妇 | 日本少妇高清做爰视频 | 视频二区在线视频 | 午夜三级在线 | 五月婷婷久久丁香 | 日韩中文三级 | 国产理伦在线 | 免费亚洲视频 | 日韩精品一区二区不卡 | 人人看人人爱 | 亚洲电影黄色 | 五月花丁香婷婷 | 黄色成人影视 | 精品久久久久久久久久岛国gif | 国产在线播放一区二区 | 一区二区三区在线视频111 | 欧美精彩视频 | 亚洲夜夜网| 色播亚洲婷婷 | 亚洲精品乱码白浆高清久久久久久 | 精品国产伦一区二区三区观看方式 | 亚洲国产免费av | 国产免费久久av | 91色亚洲 | 69热国产视频 | 日韩精品一区二区三区三炮视频 | 岛国av在线不卡 | 在线视频1卡二卡三卡 | 亚州黄色一级 | 日韩av影视在线 | 天天色综合三 | 日韩在线二区 | 色婷婷久久久综合中文字幕 | 在线亚洲激情 | 国产美女在线观看 | 人人澡人人添人人爽一区二区 | 久久久国产精品久久久 | 就操操久久 | 黄色精品久久 | 亚洲人在线视频 | 久久韩国免费视频 | 亚洲狠狠婷婷综合久久久 | 成人蜜桃视频 | 日韩精品免费在线 | 96在线 | 国产 日韩 在线 亚洲 字幕 中文 | 一本一道波多野毛片中文在线 | 亚洲国产av精品毛片鲁大师 | 一级黄色片网站 | 日韩精品欧美视频 | www.五月婷婷| 国产美女免费观看 | 高清av免费一区中文字幕 | 国产精品入口a级 | 在线看黄色的网站 | 久久99婷婷 | 日日干日日色 | 狠狠网亚洲精品 | 国产精品色视频 | 欧美日韩一区三区 | 日本精品久久久久久 | 欧美一级片播放 | 天天操夜夜叫 | 九九综合在线 | 91亚洲精品国偷拍 | 精品视频久久久久久 | 国产精品男女 | 国产一级免费视频 | 中文字幕视频观看 | 91精品国产网站 | 欧美在线观看视频一区二区三区 | 在线久草视频 | 粉嫩高清一区二区三区 | 91精品在线视频观看 | 美女网站在线免费观看 | 九九九九九九精品 | 日韩欧美一区二区三区视频 | 96av视频| 国产一二区免费视频 | 亚在线播放中文视频 | 欧美日韩国产精品爽爽 | 欧美一级电影片 | 网站免费黄色 | 久久婷婷五月综合色丁香 | 婷婷 中文字幕 | 国产日韩在线播放 | 亚洲精品在线观看中文字幕 | 六月丁香色婷婷 | 午夜国产一区二区 | 国产a级精品 | 国产福利小视频在线 | 免费福利在线观看 | 国产综合久久 | 日韩性片 | 久久综合免费 | 亚洲综合五月 | 国产色区 | 国产高清无av久久 | 久久久国产精品人人片99精片欧美一 | 亚洲成人资源 | 国产一区二区三区高清播放 | 天天射天天操天天 | 国产在线毛片 | 久久久久久久久久影院 | 久久伊99综合婷婷久久伊 | 在线黄色av电影 | 97超碰中文 | 日韩免费在线观看视频 | 九九热免费视频在线观看 | 日韩电影在线观看一区二区 | 美女网站在线免费观看 | 国产一级电影网 | 亚洲视频分类 | 日韩在线激情 | 久草在线电影网 | 日韩欧美视频免费在线观看 | 婷婷视频 | 色999视频| 丁香六月在线 | 国产视频亚洲精品 | 精品在线观看一区二区 | 国产精品免费视频观看 | 免费又黄又爽视频 | 国产精品一码二码三码在线 | 天天综合色天天综合 | 中文字幕在线观看视频网站 | 亚洲一区日韩精品 | 国产不卡在线观看视频 | 天天干天天爽 | 久久久精品久久日韩一区综合 | 婷婷六月综合亚洲 | 在线视频 国产 日韩 | 在线观看精品 | 午夜美女wwww | 久久综合精品国产一区二区三区 | 成人国产亚洲 | 乱子伦av| 手机av观看 | 国产精品成人免费一区久久羞羞 | 91x色| 色99导航 | 91精品视屏 | 欧美一级淫片videoshd | 在线观看国产日韩欧美 | 欧美一区免费在线观看 | 久久午夜鲁丝片 | 亚洲国产精品成人av | 久久精品看 | 91av视频在线观看免费 | 最新午夜电影 | 国产亚洲va综合人人澡精品 | 中文区中文字幕免费看 | 91视频在线自拍 | 99精品免费在线观看 | 亚洲高清视频在线播放 | 亚洲欧美成人 | 国产精品中文在线 | 国产成人a亚洲精品 | 一区二区三区日韩在线 | 日日操天天操夜夜操 | 国产 日韩 在线 亚洲 字幕 中文 | 中文在线字幕免费观看 | 欧美精品亚洲二区 | 99精品国产免费久久久久久下载 | 久久久久免费精品国产 | av电影在线观看 | 成人免费网站视频 | 国产视频精品久久 | 黄色免费观看网址 | 深爱激情站 | 中文字幕乱在线伦视频中文字幕乱码在线 | 欧美日韩高清一区二区三区 | 日韩免费在线观看视频 | 亚洲综合最新在线 | 99久久精品国产网站 | 人人爽夜夜爽 | 久久三级视频 | 精品久久久免费 | 欧美日韩精品在线观看视频 | 久久公开免费视频 | 免费高清在线观看成人 | 在线观看第一页 | 中文字幕一区二 | 久草在线高清 | 久久久久久久久久网站 | 国产99爱| 午夜少妇一区二区三区 | 不卡中文字幕av | 密桃av在线 | 在线免费高清一区二区三区 | 人人揉人人揉人人揉人人揉97 | 91久久精 | 国产精品日韩欧美 | 亚洲精品视频免费在线 | 丁香视频五月 | 99re国产视频| 久久免费视频6 | 日精品| 日韩免费二区 | 免费观看完整版无人区 | 丁香六月天婷婷 | 在线国产一区二区 | 五月激情在线 | 激情婷婷综合 | 黄色.com | 国产亚洲激情视频在线 | 人人躁 | 国产一区二区免费在线观看 | 97碰碰碰| 亚洲国产播放 | 区一区二在线 | 麻豆视频www| 久草www| 免费在线视频一区二区 | www.久久99 | 久久不射网站 | av中文资源在线 | 久久av一区二区三区亚洲 | 视频一区二区在线 | 中文字幕在线观看你懂的 | 成年人在线播放视频 | 日韩久久午夜一级啪啪 | 欧美日韩免费在线视频 | 亚洲一区欧美精品 | 特级西西444www大胆高清无视频 | 久久免费视频在线观看 | 91丨九色丨国产丨porny精品 | 五月天欧美精品 | 韩国av免费观看 | 在线电影中文字幕 | 天天玩夜夜操 | 亚洲在线视频免费 | 在线免费av网站 | 天天草av | 日韩中文字幕免费在线观看 | 日日麻批40分钟视频免费观看 | 天天爱天天射 | 久久久免费 | 亚洲一区二区三区毛片 | 国产录像在线观看 | 国产激情小视频在线观看 | www.国产在线观看 | 国产视频观看 | 日韩av电影手机在线观看 | 欧美影院久久 | 日韩精品播放 | 91女子私密保健养生少妇 | 中文字幕精品一区二区精品 | 欧美一级免费 | 久久久性 | 免费色视频网址 | 国产精品porn | 国产一线二线三线性视频 | 中文字幕免费观看 | 精品影院一区二区久久久 | 国产精品手机在线观看 |