code: public void draw(List<Point<Integer, Integer>> points) {
          if (points.isEmpty()) {
              reporter.fail("Drawing object in " + prettyOutput(), "Drew object in " + prettyOutput(),
                      "Unable to draw in " + prettyOutput() + " as no points were supplied");
              return;
          }
          StringBuilder pointString = new StringBuilder();
          String prefix = "";
          for (Point<Integer, Integer> point : points) {
              pointString.append(prefix);
              prefix = " to ";
              pointString.append("<i>").append(point.getX()).append("x").append(point.getY()).append("</i>");
          }
          String action = "Drawing object from " + pointString.toString() + " in " + prettyOutput();
          String expected = prettyOutputStart() + " now has object drawn on it from " + pointString.toString();
          try {
              // wait for element to be present, displayed, and enabled
              if (isNotPresentDisplayedEnabled(action, expected, "Unable to drawn in ")) {
                  return;
              }
              WebElement webElement = getWebElement();
              // do our actions
              Actions builder = new Actions(driver);
              Point<Integer, Integer> firstPoint = points.get(0);
              points.remove(0);
              builder.moveToElement(webElement, firstPoint.getX(), firstPoint.getY()).clickAndHold();
              for (Point<Integer, Integer> point : points) {
                  builder.moveByOffset(point.getX(), point.getY());
              }
              Action drawAction = builder.release().build();
              drawAction.perform();
          } catch (Exception e) {
              log.error(e);
              reporter.fail(action, expected, "Unable to draw in " + prettyOutputEnd() + e.getMessage());
              return;
          }
          reporter.pass(action, expected, "Drew object in " + prettyOutput() + getScreenshot());
      }
docs: Simulates moving the mouse around while the cursor is pressed. Can be
  used for drawing on canvases, or swiping on certain elements. Note, this is not supported in HTMLUNIT
  
  @param points - a list of points to connect. At least one point must be
  provided in the list