如果Selenium + Specflow中的字段不为空,则仍会触发空字段验证

时间:2014-12-11 13:13:05

标签: selenium selenium-webdriver specflow pageobjects

当我使用值填充字段并提交时,空字段验证仍会随机而不是每次都会触发。正如您在图像中看到的那样,这些字段非空,仍然会触发验证。

我注意到,通常selenium需要时间来输入细节,但在我的情况下,一旦页面加载,它就会很快开始快速填充字段。它非常快。

我正在使用Selenium,specflow框架和页面对象模式以及页面工厂。

我输入文字字段的代码如下:

public static void FillTextBox(IWebElement webElement,string value)
        {
            webElement.Click();
            webElement.Clear();
            webElement.SendKeys(value);
        }

enter image description here

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果您查看onBlur事件的定义,您会发现:

  

当对象失去焦点时会发生onblur事件。

所以你必须将焦点转移到另一个元素之后你填写每个文本框。

public static void FillTextBox(IWebElement textField, string value, IWebElement otherElement) {

    textField.SendKeys(value);
    otherElement.Click();    // this will have to be some other element on your page
}