vitaly
мне нужен парсер гугла
vitaly
😂
Snusmumriken
мне нужен парсер гугла
Это называется браузер, дурашка : )
vitaly
вот это приложение - и бизнес
Snusmumriken
Ты, наверное, не в курсе, но эти схемки можно исполнять. А иногда в них нужна какая-то немного хитрая логика.
Эти схемки может быть можно исполнять, но уж очень схематично. Типа визуализировать: "сейчас ты идёшь в магазин, а когда придёшь - будешь варить суп", чисто перебор нод.
Snusmumriken
Есть серьёзные визуальные языки (типа LabView, например), но там всё равно всё "низкоуровнево" описывается, типа "запихнуть в такой-то массив циферки, взятые со входа датчика, и направить на такую-то фиговину".
Snusmumriken
Не совсем так. Они могут ставить тебе задачи и ждать, пока ты ткнёшь кнопку на форме.
А, ну такое - ещё куда ни шло. Я подумал про написание приложения по схемке бизнес-плану.
Нет, есть движки, позволяющие тебе прописать код для элементов схемы.
Egor
nginx юзает, редис, монго и тд
Saphire
На микроконтроллерах очень неплохо работает
Kirill
Пару лет техкоманды и логику в СЧПУ фигачу.
vvzvlad
На микроконтроллерах очень неплохо работает
На микроконтроллерах или на микропроцессорах?
vvzvlad
А то я знаю только одно широкое применение луа на мк — nodemcu
mva
!!!
Saphire
Странный вопрос.
vvzvlad
Чем же?
mva
Чем же?
тем что ты придрался к микроконтроллерам, но тут же подтвердил довод оппонента
vvzvlad
Чем подтвердил-то? Тем что для китайского чипа кто-то запилил интерпретатор луа? Так себе подтверждение.
vvzvlad
И даже если так — луа на мк это очень узкая область применения. Начинаешь туда лезть, понимаешь, что для сколько-нибудь сложных применений легче было бы на си переписать.
vvzvlad
А вот на микропроцессорах, где есть линукс, уже совсем другое дело
mva
отнюдь
mva
если что-то легче переписать на С в одном случае то и в другом тоже
mva
и, к слову, запускать Lua вместо ОС можно и на том, что ты называешь микропроцессорами
mva
и тоже иметь от этого профиты
mva
а ещё, к слову, мы не коснулись такого пласта железа как ARM-процессоры M-линейки
Lucky
не балуйтесь там.
Lucky
пишите на форте, как положено
vvzvlad
если что-то легче переписать на С в одном случае то и в другом тоже
С памятью под кучу в пару мегабайт разработка начинает напоминать j2me, только ещё хуже. Плюс, скорость работы на обычных для мк тактовых до сотни мгц не позволяет из юзерспейса писать даже что-нибудь вроде генерации RC-5. В итоге: 1)Все сколько-нибудь быстрое и сложное выносятся в драйвера на си, которые надо все равно писать(и ещё вникать в тонкости общения их с луа) 2)Логика теоретически пишется на луа, да. Но в странном стиле — почти с ручным управлении памятью: с данными поработали, переменной nil сделали, GC позвали. Сложный модуль загрузили, он поработал, его выгрузили, GC позвали. Иначе следующий модуль не загрузится. Вот и получается, что де-юре ты пишешь на луа, а де-факто на смеси си и луа, и на луа в несколько несвойственном стиле ещё к тому же.
vvzvlad
и, к слову, запускать Lua вместо ОС можно и на том, что ты называешь микропроцессорами
А я микропроцессоры и не обсуждаю. Там памяти больше, ресурсов больше, и луа там очень хорошая альтернатива более тяжеловесным языкам, типа питона/js.
vvzvlad
а ещё, к слову, мы не коснулись такого пласта железа как ARM-процессоры M-линейки
А чего их касаться отдельно? Обычные мк. Чем они глобально отличаются от esp8266?
Lucky
Начните уже кидаться книжками и статьями на хабре
Maxim
Коллеги, кто нибудь сталкивался с selenoid + luaselenium ?
Snusmumriken
Слегка
Snusmumriken
Ну типа ковырял года три назад, когда пытался устроится тестировщиком. Оно даже у меня завелось но не пригодилось: там нужны были только ручные обезьянки, которые быстро руками тыкают интерфейсы.
Слава
А сколько платят тестировщикам?
Maxim
Ну типа ковырял года три назад, когда пытался устроится тестировщиком. Оно даже у меня завелось но не пригодилось: там нужны были только ручные обезьянки, которые быстро руками тыкают интерфейсы.
Просто я заметил как у нашего тестировщика пропала искра в глазах, мы ему обещали интересные задачи, классный опыт по автоматизации, перспективы профессионального роста, а в итоге сидит ручками тыкает как в каменном веке. В общем, что бы не потерять бойца, было принято решение внедрить selenoid и "научить писать автоматические тесты которые работают очень быстро!" С первой частью "развернуть selenoid" вопросов не возникло, а вот дальше забуксовал, потому что впервые с этим сталкиваюсь и не понимаю принципа запуска теста, как подсказывает google - тесты можно писать почти на любом языке у которого есть библиотека для работы с webDriver, а дальше что то на непонятном языке. Может знаешь где можно почитать о том как именно устроен процесс выполнения теста? Типа для работы нужны такие то порты и т.д.
Maxim
А сколько платят тестировщикам?
На нашем проекте от 600 до 800 убитых енотов
Слава
Каков курс убитого енота
vitaly
юсдт?
Snusmumriken
Просто я заметил как у нашего тестировщика пропала искра в глазах, мы ему обещали интересные задачи, классный опыт по автоматизации, перспективы профессионального роста, а в итоге сидит ручками тыкает как в каменном веке. В общем, что бы не потерять бойца, было принято решение внедрить selenoid и "научить писать автоматические тесты которые работают очень быстро!" С первой частью "развернуть selenoid" вопросов не возникло, а вот дальше забуксовал, потому что впервые с этим сталкиваюсь и не понимаю принципа запуска теста, как подсказывает google - тесты можно писать почти на любом языке у которого есть библиотека для работы с webDriver, а дальше что то на непонятном языке. Может знаешь где можно почитать о том как именно устроен процесс выполнения теста? Типа для работы нужны такие то порты и т.д.
Вот примерно по этим же причинам меня нафиг выкинули с завода: я хреново предназначен к ручному тыканью, а консалтинговой конторе надо быстро-быстро заверять изменения, пока солнце ещё высоко. Передо мной даже извинился тот кто принимал меня, мол "сорян, я обещал автотестирование, а его не было (("
Snusmumriken
Ща расскажу что это вообще такое.
Maxim
Вот примерно по этим же причинам меня нафиг выкинули с завода: я хреново предназначен к ручному тыканью, а консалтинговой конторе надо быстро-быстро заверять изменения, пока солнце ещё высоко. Передо мной даже извинился тот кто принимал меня, мол "сорян, я обещал автотестирование, а его не было (("
Как показывает мой опыт, это примерно 10 часов знакомства с selenium, то для интеграции selenium и запуска первого автоматического теста необходимо примерно 10 минут, зависит от мещности сервера где разворачивается и запускается selenium
Maxim
Ща расскажу что это вообще такое.
Буду крайне тебе признателен если поможешь снять шоры, а то переживаю что потеряю бойца
Snusmumriken
Ненене, селениум - это просто драйвер браузера. Ты такой изнутри скрипта запускаешь браузер, переходишь им на нужную страничку и спрашиваешь его, какие поля какой текст/стиль имеют и т.п. Там же можно вызывать всякие ивенты типа "тыканья на кнопки" и "заполнения полей", смотреть как меняется хтмл и т.п. Ничего "интегрировать" не нужно, мы просто рулим браузером через скрипты.
vitaly
ботов в нашем бизе пишут - обманывать биржи
vitaly
или партнеров
vitaly
через силениум
Maxim
Ненене, селениум - это просто драйвер браузера. Ты такой изнутри скрипта запускаешь браузер, переходишь им на нужную страничку и спрашиваешь его, какие поля какой текст/стиль имеют и т.п. Там же можно вызывать всякие ивенты типа "тыканья на кнопки" и "заполнения полей", смотреть как меняется хтмл и т.п. Ничего "интегрировать" не нужно, мы просто рулим браузером через скрипты.
Изнутри скрипта запускается браузер с помощью библиотеки для работы с WebDriver? Типа создаю новый объект WebDriver с параметрами для запуска браузера и далее используя методы этого объекта открываю странички, заполняю поля, получаю ответы, проверяю данные в ответе и если все Ок то закрываю соединение с браузером путем WebDriver::close() какого нибудь такого метода, верно?
Snusmumriken
Вот-вот
Snusmumriken
Можно ещё извращаться с headless chrome/mozilla, но это сложнее, и ты там просто получаешь полную страничку страничку и анализируешь её текст. Зато никаких драйверов не нужно: командная строка (os.execute/io.popen)
Maxim
Вот-вот
А по какому протоколу происходит общение WebDriver в скрипте с браузером? Это websocket ? Или tcp ?
Snusmumriken
Я внутренности не копал, но не исключено что хром открывается тем же os.execute, и туда типа принудительно прописывается набор скриптов для подсоединения к серверу, который открывается из скрипта, а дальше типа клиент на браузере принимает команды по той же tcp/http. Это моё предположение, "как бы делал я сам".
Maxim
@Snusmumriken нашел вот такую штуку http://luaselenium.sourceforge.net/examples.html и здесь пример приведен
Maxim
self.sele = selenium.new ('*iehta','http://www.google.com','127.0.0.1','4444','3000')
Maxim
Это типа мы подключились к Selenium серверу на 4444 порт я так подозреваю
Maxim
А вот что за 3000 порт и порт ли это вообще?)))
Snusmumriken
Мб таймаут в милисекундах )) Надо загуглить.
Snusmumriken
Карочи, нужна нормальная дока.
Maxim
И ещё первый параметр какой то "загадочный" : "*iehta"
Maxim
http://luaselenium.sourceforge.net/docs/index.html Вот буду её сейчас курить усердно
Snusmumriken
*iehta - это значит использовать internet explorer.
Snusmumriken
Карочи, тут видать разворачивается сам java-сервер селениума, к которому мы подрубаемся по localhost:4444 и делаем ему хттп-запросы с командами "что ему делать, как издеваться над браузером на этот раз". https://sourceforge.net/p/luaselenium/code/8/tree/trunk/lib/selenium.lua#l15 Я юзал что-то похожее без сервера селениума, когда луа-скриптики сами работают "сервером селениума", насилуя конкретный браузер (хром). Надо загуглить.
Maxim
Я так понял что selenium запускает браузер и выполняет в нем сценарий теста и пока сценарий не закончится другой тест не может использовать тот же браузер, верно?
Snusmumriken
Используем браузер в другом окне. Есть подозрение что параллельно - можно (если сервер селениума тянет). В моём "бесселениумном, завёрнутом на себя" варианте - открывалась куча браузеров хрома, и каждый делал что-то своё, при запуске параллельных тестов.
Maxim
Используем браузер в другом окне. Есть подозрение что параллельно - можно (если сервер селениума тянет). В моём "бесселениумном, завёрнутом на себя" варианте - открывалась куча браузеров хрома, и каждый делал что-то своё, при запуске параллельных тестов.
Теперь картинка становится гораздо чётче))) Наверное именно об этом и шумят в этих интернетах с претензиями к selenium и его переключениями между запущенными браузерами, типа параллельный запуск может иметь неожиданное поведение с фокусами открытых окон
Maxim
Используем браузер в другом окне. Есть подозрение что параллельно - можно (если сервер селениума тянет). В моём "бесселениумном, завёрнутом на себя" варианте - открывалась куча браузеров хрома, и каждый делал что-то своё, при запуске параллельных тестов.
И наверное это одна из тех проблем которую решили авторы selenoid, там браузер запускается в отдельном контейнере и никак не пересекается с другими браузерами и имеет собственную конфигурацию
Maxim
Selenoid представляет возможность состряпать curl запрос и методом POST передать JSON с параметрами для запуска браузера, а в ответ он возвращает JSON с параметрами запущенного браузера, осталось понять как этот JSON передавать через luaselenium )
Snusmumriken
А сколько платят тестировщикам?
У меня зп была около 35к по мск. Ну, на себя и родственников уходило вообще всё. И с учётом того что после этого сразу взяли луа-кодером на полтинник - платят мало. Тем кто пишет сценарии тестирования - платят норм, но их и нужно гораздо меньше чем ручных обезьянок.
Слава
Луа-кодер на 50 к в месяц - это мало?
Snusmumriken
Ну, как стартовая для вчерашнего студента - норм, сейчас сотка.
Слава
Хорошо
Слава
Я тоже хочу работать