/// <summary> /// Searches for product. /// </summary> /// <param name="productName">Name of the product.</param> public virtual void SearchForProduct(string productName) { var currentWindowHandle = WrappedDriver.CurrentWindowHandle; ProductNameElement.SetValue(productName); SearchElement.Click(); WrappedDriver .Wait(TimeSpan.FromSeconds(2)) .Until(d => !ProductsGrid.IsBusy()); var firstCheckbox = ProductsGrid .GetCell(0, 0) .FindElement(By.TagName("input")); var checkbox = new CheckboxElement(firstCheckbox); checkbox.Check(true); SaveElement.Click(); // Wait for the page to close. WrappedDriver .Wait(TimeSpan.FromSeconds(10)) .Until(d => !d.WindowHandles.Contains(currentWindowHandle)); }
/// <summary> /// Sets the name of the product. /// </summary> /// <param name="productName">Name of the product.</param> /// <returns></returns> public virtual GeneralInformationComponent SetProductName(string productName) { ProductNameElement.SetValue(productName); return(this); }
/// <summary> /// Searches the specified order search model. /// </summary> /// <param name="orderSearchModel">The order search model.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public virtual IListPage Search(OrderSearchModel orderSearchModel) { StartDateComponent.SetValue(orderSearchModel.StartDate); EndDateComponent.SetValue(orderSearchModel.EndDate); ProductNameElement.SetValue(orderSearchModel.ProductName); OrderStatusesComponent.SelectOptions(orderSearchModel.OrderStatuses); PaymentStatusesComponent.SelectOptions(orderSearchModel.PaymentStatuses); ShippingStatusesComponent.SelectOptions(orderSearchModel.ShippingStatuses); if (!String.IsNullOrEmpty(orderSearchModel.StoreName)) { var storeIndex = StoreElement.Options.IndexOf( el => String.Equals( el.TextHelper().InnerText, orderSearchModel.StoreName, StringComparison.Ordinal)); if (storeIndex == -1) { throw new NoSuchElementException(); } StoreElement.SelectByIndex(storeIndex); } if (!String.IsNullOrEmpty(orderSearchModel.VendorName)) { var vendorIndex = StoreElement.Options.IndexOf( el => String.Equals( el.TextHelper().InnerText, orderSearchModel.VendorName, StringComparison.Ordinal)); if (vendorIndex == -1) { throw new NoSuchElementException(); } VendorElement.SelectByIndex(vendorIndex); } BillingPhoneNumberElement.SetValue(orderSearchModel.BillingPhone); BillingEmailAddressElement.SetValue(orderSearchModel.BillingEmail); BillingLastNameElement.SetValue(orderSearchModel.BillingLastName); if (!String.IsNullOrEmpty(orderSearchModel.BillingCountryName)) { var billingCountryIndex = BillingCountryElement.Options.IndexOf( el => String.Equals( el.TextHelper().InnerText, orderSearchModel.BillingCountryName, StringComparison.Ordinal)); if (billingCountryIndex == -1) { throw new NoSuchElementException(); } BillingCountryElement.SelectByIndex(billingCountryIndex); } if (!String.IsNullOrEmpty(orderSearchModel.PaymentMethodName)) { var paymentMethodIndex = PaymentMethodElement.Options.IndexOf( el => String.Equals( el.TextHelper().InnerText, orderSearchModel.PaymentMethodName, StringComparison.Ordinal)); if (paymentMethodIndex == -1) { throw new NoSuchElementException(); } PaymentMethodElement.SelectByIndex(paymentMethodIndex); } OrderNotesElement.SetValue(orderSearchModel.OrderNotes); return(this); }