Я что-то уже изрядно устал пытаться это настроить. Хоть у кого-нибудь получалось?
Суть в том, что есть виртуалка под CentOS 7, есть firefox, Xvfb и все-все-все. При этом непонятно, как в принципе запустить тест на каком-нибудь perl или php под это всё хозяйство.
Настраивал так: http://chandrewz.github.io/blog/selenium-on-centos
Код на Perl такой:
use strict;
use warnings;
use 5.16.1;
use utf8;
use WWW::Selenium;
my $sel = WWW::Selenium->new( host => "localhost",
port => 4444,
browser => "*firefox",
browser_url => "http://intranet-site.com",
);
$sel->start;
$sel->open("http://intranet-site.com");
$sel->type("q", "hello world");
$sel->click("btnG");
$sel->wait_for_page_to_load(5000);
print $sel->get_title;
$sel->stop;
В результате выполнения теста получаю HTML-страницу, говорящую мне о том, что «нечто пошло не так» - без малейших уточнений на тему того, что именно не так.
Захожу на http://my-server:4444/wd/hub , пытаюсь «Create session» -> (выбор браузера) Firefox
selenim-server-3.0.1 в консоли сообщает мне «красивыми» exception'ами, что geckodriver не установлен и даже даёт ссылку на github, откуда это чудо ставить.
Теперь проблема: во-первых, в статье http://chandrewz.github.io/blog/selenium-on-centos ничего про какой-то geckodriver не написано. Во-вторых я распаковываю geckodriver, захожу в src/ - а там что-то совершенно непонятное, и как это использовать - одним разработчикам известно наверное (ну, может, ещё здесь кто в курсе).
Я в недоумении... Готов писать не обязательно на Perl'е, можно на PHP, суть не в этом. Суть в том, что из документации по Selenium вообще непонятно, «how to get started» в моём случае. Очень много буков, очень много совершенно меня не касающегося текста - и нет простого мануала, как сделать так, чтобы это заработало не на Windows и при этом клиентский код был не на Java :(
Жесть просто. Помогите разобраться, пожалуйста!
P.S. Ошибка в виде портянки из HTML при запуске моего куска кода:
Error requesting http://localhost:4444/selenium-server/driver/:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="/assets/displayhelpservlet.css" media="all"/>
<script src="/assets/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="/assets/displayhelpservlet.js" type="text/javascript"></script>
<script type="text/javascript">
var json = Object.freeze('{"version":"3.0.1","type":"Standalone","consoleLink":"/wd/hub"}');
</script>
</head>
<body>
<div id="content">
<div id="help-heading">
<h1><span id="logo"></span></h1>
<h2>Selenium <span class="se-type"></span> v.<span class="se-version"></span></h2>
</div>
<div id="content-body">
<p>
Whoops! The URL specified routes to this help page.
</p>
<p>
For more information about Selenium <span class="se-type"></span> please see the
<a class="se-docs">docs</a> and/or visit the <a class="se-wiki">wiki</a>.
<span id="console-item">
Or perhaps you are looking for the Selenium <span class="se-type"></span> <a class="se-console">console</a>.
</span>
</p>
<p>
Happy Testing!
</p>
</div>
<div>
<footer id="help-footer">
Selenium is made possible through the efforts of our open source community, contributions from
these <a href="https://github.com/SeleniumHQ/selenium/blob/master/AUTHORS">people</a>, and our
<a href="http://www.seleniumhq.org/sponsors/">sponsors</a>.
</footer>
</div>
</div>
</body>
</html>