message: basic support for file upload
diff: import browser from "webextension-polyfill";
  import { recorder } from "./editor";
  +import Debugger from "../debugger";
  export default class ExtCommand {
  constructor(contentWindowId) {
  @@ -227,6 +228,21 @@ export default class ExtCommand {
  return browser.tabs.remove(removingTabId);
  }
  + doType(locator, value) {
  + if (/^\//.test(value)) {
  + const connection = new Debugger(this.currentPlayingTabId);
  + return connection.attach().then(() => (
  + connection.getDocument().then(docNode => (
  + connection.querySelector(locator, docNode.nodeId).then(nodeId => (
  + connection.sendCommand("DOM.setFileInputFiles", { nodeId, files: [value] }).then(connection.detach)
  + ))
  + ))
  + ));
  + } else {
  + return this.sendMessage("type", locator, value);
  + }
  + }
  +
  wait(...properties) {
  if (!properties.length)
  return Promise.reject("No arguments");
  @@ -322,6 +338,7 @@ export function isExtCommand(command) {
  case "selectWindow":
  case "setSpeed":
  case "close":
  + case "type":
  return true;
  default:
  return false;
  