Я использую clj-webdriver для тестирования веб-приложения Clojurescript на основе Selenium. Иногда в самом приложении есть что-то, с чем я хочу возиться во время выполнения теста. Я вижу, что в clj-webdriver есть что-то под названием (execute-script js args)
, которое берет строку кода Javascript и запускает ее в текущем тестовом браузере. Я проверил это, и, похоже, это работает. Однако я хотел бы передать код clojurescript в execute-script
. Мне нужно что-то, что скомпилирует мою форму Clojure в код Clojurescript.
Я вижу следующий вопрос такого рода. В нем говорится, что нужно использовать функцию js/emit из муфты. Я искал сцепление и нашел, что оно упоминается только в (представлении) в cljs-views.clj Я попытался сделать следующее в реплике:
user> (use 'com.ashafa.clutch.cljs-views)
nil
user> view
<core$comp$fn__4034 clojure.core$comp$fn__4034@ebd3f80>
user> js/emit
CompilerException java.lang.RuntimeException: No such namespace: js, #compiling (NO_SOURCE_PATH:1)
user>
Это не так уж удивительно, как js может быть в обычном имени clojure? Но как мне использовать эту (или любую другую) систему для генерации кода Clojurescript (javascript), который я могу передать execute-script
?