/* Not all of this test's Asserts will pass. Because of the nature of the draggable elements on the page. It could be adjusted to pass, though * - by calculating the correct cursor positions and offsets - get the size of the element, divide by two. * Then for the "-5" element - extract from the expected offset 5 and extract also size/2 - for both horizontal and vertical coordinates * For the "bottom" element - extract from expected offset size(height)/2 for the vertical coordinate */ public void CursorStyle_DragDiagonallyAllElements_ElementsMovedAccordingly() { var draggablePage = new DraggablePage(this.driver); InteractionPages drag = AccessExcelData.GetInteractionTestsData(TestContext.CurrentContext.Test.Name); // Get the current test method name (CursorStyle_DragDiagonallyAllElements_ElementsMovedAccordingly) and use it as a Key in the xlsx file // Get the tab number (e.g. "Default functionality", Constrain movement") from the test property above and give it to the URL draggablePage.tabNo = TestContext.CurrentContext.Test.Properties.Get("Draggable test tab Number:").ToString(); draggablePage.NavigateTo(draggablePage.URL); // Scroll page Up so the element is into view. Because when Firefox opens the desired page/tab, somehow the page is scrolled down ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", draggablePage.TopOfPage); draggablePage.DragObject(int.Parse(drag.HorizontalOffset), int.Parse(drag.VerticalOffset), draggablePage.DraggableElementCursor1); draggablePage.DragObject(int.Parse(drag.HorizontalOffset), int.Parse(drag.VerticalOffset), draggablePage.DraggableElementCursor2); draggablePage.DragObject(int.Parse(drag.HorizontalOffset), int.Parse(drag.VerticalOffset), draggablePage.DraggableElementCursor3); draggablePage.AssertElementIsMovedCorrectly(int.Parse(drag.HorizontalOffset), int.Parse(drag.VerticalOffset), draggablePage.DraggableElementCursor1); draggablePage.AssertElementIsMovedCorrectly(int.Parse(drag.HorizontalOffset), int.Parse(drag.VerticalOffset), draggablePage.DraggableElementCursor2); draggablePage.AssertElementIsMovedCorrectly(int.Parse(drag.HorizontalOffset), int.Parse(drag.VerticalOffset), draggablePage.DraggableElementCursor3); }