1 | ||||||
Selenium+haskell07.06.2015, 20:51. Показов 1196. Ответов 10
Метки нет (Все метки)
Здравствуйте!
Появилось свободное время. Решил узнать, подойдет ли хаскелл для автотестов. По логике моего автотеста, мне надо на странице http://www.etagi.com/zastr/?wh... ms%5B%5D=1 проверить, то в каждой таблице в колонке "Комнат", написано "1" Вот код, который проходит до момента проверки:
0
|
07.06.2015, 20:51 | |
Ответы с готовыми решениями:
10
Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?) HASKELL Haskell return Условия в Haskell |
Модератор
|
|
08.06.2015, 15:54 | 2 |
Думаю, что нет. Попробовал поставить пакет WebDriver. После танцев с бубном (зависимые пакеты нужно отдельно устанавливать, со специальным ключём - известная бага новых cabal-ов), выяснилось, что сам пакет WebDriver не компилируется, ошибки. Думаю, что даже если у Вас linux, то и в нём так же будет.
При учёте того, что, Вы (мне так кажется по посту, может ошибаюсь) с Haskell раньше дело не имели (например, отсупы важны, их нельзя убирать), то, лучше попробовать клиента на другом языке.
0
|
08.06.2015, 17:04 [ТС] | 3 | ||||||||||||||||||||
Да на самом деле, все получилось. Весь сценарий работает. Только не могу проблему решить с которой и создал топик.
Я получил все таблицы со страницы. Тип - Element, который наследуется от типа Text. Вот первый элемент из списка типа [Elements]:
Вы правы - хаскеле новичок - неделю программирую в свободное от работы время, но про отступы знаю. Почему-то в первом посту криво вставилось. Вот полный листинг автотеста:
Пробовал так:
0
|
202 / 200 / 65
Регистрация: 06.10.2013
Сообщений: 552
|
|
08.06.2015, 18:13 | 4 |
смотрите функции words (разбить строки на слова - получится список слов [String]), (!!) (вытащить энный элемент списка).
функция lines Добавлено через 18 минут Покажите ваш код с threadDelay
1
|
08.06.2015, 18:22 [ТС] | 5 | |||||
Вот с threadDelay
0
|
Модератор
|
||||||||||||||||
08.06.2015, 19:34 | 6 | |||||||||||||||
Так же, как и 30-ой строчке. Т.е. Вашу 53-ую заменяем на
... хотя, в пакете есть свои функции ожидания. Наверно, лучше ими воспользоваться.
Добавлено через 28 минут И пример проверки третьих элементов строк на равенство "1" с предварительным удалением первых двух строк.
0
|
08.06.2015, 19:37 [ТС] | 7 |
Я видел эти функции. Дело в том, что мне надо ожидать java script событие, которое одно число меняет на другое. waitUntil будет ждать пока что-либо не произойдет типа перегарузки страницы или пока не прогрузиться какой-либо элемент, но у меня элемент уже прогрузился, потому этот метод упадет по таймауту. А про waitWhile - не будет ждать, так как элемент уже есть на странице и метод совершенно справедливо полагает, что ждать нечего.
По threadDelay спасибо. Помогло. Добавлено через 2 минуты Спасибо за метод. Я написал свой, основанный на разнице строк и найденных слов == " 1 ", но ваш гораздо лучше
0
|
Curry
|
08.06.2015, 19:48
#8
|
0
|
08.06.2015, 21:12 [ТС] | 9 | ||||||||||||||||||||||||||||||
На swi prolog писал на протяжении шести месяцев.
Возник еще вопрос, который не могу понять: Метод возвращает список элементов:
checkOneTable s:
Или можно что мне прочесть, чтобы так сильно не просаживаться при объявлении типов с которыми функции работают? Если нужен полный код:
0
|
Модератор
|
|||||||||||||||||||||
08.06.2015, 22:10 | 10 | ||||||||||||||||||||
С отступами аккуратнее! if, особенно если будет внутри do, так then и else лучше пусть начинаться с одной колонки, которая правее чем if, а выражения в них ещё правее, и тоже, с одной колонки начинать.
Но, тут удобнее охранное выражение использовать
0
|
09.06.2015, 12:49 [ТС] | 11 |
Спасибо. Понял куда копать. Во всем разобрался.
Добавлено через 40 минут На самом деле, ожидал что будет хуже. А получилось что хаскелл+селениум не сложнее ява+селениум. К сожалению, очень мало методов для работы с js событиями. + довольно сложно получить индетификатор поп-ап окна(я не стал заморачиваться и просто получал список всех окон и брал последнее из списка).
0
|
09.06.2015, 12:49 | |
09.06.2015, 12:49 | |
Помогаю со студенческими работами здесь
11
О Haskell по-человечески Template Haskell Сервер на Haskell Conduit Haskell Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |