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

Практикум по тест-дизайну 2.0
онлайн, начало 29 ноября
Тестирование мобильных приложений
онлайн, начало 27 ноября
Автоматизатор мобильных приложений
онлайн, начало 27 ноября
Программирование на Python для тестировщиков
онлайн, начало 22 ноября
Фотография

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

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 452 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 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 452 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

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

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

#6 baxatob

baxatob

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

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

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

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


  • 0

#7 barancev

barancev

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

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


Отправлено 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
  • 809 сообщений
  • ФИО:Роман
  • Город:Москва


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

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


  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#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


Первый Онлайн ИНститут Тестировщиков
онлайн
Школа для начинающих тестировщиков
онлайн
Логи как инструмент тестировщика
онлайн
Selenium 2.0: стартовый уровень
онлайн




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

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

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

Яндекс.Метрика
Реклама на портале