Selenium sendKeys不输入所有文本

时间:2015-07-08 14:15:12

标签: c# angularjs selenium selenium-chromedriver angular-material

我正在尝试根据角度和角度材料为我们的应用程序编写e2e测试。我们正在使用chromedriver 2.16,selenium 2.46和最新的protractor.net。问题是,当我想使用sendKeys方法时,selenium不会一直发送所有这些 - 它是随机的,有时它会发送整个值,有时是1-3个字符。

这是代码: 第一次用硒

var nameInput = webDriver.FindElement(By.Id('SizeTemplateName'));
    nameInput.Click();
    nameInput.Clear();
    nameInput.SendKeys('some random value 123 456 789');

第二次使用protractor.net

var nameInput = angularWebDriver.FindElement(NgBy.Model('vm.sizeTemplate.name'));
    nameInput.Click();
    nameInput.Clear();
    nameInput.SendKeys('some random value 123 456 789');

这些方法都不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我有同样的问题。尝试使用此

private static void sendKeys(IWebElement element, string text)
{
    element.Click();
    Actions actions = new Actions(driver);
    foreach (char c in text)
    {
        actions.SendKeys(c.ToString())
            .Perform();
    }
}

代码中的用法

sendKeys(nameInput, "some random value 123 456 789")