sendkeys(keys.tab)在jmeter webdriver采样器中不起作用



我试图在文本字段中输入一个值,然后将选项卡输入下一个字段(也输入值)。keys.tab方法似乎不起作用。

我的代码如下:

var Keys = JavaImporter(org.openqa.selenium.Keys)
var input = WDS.browser.findElement(pkg.By.xpath('xpath_to_input'))
input.sendKeys('value')
input.sendKeys(Keys.TAB)

我收到以下错误:

sun.org.mozilla.javascript.internal.EvaluatorException: Can't find method org.openqa.selenium.remote.RemoteWebElement.sendKeys(string). <Unknown source>

感谢您的帮助。我尝试了各种各样的事情,它将不起作用。

除了ekuusela建议还有2个选项:

  1. 使用t逃生序列,例如:

    input.sendKeys('valuet');
    
  2. 使用java.awt.robot方法如下:

    input.sendKeys('value')
    var robot = new java.awt.Robot()
    var keyEvent = java.awt.event.KeyEvent
    robot.keyPress(keyEvent.VK_TAB)
    robot.keyRelease(keyEvent.VK_TAB)
    

请记住,"机器人"方法模拟了执行机器上的本机密钥和鼠标事件,因此,如果使用远程WebDriver实例,则不会播放。

有关更多WebDriver采样器提示和技巧,请参阅WebDriver采样器:您的前10个问题回答指南。

如果使用Java 6,则必须在数组中传递字符串,例如:

var input = WDS.browser.findElement(pkg.By.xpath('xpath_to_input'))
input.sendKeys(['value'])
input.sendKeys([Keys.TAB])

http://jmeter-plugins.org/wiki/webdriversampler/

最新更新