Перейти к содержимому

Фотография

Какой ЯП предпочитаете в разработке автотестов на Селениум?

java c# python selenium

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 zharinovkv

zharinovkv

    Новый участник

  • Members
  • Pip
  • 16 сообщений

Отправлено 21 февраля 2017 - 08:01


Решаем, на чем делать автотесты на Селениум. Смотрел статистику на Гитхабе и Стэковерфлоу,

вижу так ситуацию:

  1. В пользу Java работает то, что сам Селениум написан на джава, и самое большое сообщество.
  2. В пользу Python - большое сообщество и то, что язык не связан с мейджорами.
  3. В пользу C# - хорошие перспективы развития языка. Но у последнего есть и издержки: необходимость приобретения лицензий.
  • прочие яп сильно уступают и по размерам сообщества, и по кол-ву реализованных проектов.

 

Условия такие: автотесты сайтов, запускать проекты скорее всего будем на локальном компьютере, но в перспективе возможно и на сервере.

С какими проблемами вы сталкивались, как их решали?


  • 0

#2 zharinovkv

zharinovkv

    Новый участник

  • Members
  • Pip
  • 16 сообщений

Отправлено 21 февраля 2017 - 08:02

только не пишите плиз: "писать на языке, который знаешь" - еже понятно, что не на том. который не знаешь.


  • 0

#3 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 21 февраля 2017 - 08:31

1. На чем написаны ваши проекты? ЯП, БД, стеки технологий и пр.
2. На чем собираются ваши проекты? Дженкинс, Тимсити и пр?
3. Какие ОС используются?
  • 0

#4 zharinovkv

zharinovkv

    Новый участник

  • Members
  • Pip
  • 16 сообщений

Отправлено 21 февраля 2017 - 08:42

1. На чем написаны ваши проекты? ЯП, БД, стеки технологий и пр.
2. На чем собираются ваши проекты? Дженкинс, Тимсити и пр?
3. Какие ОС используются?

 

 

обычные веб-сайты на PHP, Битрикс преимущественно.

нет, Тимсити или Дженкинс не используем - не было необходимости пока.


  • 0

#5 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 21 февраля 2017 - 08:55

Ну, видимо, тогда лучше брать Питон, он наиболее "близок" к пхп в плане инфраструктуры.
  • 0

#6 baxatob

baxatob

    Опытный участник

  • Members
  • PipPipPipPip
  • 258 сообщений
  • ФИО:Юрий
  • Город:Riga

Отправлено 21 февраля 2017 - 09:07

+1 за Питон - простой и очень выразительный


  • 0

#7 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 21 февраля 2017 - 12:37

Selenium имеет пять официально поддерживаемых реализаций -- на Java, C#, Python, Ruby, JavaScript, а также есть реализации на других языках (включая упомянутый PHP), но за них разработчики Selenium ответственности не несут.

 

Если говорить про удобство использования того или иного языка именно применительно к работе с Selenium, я бы отметил такие плюсы и минусы:

 

Java

------

 

+ Да, самое большое сообщество, и язык вообще один из наиболее популярных, и много тестировщиков-селениумоводов использует именно этот язык. Причина, видимо, в том, что в былые времена реализация на Java немного обгоняла остальные, в ней новые возможности появлялись раньше, чем в других языках, и люди к этому привыкли. Сейчас между реализациями на разных языках достигнут практически 100%-ный паритет, но привычку уже не изменить.

 

- Язык не всем нравится, тяжеловесный... Впрочем, вовсе не обязательно писать именно на Java, можно использовать Groovy или Scala, и  это тоже будет считаться, что используется "реализация Selenium на Java".

 

(Тот факт, что Selenium Server написан на Java я бы не стал относить ни к плюсам, ни к минусам, потому что неважно, на чём написан сервер)

 

C#

---

 

+ Язык приятнее, чем Java, и развивается побыстрее, но отрыв не такой уж заметный.

 

- Привязка к операционной системе Windows. Но никаких дополнительных лицензионных или финансовых ограничений нет -- бесплатной версии Visual Studio Community вполне достаточно для разработки тестов.

 

Python

---------

 

+ Отличный язык, быстро учить, удобно использовать, есть прекрасная бесплатная среда разработки PyCharm.

 

- Общие недостатки для всех языков такого типа -- меньше контроля на этапе компиляции (потому что нет его, этого этапа), все проблемы ловятся в рантайме.

 

Ruby

------

Пик популярности этого языка прошёл, на нём почти никто не пишет тесты...

 

JavaScript

-------------

 

А у этого языка популярность, наоборот, необъяснимым образом растёт :)

 

+ Главным мотиватором использования JS является необходимость тестирования Angular-приложений, потому что наиболее популярным инструментом в этой области является Protractor, он "законодатель мод" (хотя ничто не мешало реализовать его на другом языке, просто так получилось).

 

- Промисы бесят, код выглядит переусложнённым и отлаживаться очень сложно. Тесты обычно представляют собой синхронные сценарии, последовательности действий и проверок, поэтому вся асинхронная мощь JS только мешает. Создаются обёртки, которые предлагают "псевдосинхронный API", такие как webdriverio или nightwatch, они частично снимают остроту проблемы. Впрочем, некоторых промисы не бесят, а наборот, прут, и тогда минус превращается в плюс. Но я таких людей встречал крайне мало :)


  • 3
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 mocuishla2008

mocuishla2008

    Постоянный участник

  • Members
  • PipPipPip
  • 164 сообщений
  • ФИО:Наталья Шубникова


Отправлено 21 февраля 2017 - 15:09

Вопрос интересный, и многих заинтересуют ответы, поэтому опубликовали ссылку на эту тему в группе в Facebook Selenium RU


  • 0

#9 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 21 февраля 2017 - 15:30

Лично у меня такого мнения о C# не сложилось и были кое-какие проблемы, которых нет на Java, так что перешел с C# на Java. Phyton даже не рассматривал.


  • 0

#10 penknife

penknife

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 22 февраля 2017 - 11:02

Насчет что никто на руби не пишет не согласен, натыкался на кучу вакансий для авто тестирования, где требовался руби.  Там есть замечательный врапер для селениума  - капибара, плюс калабаш для тестирования приложений на мобильных устройствах. Из всех вышеперечисленных языков выбрал бы или Джаву или Руби. Джава из за широкого комьюнити, а Руби за легкость.


  • 0

#11 baxatob

baxatob

    Опытный участник

  • Members
  • PipPipPipPip
  • 258 сообщений
  • ФИО:Юрий
  • Город:Riga

Отправлено 22 февраля 2017 - 14:17

Вполне достоверный срез можно получить на сайте indeed.com:

 

Test Automation Java - 6976 jobs

Test Automation Python - 5212

Test Automation C# - 2786 

Test Automation Ruby - 2112 (в основном Руби просто упомянут как "будет плюсом, если вы его знаете")

 

Это для США, но вполне экстраполируется на весь мир.

 

Если не знаете вообще никакого языка, то начинать с Руби как минимум недальновидно.


  • 0



Темы с аналогичным тегами java c#, python, selenium

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных