Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI entry point for IDE #329

Closed
igrishaev opened this issue Sep 28, 2020 · 4 comments
Closed

CLI entry point for IDE #329

igrishaev opened this issue Sep 28, 2020 · 4 comments

Comments

@igrishaev
Copy link
Collaborator

igrishaev commented Sep 28, 2020

Для прогона ide-файлов пригодится CLI-интерфейс, то есть запуск модуля из командной строки. Например:

lein run -m etaoin.ide ... ключи

или из уберджара

java -cp .../project.jar -m etaoin.ide ... params

Для этого:

  1. Пометить модуль etaoin.ide с помощью (:gen-class)
  2. добавить функцию -main
  3. при помощи https://github.com/clojure/tools.cli сделать разбор & args и запустить прогон.

Ключи:

-f --file=           путь к файлу ide на диске 
-r --resource=     путь к ресурсу
--test-id=         айдишник(и) теста через запятую
--suite-id       аналогично для сьютов
--test-name      имя или имена теста через запятую  
--suite-name     аналогично для сьютов
--base-url= базовый урл теста
-h --help вывод справки (список ключей, поле help конфига для разбора аргументов)
@igrishaev
Copy link
Collaborator Author

Если файла или ресурса нет, выдать понятное сообщение в stderr (не трейс) и завершиться с кодом 1

@igrishaev
Copy link
Collaborator Author

igrishaev commented Sep 28, 2020

Так, теперь не ясно, как передать параметры драйвера (хром, порт, etc). Вижу два варианта:

  1. наколбасить кучу cli- параметров, что не очень;
  2. принимать тип драйвера --driver=chrome|firefox|... и его парметры в виде edn-мапы
--driver=chrome --params='{:port 999 :host "......" :log-err "....."}'

@igrishaev
Copy link
Collaborator Author

Второе нравится больше, видел такое в других либах (один параметр -- жирная мапа в json или edn)

@igrishaev
Copy link
Collaborator Author

igrishaev commented Sep 28, 2020

получается

-d --driver=chrome|firefox|...
-p --params= an EDN map of driver parameters

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant