zoukankan      html  css  js  c++  java
  • [Selenium] 操作 HTML5 中的 Canvas 绘制图形

    测试 http://literallycanvas.com/

    以 Chrome Driver 为例阐述,通过 Actions 在 Canvas 上绘制一个封闭图形。对于 Canvas 上的操作,推荐 Chrome Driver 或 Firefox Driver

    示例:

    package com.learningselenium.html5;

    import org.junit.After;

    import org.junit.Before;

    import org.junit.Test;

    import org.openqa.selenium.By;

    import org.openqa.selenium.WebDriver;

    import org.openqa.selenium.WebElement;

    import org.openqa.selenium.chrome.ChromeDriver;

    import org.openqa.selenium.interactions.Actions;

    public class testHTML5Canvas{

      WebDriver driver;

      @Before

      public void setUp() throws Exception{

        System.setProperty("webdriver.chrome.driver", "/Selenium 2/selenium/chromedriver");

        driver = new ChromeDriver();

        driver.get("http://literallycanvas.com/");

      }

      @Test

      public void testHTML5Canvas() throws Exception{

        //元素不存在,有问题 “div.literally.index div.lc-drawing canvas”

        WebElement canvas = driver.findElement(By.xpath("//*[@id = "about"]/div[1]/canvas"));   

        Actions drawing = new Action(driver);

        //绘制图形

        driver.clickAndHold(canvas).moveByOffset(10,50).moveByOffset(50,10).moveByOffset(-10,-50).moveByOffset(-50,-10).release().perform();

      }

      @After

      public void tearDown() throws Exception{

        driver.quit();

      }

    }

  • 相关阅读:
    Shell 字符串处理
    Shell 变量替换及测试
    ARTS(一)
    instanceof & isAssignableFrom的异同
    mysql 分组排序取最值
    guava-retrying 源码解析(阻塞策略详解)
    guava-retrying 源码解析(时间限制策略)
    guava-retrying 源码解析(停止策略详解)
    guava-retrying 源码解析(等待策略详解)
    guava-retrying 源码解析(导入项目)
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4554651.html
Copyright © 2011-2022 走看看