webdriverIO文檔聲稱browser.keys
命令與sendKeys
命令的工作方式相同,但不會隱式釋放密鑰。如何在webdriverIO中釋放密鑰
http://webdriver.io/api/protocol/keys.html
如何鍵釋放?
我試着寫代碼使用鍵盤通過表單向後導航:
browser.keys(['Shift', 'Tab']);
但在接下來的輸入框它的類型爲,文字大寫。這就好像換檔鍵仍然沒有按下。
webdriverIO文檔聲稱browser.keys
命令與sendKeys
命令的工作方式相同,但不會隱式釋放密鑰。如何在webdriverIO中釋放密鑰
http://webdriver.io/api/protocol/keys.html
如何鍵釋放?
我試着寫代碼使用鍵盤通過表單向後導航:
browser.keys(['Shift', 'Tab']);
但在接下來的輸入框它的類型爲,文字大寫。這就好像換檔鍵仍然沒有按下。
爲什麼不使用.click點擊你想要的表單?使用CSS選擇器比模擬按鍵更容易。
替代你也可以做這樣的東西
.click('a[href*="contact"]')
作品也與佔位符和其他的東西,如果你不容找到一個唯一的ID或類。
// .moveToObject(selector,xoffset,yoffset);
.moveToObject('#button', 0, -103)
.buttonDown()
.moveToObject('#button', 0, -104)
.buttonUp()
然而,這是我用來按下鼠標左鍵,然後鬆開,如果你沒有機會找到合適的CSS選擇器點擊。您可以右鍵單擊webdriver io以查看您處於哪個位置,然後您可以在任何地方創建此解決方法,而無需css選擇器。
我想我想通了。我不得不兩次發送鍵這樣
browser.keys(['Shift', 'Tab', 'Tab', 'Shift']);
我想的webdriver必須把第一Shift
像的keydown,第二Shift
就象是一把鑰匙了。
因此,上面的序列將是完整的keysDown/keysUp序列,以使用鍵盤進行向後的窗體導航。
看看這個[SO問答](https://stackoverflow.com/questions/37392729/selenium-webdriver-javascript提出意見。 – MikeJRamsey56
謝謝!總是有助於瞭解使用鼠標導航應用的其他方式。 不幸的是,我正在編寫一些自動化測試來測試如果僅鍵盤用戶可以導航我們的應用程序。所以,我不能使用鼠標在這個測試套件中導航。 – albertlockett
啊你發現你的自己的awnser :)但好2知道你需要按2次 – t33n