Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium:如何输入空白作为文本字段的值?_Selenium_Phpunit_Selenium Rc - Fatal编程技术网

Selenium:如何输入空白作为文本字段的值?

Selenium:如何输入空白作为文本字段的值?,selenium,phpunit,selenium-rc,Selenium,Phpunit,Selenium Rc,我有一个用默认值填充的表单文本字段。我希望清除该值并输入空白,以断言预期的验证已发生。我正在使用Selenium RC和PHPUnit Selenium扩展。我怎样才能做到这一点 注意:我已经尝试过这样做,但不起作用: $this->type('FirstName', " "); //spaces $this->type('FirstName', "\t"); //tab character 它们清除字段中的值,但不会在字段中输入空白 更新:我发现,但在使用Selenium RC

我有一个用默认值填充的表单文本字段。我希望清除该值并输入空白,以断言预期的验证已发生。我正在使用Selenium RC和PHPUnit Selenium扩展。我怎样才能做到这一点

注意:我已经尝试过这样做,但不起作用:

$this->type('FirstName', "  "); //spaces
$this->type('FirstName', "\t"); //tab character
它们清除字段中的值,但不会在字段中输入空白


更新:我发现,但在使用Selenium RC和PHPUnit Selenium扩展时,这不起作用。

如何将其值设置为空字符串(“”)?

如何使用keyPress()函数“按”空格键?

您可以使用javascript注入并直接操作该值

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

请注意,这不会触发任何事件,因此如果需要,您必须手动触发它们。

最近,我遇到了与Andrew相同的问题,其中${space}在Selenium RC中不起作用。我发现Zugwalt的解决方案很有用。下面是我所做的捕获空白的操作

selenium.focus("txt_textbox1");
selenium.keyPressNative("32");
strOutput = selenium.getEval("this.browserbot.findElement('txt_textbox1').value = ' ';");
希望这有帮助;)


谢谢!

您可以尝试
selenium.typeKeys('FirstName',“”)

请告诉我它是否有效。

我在github上的phpunit selenium代码中修复了这个问题,并向维护人员发出了请求

如果有人在意,我的要点如下:


这应该适用于含硒的phpunit:

类MyTest扩展了PHPUnit\u扩展\u Selenium2TestCase
{
公共函数testSomething()
{
$textField=$this->byCssSelector('.blah');
// ...
$textField->clear();
$textField->value(“”);
//要遵循的测试断言
}
}
如果要输入句子,以下操作将不起作用:

$textField->value(“这是一个句子”);
以下将:

$textField->value(“this”);
$textField->value(“”);
$textField->value(“是”);
$textField->value(“”);
$textField->value(“a”);
$textField->value(“”);
$textField->value(“句子”);

设置元素值的语法是什么?.keyPressNative(“32”);使用此选项可以放入空间,如果您想删除它,也可以这样做。按键本机(“8”);。我的目的是用文本框中的过滤器刷新jquery数据表,效果非常好,谢谢。