2010-05-26 70 views
4

我有一個表單文本字段正在填充默認值。我想清除這個值並輸入空格來聲明預期的驗證發生。我使用Selenium RC和PHPUnit Selenium擴展。我怎樣才能做到這一點?Selenium:如何輸入空格作爲文本字段的值?

注:我已經嘗試做這些,但他們不工作:

$this->type('FirstName', " "); //spaces 
$this->type('FirstName', "\t"); //tab character 

他們清除字段中的值,但他們沒有進入空白領域進軍。

更新:我發現if you are using Selenium IDE, you can type white space by using their ${space} variable,但使用Selenium RC和PHPUnit Selenium擴展時,這不起作用。

回答

0

如何將它的值設置爲空字符串('')?

+0

設置元素的值的語法是什麼? – Andrew 2010-05-26 15:44:01

0

如何使用keyPress()函數「按下」空格鍵?

1

你可以使用JavaScript注入和操縱值直接

selenium.getEval("this.browserbot.findElement('FirstName').value = ' ';"); 

注意這不會火過任何事件,所以你將不得不如果需要手動觸發它們。

2

最近我遇到了同樣的問題,就像Andrew在Selenium RC中$ {space}不工作一樣。我發現Zugwalt的解決方案很有用。這是我爲捕獲空白而做的。

selenium.focus("txt_textbox1"); 
selenium.keyPressNative("32"); 
strOutput = selenium.getEval("this.browserbot.findElement('txt_textbox1').value = ' ';"); 

希望這有助於;)

感謝@!

+1

.keyPressNative(「32」);使用這將把空間,然後如果你想刪除它,你也可以做.keyPressNative(「8」);.我的目的是用文本框中的過濾器刷新jquery數據表,並且非常感謝。 – wallerjake 2013-02-08 14:05:54

0

你可以試試selenium.typeKeys('FirstName'," "); 請讓我知道它是否工作。

0

這應該PHPUnit的工作與硒:

class MyTest extends PHPUnit_Extensions_Selenium2TestCase 
{ 
    public function testSomething() 
    { 
     $textField = $this->byCssSelector('.blah'); 

     // ... 

     $textField->clear(); 
     $textField->value(" "); 

     // test assertion to follow 
    } 
} 

如果你想進入一個句子,以下韓元」 t工作:

$textField->value("this is a sentence."); 

以下將:

$textField->value("this"); 
$textField->value(" "); 
$textField->value("is"); 
$textField->value(" "); 
$textField->value("a"); 
$textField->value(" "); 
$textField->value("sentence."); 
相關問題