我正在用WebDriver API創建一個應用程序進行非迴歸測試。AWT機器人 - 我找不到元素
有一刻,我必須在我的電腦上找到一個元素(fic)(用Windows的導航器),而我不能(或者我只是失敗了:P)用WebDriver來做到這一點。
所以我正在尋找,我找到了awt.Robot。但是這個機器人只需點擊一個[px,px]位置。怎麼說?點擊搜索欄,點擊名稱爲「A」的元素,點擊「確定」按鈕? (所有這些元素都是Windows的元素。) 感謝您的幫助!
我正在用WebDriver API創建一個應用程序進行非迴歸測試。AWT機器人 - 我找不到元素
有一刻,我必須在我的電腦上找到一個元素(fic)(用Windows的導航器),而我不能(或者我只是失敗了:P)用WebDriver來做到這一點。
所以我正在尋找,我找到了awt.Robot。但是這個機器人只需點擊一個[px,px]位置。怎麼說?點擊搜索欄,點擊名稱爲「A」的元素,點擊「確定」按鈕? (所有這些元素都是Windows的元素。) 感謝您的幫助!
解決方案(對我來說)是使用this exemple來根據名稱獲取窗口的位置+尺寸。
int[0] = X
int[1] = Y
int[2] = width
int[3] = height
在第二次,我用moveMouse()的awt.Robot在良好的位置,然後點擊()或者放置好的人物。
對於 '/' 斜線,我使用:
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_COLON);
robot.keyRelease(KeyEvent.VK_COLON);
robot.keyRelease(KeyEvent.VK_SHIFT);
我希望這可以幫助別人。
Webdriver無法執行此操作,因爲它只能與Web瀏覽器元素進行交互,就像在Web瀏覽器中呈現的那些元素一樣。使用「Robot()」類是正確的方法,但您必須以艱難的方式完成,並提供您想要單擊的位置的像素位置。 –
好吧,我找到了一種方法,THX! [這裏](http://stackoverflow.com/questions/6091531/how-to-get-the-x-and-y-of-a-program-window-in-java)但現在我怎麼能按'\ '爲了創造一條道路?當我這樣做:「robot.keyPress(KeyEvent.VK_BACK_SLASH);」出錯:「java.lang.IllegalArgumentException:無效的密鑰代碼」,但提供代碼「robot.keyPress(KeyEvent.VK_COLON);」它的工作原理。爲什麼? – pikameuh