Класс включает набор методов и переменных для объектов
Ejemplo n.º 1
0
 /// <summary>
 /// Скроллим фокус к объекту
 /// </summary>
 /// <param name="webItem">Объект к которому скроллим</param>
 public static void ScrollOnCoords(WebItem webItem)
 {
     try
     {
         Point hoverItem = BitrixFramework.FindWebElement(webItem).Location;
         ((IJavaScriptExecutor)BitrixFramework.WebDriver).ExecuteScript("return window.title;");
         ((IJavaScriptExecutor)BitrixFramework.WebDriver).ExecuteScript("window.scrollBy(-10000,-10000);");
         if (hoverItem.Y > 100)
             ((IJavaScriptExecutor)BitrixFramework.WebDriver).ExecuteScript("window.scrollBy(0," + (hoverItem.Y - 100) + ");");
         else
             ((IJavaScriptExecutor)BitrixFramework.WebDriver).ExecuteScript("window.scrollBy(0," + (hoverItem.Y) + ");");
     }
     catch (NoSuchElementException)
     {
         Log.MesError("Не найден объект \"" + webItem.description + "\" по пути \"" + webItem.by.ToString() + "\"");
         throw;
     }
     catch (Exception) { }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Метод реализует поиск элемента на странице. Аналог WebDriver.FindElement
 /// </summary>
 /// <param name="webItem">"Объект страницы</param>
 /// <returns></returns>
 public static IWebElement FindWebElement(WebItem webItem)
 {
     if (webItem.by != null)
     {
         try
         {
             return WebDriver.FindElement(webItem.by);
         }
         catch (StaleElementReferenceException)
         {
             Wait(2);
             return WebDriver.FindElement(webItem.by);
         }
         catch (Exception)
         {
             return null;
         }
     }
     return null;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Скроллим фокус к объекту
 /// </summary>
 /// <param name="webItem">Объект к которому скроллим</param>
 public static void Scroll(WebItem webItem)
 {
     try
     {
         ((IJavaScriptExecutor)BitrixFramework.WebDriver).ExecuteScript("arguments[0].scrollIntoView();", BitrixFramework.FindWebElement(webItem));
     }
     catch (NoSuchElementException)
     {
         Log.MesError("Не найден объект \"" + webItem.description + "\" по пути \"" + webItem.by.ToString() + "\"");
     }
     catch (Exception) { }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Метод реализует действие драгндроп от одного элемента до другого
        /// </summary>
        /// <param name="WebItemToDrop">Объект на котором дропаем первый объект</param>
        /// <param name="isAdmin">Признак админки</param>
        /// <param name="ScrollToObject">Скроллить ли до объекта</param>
        public void DragAndDrop(WebItem WebItemToDrop, bool isAdmin = false, bool ScrollToObject = true)
        {
            OpenQA.Selenium.Interactions.Actions builder = new OpenQA.Selenium.Interactions.Actions(BitrixFramework.WebDriver);
            builder.DragAndDrop(BitrixFramework.FindWebElement(this), BitrixFramework.FindWebElement(WebItemToDrop)).Build().Perform();

            Log.MesNormal(String.Format("'{0}' -> Драгндроп до '{1}'", description, WebItemToDrop.description));

            //проверяем страницу на наличие ошибок
            BitrixFramework.CheckJSErrors();
            GM.CheckContentOnErrors();
        }