【问题标题】:selenium webdriver sendkeys intermittent issueselenium webdriver sendkeys间歇性问题
【发布时间】:2016-04-15 09:00:12
【问题描述】:

我设置了一个运行良好的网络自动化框架。我一直有一个问题,当使用 SendKeys 写入文本框时,经常会遗漏一封信。因此,例如,如果我的数据集是“TestUserName”,则会发送诸如“TestUerName”之类的带有缺失字母的示例。

这对我来说是个大问题,因为在网络测试成功结束后,我会进一步检查数据库是否正确更新。因此,在上面的示例中,我将转到 UserName 列并期望找到 TestUserName,但测试会失败,因为找到的是 TestUerName。

有什么想法吗?我正在使用硒 2.53.0。

下面是我的代码。

public void inputValue (Object [][] valuesFromExcel) 
{                        
    for (int rowNow = 0; rowNow < (valuesFromExcel.length); rowNow++) 
    {
        String newValue = valuesFromExcel[rowNow][0].toString();
        if (!newValue.equals("")) 
        {
            WebElement currentElement = driver.findElement(By.id(valuesFromExcel[rowNow][1].toString()));

            if (currentElement.getTagName().equals("input")) 
            {                      
                currentElement.sendKeys(newValue);
            } 
            else if (currentElement.getTagName().equals("select")) 
            {                   
                new Select(currentElement).selectByVisibleText(newValue);                    
            }                               
        }
    }        
}

谢谢。

【问题讨论】:

  • 请更新你的 selenium 最新版本我猜是 2.53
  • 请(现在和一般情况下)在通过执行更新更改问题之前向我们展示您的代码。它不会是 Selenium 错误(虽然 2.44 有点旧。)
  • 嗨@rajNishKuMar,我需要你的评论作为这样做的动力:) 我已经更新到 2.53 并且不得不安排一些事情。但是上面的代码仍然给我的 sendKeys 带来了问题。例如。应该写入的数据是 MyNameIsDragonfly,但写入的是 MynameIsDragonfly,或者在一种情况下只写入了 MyName。虽然这是间歇性的,所以 sendKeys 很多次都可以正常工作。
  • 这是我的猜测,请确认。 sendkeys 非常适合基于 Web 的应用程序,我没有看到任何类似上述的症状。你可以确认当你在输入框中使用 sendkeys 时,你的 DOM 在那个时间点是稳定的还是在内部它会被刷新
  • 嗨,你也试过 javascript 执行器,如果不是,那么请像 JavascriptExecutor jse = (JavascriptExecutor) 驱动程序一样使用它; jse.executeScript("document.getElementById('gbqfq').value = 'TestUserName';");

标签: selenium selenium-webdriver


【解决方案1】:

不是以字符串形式发送,而是以字符形式发送... 将字符串转换为 char 并将每个 char 一个一个地发送到文本框。是的,会有性能问题,但它工作正常。它不会跳过任何字母

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 2023-03-14
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    相关资源
    最近更新 更多