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, они частично снимают остроту проблемы. Впрочем, некоторых промисы не бесят, а наборот, прут, и тогда минус превращается в плюс. Но я таких людей встречал крайне мало :)