 (ns osmium.core-test
-  (:require [clojure.test :refer :all]
+  (:require [com.stuartsierra.component :as component]
+            [clojure.test :refer :all]
             [clj-webdriver.taxi :as taxi]
             [osmium.core :as o]
             [osmium.user :as user]

             (conj actions action')
             (recur (dec n) (conj actions action'))))
         actions)))))

;; ======================================================================
;; Tests


(defmulti eval! (fn [driver xs] (type (first xs))))

(defmethod eval! nil [_ _])

(defmethod eval! clojure.lang.PersistentVector
  [driver xs]
  (doseq [x xs]
    (eval! driver x)))

(defonce last-exception (atom nil))

(defmethod eval! clojure.lang.Keyword
  [driver x]
  (try
    (eval!* driver x)
    (catch org.openqa.selenium.NoSuchElementException e
      (reset! last-exception e)
      (throw (Exception. (str "Couldn't find element for:" (pr-str x)))))))

(defn walk-n-steps!
  "Generates an action and evals it until n actions or no possible actions,
