예제 #1
0
 public WebFormField(IWebElement form, IWebFormFieldLocator fieldLocator, List <IFormInputAdapter> supportedImputAdapters, RemoteWebDriver driver)
 {
     this.form                   = form;
     this.fieldLocator           = fieldLocator;
     this.supportedImputAdapters = supportedImputAdapters;
     this.driver                 = driver;
     BuildFieldAccessFacility();
 }
예제 #2
0
        private void SetFieldValue(IWebFormFieldLocator fieldLocator, string value, AfterFieldValueSet?customAction)
        {
            var fieldWrapper = CreateFieldWrapper(fieldLocator);

            var retryResult = RetryHelper.RetryWithExceptions(numberOfSetRetries, () =>
            {
                fieldWrapper.SetValue(value);
                if (fieldWrapper.FieldAdapter.SupportSetRetry())
                {
                    return(fieldWrapper.GetValue() == value);
                }
                return(true);
            });

            if (retryResult.Success == false)
            {
                throw new UnableToSetFieldValueException(fieldLocator.GetFieldDescription(), value, retryResult.LastException);
            }

            InvokeAfterFieldValueSet(fieldWrapper.FieldElement, customAction ?? afterFieldValueSet);
        }
예제 #3
0
        private string GetFieldValue(IWebFormFieldLocator fieldLocator)
        {
            var fieldWrapper = CreateFieldWrapper(fieldLocator);

            return(fieldWrapper.GetValue());
        }
예제 #4
0
 private WebFormField CreateFieldWrapper(IWebFormFieldLocator fieldLocator)
 {
     return(new WebFormField(WebElement, fieldLocator, SupportedInputs, Driver));
 }