public void TestHtml5CanvasDrawing() { try { driver.Navigate().GoToUrl("http://dl.dropbox.com/u/55228056/html5canvasdraw.html"); //Get the HTML5 Canvas Element IWebElement canvas = driver.FindElement(By.Id("imageTemp")); //Select the Pencil Tool SelectElement drawtool = new SelectElement(driver.FindElement(By.Id("dtool"))); drawtool.SelectByText("Pencil"); //Create a Action Chain for Draw a shape on Canvas Actions builder = new Actions(driver); builder.ClickAndHold(canvas).MoveByOffset(10, 50). MoveByOffset(50, 10). MoveByOffset(-10, -50). MoveByOffset(-50, -10).Release().Perform(); //Get a screenshot of Canvas element after Drawing and compare it to the base version Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot(); string screenshot = ss.AsBase64EncodedString; byte[] screenshotAsByteArray = ss.AsByteArray; ss.SaveAsFile(@"c:\tmp\post.png", ImageFormat.Png); } catch (Exception e) { Assert.Fail("Test Failed due to exception '" + e.Message + "'"); } }
private void PerformDragAndDropWithMouse() { driver.Url = draggableLists; IWebElement dragReporter = driver.FindElement(By.Id("dragging_reports")); IWebElement toDrag = driver.FindElement(By.Id("rightitem-3")); IWebElement dragInto = driver.FindElement(By.Id("sortable1")); Actions actionProvider = new Actions(driver); IAction holdItem = actionProvider.ClickAndHold(toDrag).Build(); IAction moveToSpecificItem = actionProvider.MoveToElement(driver.FindElement(By.Id("leftitem-4"))).Build(); IAction moveToOtherList = actionProvider.MoveToElement(dragInto).Build(); IAction drop = actionProvider.Release(dragInto).Build(); Assert.AreEqual("Nothing happened.", dragReporter.Text); holdItem.Perform(); moveToSpecificItem.Perform(); moveToOtherList.Perform(); Assert.IsTrue(Regex.IsMatch(dragReporter.Text, "Nothing happened\\. (?:DragOut *)+")); drop.Perform(); }
/// <summary> /// Click and hold an element /// </summary> /// <param name="element">Page element</param> /// <param name="ms">Number of milliseconds to hold down the click</param> public static void ClickLong(this IBrowser browser, PageElement element, int ms) { var action = new Actions(browser.IWebDriver); action.ClickAndHold(browser.Find(element)).Build().Perform(); Thread.Sleep(ms); action.Release(browser.Find(element)).Build().Perform(); }
private static void DeleteTask(IWebDriver driver, IWebElement task) { var drag = task.FindElement(By.CssSelector("span.i.drag.project")); var drop = driver.FindElement(By.ClassName("trash")); var builder = new Actions(driver); var dragAndDrop = builder.ClickAndHold(drag) .MoveToElement(drop) .Release(drag) .Build(); dragAndDrop.Perform(); }
public void TestClicknHold() { NavigationHelper.NavigateToUrl("http://demos.telerik.com/kendo-ui/sortable/index"); Actions act = new Actions(ObjectRepository.Driver); IWebElement ele = ObjectRepository.Driver.FindElement(By.XPath("//ul[@id='sortable-basic']/li[12]")); IWebElement tar = ObjectRepository.Driver.FindElement(By.XPath("//ul[@id='sortable-basic']/li[2]/span")); act.ClickAndHold(ele) .MoveToElement(tar, 0, 30) .Release() .Build() .Perform(); Thread.Sleep(10000); }
public void DragSlider() { // Wait for element driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 45)); // Grab the element and then feed it to the actions statement below. IWebElement element = driver.FindElement(By.XPath("//div[@id='aj_sl1']/div[2]/img")); Console.WriteLine(element.ToString()); Console.ReadLine(); Actions actionsProvider = new Actions(driver); actionsProvider.DragAndDropToOffset(element, 50, 0); actionsProvider.ClickAndHold(element); actionsProvider.MoveByOffset(50, 0); actionsProvider.Release(element); }
public static bool PerformDragAndDrop(LocatorType sourceBy, string sourceLocator, LocatorType targetBy, string targetLocator) { IWebElement source = FindElement(sourceBy, sourceLocator, 10); IWebElement target = FindElement(targetBy, targetLocator, 10); OpenQA.Selenium.Interactions.Actions builder = new OpenQA.Selenium.Interactions.Actions(_driver); try { // loggerInfo.Instance.Message("Perform Drag and Drop for : " + "Source:{" + sourceLocator + "} Destination:{" + targetLocator + "}"); // builder.DragAndDrop(source, target).Build().Perform(); builder.ClickAndHold(source).MoveToElement(target).Release(target).Build().Perform(); } catch (Exception e) { Exception exception = new Exception(e.Message); // // loggerInfo.Instance.LogAppErro(exception, "Source:{" + sourceLocator + "} Destination:{" + targetLocator + "}", NLog.LogLevel.Error); return(false); } return(true); }
public void ShouldAllowDragAndDrop() { driver.Url = droppableItems; DateTime waitEndTime = DateTime.Now.Add(TimeSpan.FromSeconds(15)); while (!IsElementAvailable(driver, By.Id("draggable")) && (DateTime.Now < waitEndTime)) { System.Threading.Thread.Sleep(200); } if (!IsElementAvailable(driver, By.Id("draggable"))) { throw new Exception("Could not find draggable element after 15 seconds."); } IWebElement toDrag = driver.FindElement(By.Id("draggable")); IWebElement dropInto = driver.FindElement(By.Id("droppable")); Actions actionProvider = new Actions(driver); IAction holdDrag = actionProvider.ClickAndHold(toDrag).Build(); IAction move = actionProvider.MoveToElement(dropInto).Build(); IAction drop = actionProvider.Release(dropInto).Build(); holdDrag.Perform(); move.Perform(); drop.Perform(); dropInto = driver.FindElement(By.Id("droppable")); string text = dropInto.FindElement(By.TagName("p")).Text; Assert.AreEqual("Dropped!", text); }
public void ShouldAllowDragAndDrop() { driver.Url = droppableItems; DateTime waitEndTime = DateTime.Now.Add(TimeSpan.FromSeconds(15)); while (!IsElementAvailable(driver, By.Id("draggable")) && (DateTime.Now < waitEndTime)) { System.Threading.Thread.Sleep(200); } if (!IsElementAvailable(driver, By.Id("draggable"))) { throw new Exception("Could not find draggable element after 15 seconds."); } IWebElement toDrag = driver.FindElement(By.Id("draggable")); IWebElement dropInto = driver.FindElement(By.Id("droppable")); Actions actionProvider = new Actions(driver); IAction holdDrag = actionProvider.ClickAndHold(toDrag).Build(); IAction move = actionProvider.MoveToElement(dropInto).Build(); IAction drop = actionProvider.Release(dropInto).Build(); holdDrag.Perform(); move.Perform(); drop.Perform(); dropInto = driver.FindElement(By.Id("droppable")); string text = dropInto.FindElement(By.TagName("p")).Text; Assert.AreEqual("Dropped!", text); }
public IMouseActions ClickAndHold(BaseElement onElement) { actions.ClickAndHold(onElement.IWebElement); return(this); }
public void LitleGuru() { if (Convert.ToBoolean(ReadFromFile(SettingsFile, "AdditionalSettingsBox")[9]) == true) { while (true) { int currenCry = Convert.ToInt32(driver.FindElement(By.Id("crystal")).FindElement(By.TagName("b")).Text.Replace(".", "")); driver.FindElement(By.LinkText("Гавань")).Click(); System.Threading.Thread.Sleep(rnd.Next(689, 899)); driver.FindElement(By.LinkText("Торговая площадка")).Click(); System.Threading.Thread.Sleep(rnd.Next(689, 899)); driver.FindElement(By.XPath(".//option[text()='Билет на маленькую поляну']")).Click(); while (currenCry > 30) { //двигаем бегунок IWebElement Slider = driver.FindElement(By.CssSelector(".ui-slider-handle.ui-state-default.ui-corner-all")); Actions builder = new Actions(driver); IAction dragAndDrop = builder.ClickAndHold(Slider).MoveByOffset(0, 0).MoveByOffset(200, 150).Release().Build(); dragAndDrop.Perform(); driver.FindElement(By.XPath(".//input[@value='КУПИТЬ']")).Click(); System.Threading.Thread.Sleep(rnd.Next(689, 899)); currenCry = Convert.ToInt32(driver.FindElement(By.Id("crystal")).FindElement(By.TagName("b")).Text.Replace(".", "")); if (Convert.ToInt32(GetResourceValue("i33")[0]) > (Convert.ToInt32(GetResourceValue("i33")[1]) - 15)) { break; } } SmallFields(); } } }
// Mark this test with TestMethod attribute, if need to check error // of mouse move actions in Selenium. public void TestGestures_SeleniumMouseMoveError() { Dictionary<string, object> offset; const int startX = 100; const int startY = 100; Actions action = new Actions(Driver); action.MoveToElement(vcPageObj.VirtualCanvas, startX, startY).Perform(); for (int i = 0; i < 101; i++) { GoToUrl(); action.Build(); action.ClickAndHold(); action.MoveByOffset(i, i); action.Release(); action.MoveByOffset(-i, -i); action.Perform(); offset = ExecuteScriptGetJson("return offset;"); Console.WriteLine("Expected offset ({0}, {1}); Observed offset: ({2}, {3});", i, i, offset["xOffset"], offset["yOffset"]); } }
public void MovePricingSlider(int count, int range) { if (count <= 5) numberofpixels = -150; if (count > 5 && count <= 10) numberofpixels = -100; if (count > 10 && count <= 20) numberofpixels = 0; if (count > 20 && count <= 30) numberofpixels = 20; int widthofslidebar = sliderBar.Size.Width; //user set Actions slider = new Actions(Browser._Driver); slider.ClickAndHold(pricingSlider).MoveByOffset(numberofpixels, range).Build().Perform(); Thread.Sleep(1000); }
public void ByKeys() { if (ReadFromFile(SettingsFile, "UndergroundBox")[6] == "True") { Random rnd = new Random(); //смотрим сколько у нас ключей, если 0, то докупаем if (Convert.ToInt32(GetResourceValue("Ключ от ворот царства Манаглота")[0]) == 0) { try { //устрашатели driver.FindElement(By.Id("top_menu")).FindElement(By.XPath(".//a[@title='Устрашатели']")).Click(); System.Threading.Thread.Sleep(rnd.Next(1105, 1199)); //оружейная driver.FindElement(By.Id("hover_guild_weapon")).Click(); System.Threading.Thread.Sleep(rnd.Next(1105, 1199)); //Предметы driver.FindElement(By.LinkText("Предметы")).Click(); System.Threading.Thread.Sleep(rnd.Next(1105, 1199)); //двигаем бегунок IWebElement Slider = driver.FindElement(By.Id("slider_2")).FindElement(By.TagName("a")); Actions builder = new Actions(driver); IAction dragAndDrop = builder.ClickAndHold(Slider).MoveByOffset(0, 0).MoveByOffset(100, 100).Release().Build(); dragAndDrop.Perform(); System.Threading.Thread.Sleep(rnd.Next(1105, 1199)); //купить driver.FindElement(By.XPath("//input[@value='КУПИТЬ']")).Click(); } catch { } } } }
private void MoveJQuerySlider(IWebDriver driver, IWebElement widget, int x, int y) { Actions actions = new Actions(driver); IAction action = actions.ClickAndHold(widget).MoveByOffset(x, y).Release().Build(); action.Perform(); }
public void BigGuru() { if (Convert.ToBoolean(ReadFromFile(SettingsFile, "AdditionalSettingsBox")[28]) == true) { while (true) { try { int currenCry = Convert.ToInt32(driver.FindElement(By.Id("crystal")).FindElement(By.TagName("b")).Text.Replace(".", "")); driver.FindElement(By.LinkText("Гавань")).Click(); Delays(); driver.FindElement(By.XPath("//div[text()='Торговая площадка']")).Click(); Delays(); driver.FindElement(By.XPath(".//option[text()='Билет на большую поляну']")).Click(); while (currenCry > 105) { //двигаем бегунок IWebElement Slider = driver.FindElement(By.CssSelector(".ui-slider-handle.ui-state-default.ui-corner-all")); Actions builder = new Actions(driver); IAction dragAndDrop = builder.ClickAndHold(Slider).MoveByOffset(0, 0).MoveByOffset(40, 40).Release().Build(); dragAndDrop.Perform(); SmallDelays(); driver.FindElement(By.XPath(".//input[@value='КУПИТЬ']")).Click(); Delays(); currenCry = Convert.ToInt32(driver.FindElement(By.Id("crystal")).FindElement(By.TagName("b")).Text.Replace(".", "")); if (Convert.ToInt32(GetResourceValue("i34")[0]) > (Convert.ToInt32(GetResourceValue("i34")[1]) - 15)) { break; } } BigFields(0); } catch { } } } }
public void BySlaves() { int slavesCount = 0; try { slavesCount = Convert.ToInt32(ReadFromFile(SettingsFile, "AdditionalSettingsBox")[8]); int currentSlavesCount = Convert.ToInt32(GetResourceValue("title=" + '\u0022' + "Количество занятых мест на плантации" + '\u0022' + " style")[0]); if (currentSlavesCount <= slavesCount) { driver.FindElement(By.LinkText("Гавань")).Click(); driver.FindElement(By.LinkText("Торговая площадка")).Click(); driver.FindElement(By.XPath(".//option[text()='Раб людишко']")).Click(); //двигаем бегунок IWebElement Slider = driver.FindElement(By.CssSelector(".ui-slider-handle.ui-state-default.ui-corner-all")); Actions builder = new Actions(driver); IAction dragAndDrop = builder.ClickAndHold(Slider).MoveByOffset(0, 0).MoveByOffset(7, 100).Release().Build(); dragAndDrop.Perform(); driver.FindElement(By.XPath(".//input[@value='КУПИТЬ']")).Click(); } } catch { } }
private void PerformDragAndDropWithMouse() { driver.Url = draggableLists; IWebElement dragReporter = driver.FindElement(By.Id("dragging_reports")); IWebElement toDrag = driver.FindElement(By.Id("rightitem-3")); IWebElement dragInto = driver.FindElement(By.Id("sortable1")); Actions actionProvider = new Actions(driver); IAction holdItem = actionProvider.ClickAndHold(toDrag).Build(); IAction moveToSpecificItem = actionProvider.MoveToElement(driver.FindElement(By.Id("leftitem-4"))).Build(); IAction moveToOtherList = actionProvider.MoveToElement(dragInto).Build(); IAction drop = actionProvider.Release(dragInto).Build(); Assert.AreEqual("Nothing happened.", dragReporter.Text); holdItem.Perform(); moveToSpecificItem.Perform(); moveToOtherList.Perform(); Assert.AreEqual("Nothing happened. DragOut", dragReporter.Text); drop.Perform(); }
public static void DragAndDrop(this IWebElement element, IWebElement e1, IWebElement e2) { Actions builder = new Actions(Browser.Driver); builder.ClickAndHold(e1).MoveToElement(e2).Release(e2).Build().Perform(); }