Selenium:如何输入空白作为文本字段的值?
我有一个用默认值填充的表单文本字段。我希望清除该值并输入空白,以断言预期的验证已发生。我正在使用Selenium RC和PHPUnit 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
$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数据表,效果非常好,谢谢。