This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-16
Channels
- # admin-announcements (2)
- # bangalore-clj (3)
- # beginners (15)
- # boot (303)
- # carry (18)
- # cider (7)
- # cljs-dev (222)
- # cljsrn (103)
- # clojure (196)
- # clojure-czech (2)
- # clojure-russia (69)
- # clojure-spec (21)
- # clojure-uk (48)
- # clojurescript (68)
- # cursive (18)
- # datomic (185)
- # events (1)
- # hoplon (2)
- # lambdaisland (1)
- # leiningen (1)
- # mount (10)
- # off-topic (1)
- # om (14)
- # onyx (154)
- # parinfer (1)
- # pedestal (3)
- # planck (5)
- # protorepl (9)
- # re-frame (17)
- # reagent (27)
- # ring (2)
- # specter (58)
- # test-check (1)
- # testing (7)
- # untangled (59)
- # yada (35)
я вот как то просто игрался, пробовал на клоуже какие то примеры веб тестов пописать…. не пошло… мне кажется клоуже такой язык который способствует вдумчиво писать код… именно поэтому в клоуже не так популярны IDE а тесты должны быть простыми по максимуму, там в контексте реализации - думать нечего, никакой алгоритмичной логики… И поэтому, когда нужно колбасить по быстрому тесты - мне реально помогает autocompletion в IDE, который на пару с ООП стилем очень удобный… с таким ООП + IDE подходом очень удобно локализировать сложные элементы, типа:
$$(“#todo-list li”).findBy(text(“do something”)).hover().find(“.destroy”).click()
это код с использованием селенидовского $$ - который по селектору ищет коллекцию элементов
в этом куске кода мы находим все задачи в списке, потом выбираем из него задачу с нужным текстом, наводим на нее мышку что бы появился крестик удаления, находим внутри задачи эту кнопку-крест-удаления и кликаем по ней…
в клоуже что то такое выглядело бы как то так:
(-> (Selenide/$$ “#todo-list li”)
(.findBy (Condition/text “do something”))
(.hover)
(.find “.destroy”)
(.click))
Я как то поигрался, и не получил того удовольствия которое я получаю в Intellij Idea + Java + Selenide
Мне показалось что в этом случае “класический ООП стиль" удобней…
хотя может просто стоит привыкнуть...и вот я думаю… что мне таки не хватает автокомплишена в кложуре, мне нравиться разбираться с библиотеками в процессе написания кода, а не сначала чтения документации а потом написания кода с постоянными возвращениями в доку... прикольно когда можно на ходу узнавать что там за функции, проваливаться в сорсы, ковырятся в доках… я так понимаю нормального умного автокомплишена нигде для кложуры нет? или что то есть где то?
@yashaka: https://cursive-ide.com/ тут тебе и автокомплишен и другие вкусные штуки
@yashaka: clojure REPL + selenium не потрогал? не нужно ждать вечность что бы проверить свой маленький фикс к большому сценарию. не знаю как после этой связки можно вернуться к написанию селениум тестов на чем то другом
@mkaschenko, @chort409 спасибо, как то нужно попробовать, хотя может с целью посмотреть как у других, и накрутить что то похожее в лайт тейбле)
@seryh: вот нужно попробовать наверное… пока сложно представить насколько бы мне это помогло, пока такое чувство что и не нужно особо было… в руби тоже можно “реплить”, я когда на нем такие тесты писал не сильно пользовался… наверное без сравнения сложно представить… нужно пробовать…лайттейбл то я люблю за репл как раз…
репл надо прочувствовать - у меня первые пол года тоже было: Фе, в ноде/питоне/руби/даже_с# есть репл и чо. А потом проникся. И особенно для силениум тестов - когда у тебя большой селектор отвалился, а в репле ты можешь по быстрому прогнать его по кусочками эта по мне мега круто
@artemyarulin: все дело в волшебных пузырьках - i.e. чистые функции. 🙂
@comerc: а чо там такого в LT про вывод ошибок?
а что там читать, подключаешь clj-webdriver, пихаешь в атом driver, и юзаешь его через репл как хочешь, как свой родной браузер. переодически накидывая в код отлаженные тесты
у меня еще по профайлерам селениум и фантом. отладка в селениуме, потом компилится в jar с фантомом. и можно запускать на серваке без иксов
@artemyarulin: ^^ разворачивает блок со стеком ошибки прямо под строкой. в Atom нужно смотреть в соседнее окошко с консолью REPL. и в вашем емаксе такая же фигня, насколько я понял по видеороликам.
ога, ошибки обычно в репле отдельно. Тут круче согласен
@artemyarulin: из-за этой фишки я прощаю в LightTable многое! тоскую за Atom.
попытка - не пытка 🙂 https://github.com/jasongilman/proto-repl/issues/146
а копировать из этого сообщения об ошибке можно? в емаксе открывается новый буфер со стектрейсом, курсор сразу там, можно нажать q и закрыть и вернуться туда где был
@andfadeev: копировать можно по Ctrl+C, если выделить мышкой. 🙂 и еще там есть контекстное меню "copy exception". а чтобы закрыть сообщение с ошибкой, можно в конце строки нажать backspace, как бы стирая закрывающую скобочку, но она опять появится из-за parinfer, а курсор окажется перед ней; ну или на новой строчке если открыть скобочку, то сообщение об ошибке тоже пропадет.
в емаксе так-же по сути
в атоме еще нашел вкусненькое: можно развернуть результат (полезно на вложенных структурах), все закрывающие скобочки серые!
@artemyarulin: ну в принципе на node.js у меня тоже всегда консоль была открыта для отслеживания ошибок. только на отдельном мониторе - это минус хоткеи.
@artemyarulin: в емаксе ошибки в отдельном буфере же, а не только в репле
я его вырубил чтоб не выскакивал почем зря 🙂
@andfadeev: 1) а зачем ошибки в отдельном буфере? 2) несбалансированная скобка - это где?
1 в отдельном буфере чтоб с текстом ошибки можно было полноценно работать + там есть фича с фильтрацией стектрейса 2 на последней гифке в проторепле
Atom для меня умер окончательно 🙂 https://github.com/jasongilman/proto-repl/issues/146#issuecomment-240078214
@andfadeev: 1) видимо нужно попробовать, чтобы понять, как это удобно
@andfadeev: а запиши коротенькое видео с демонстрацией, пажаласта! 🙂
а вот дока по этому минибуферу http://cider.readthedocs.io/en/latest/navigating_stacktraces/
а вот что я нашёл - Spacemacs с человеческим управлением из ErgoEmacs https://github.com/syl20bnr/spacemacs/issues/1298
возвращаясь к тестированию, а насколько проблемно селениумом тестировать реагентовские приложения?
есть различия если драйвер фантом или chrome ?
Ребята, если тут кто в Bay Area, CA и хочет пописать в стартапе фронтэнд на ClojureScript/Reagent/Re-frame - черканите в личку
Голосуйте за форум, пажаласта! https://github.com/clojure/clojurescript-site/issues/14