2011-08-25 102 views
4

我使用硒測試網站,我需要發送電子郵件至其中一個字段。到目前爲止,我使用這個Java方法:將符號(「@」)轉換爲CharSequence

String email = "[email protected]" 
WebElement emailField = driver.findElement(By.id("mainForm:accountPanelTabId:1:accountEmails"); 
emailField.sendKeys(email); 

但是從(對我來說)UKNOWN原因,這是該值發送正好到外地:

testvexample.com 

(所以基本上「@」得到換成「v」)

只是出於好奇:我是捷克和捷克鍵盤。寫一個「@」符號的快捷方式是rightAlt + v,所以我相信這可以連接...

所以我在尋找任何總是寫「@」符號的「防彈」methot。任何幫助讚賞。

編輯 sendKeys是Selenium的方法,它模擬鍵盤上的輸入。的Javadoc是在這裏:http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#sendKeys%28java.lang.CharSequence...%29

回答

0

下面應該工作: String email = "test\u0040example.com";

道歉較早誤讀的問題。

我想你將不得不呼籲sendKeys使用Keys枚舉的適當的值來模擬你得到你的符號的方式。在弦使用Keys.ALT你的「V」:。

sendKeys(Keys.chord(Keys.ALT, "v")); 
+0

壞消息還是一樣:( –

+0

很抱歉得知這意味着'sendKeys'方法做一些你的字符串在這裏,我一直以爲你有一個奇怪的字體; ;-)你可以得到'sendKeys'的源代碼嗎? –

+0

它是硒API的一部分,所以我沒有源... –