Браузер FF
selenium-server-standalone-2.28.0.jar
@javascript @twitter
Сценарий: Пользователь создает новый твит
Допустим открыта страница "https://twitter.com/"
И заполняю поле "signin-email" значением "user"
И заполняю поле "signin-password" значением "password"
Если кликаю на элемент, найденный по xpath "//button[@class='submit btn primary-btn flex-table-btn js-submit']"
То вижу текст "View my profile page"
И кликаю на элемент, найденный по xpath "//button[@id='global-new-tweet-button']"
Если создаю новый твит с текстом "test"
То вижу текст "test"
Только после нескольких запусков этого теста возникла не большая проблема "твиттер" попросил доказать что Вы не робот. В ручную авторизировался с импользованием captcha. Затем снова запустил тест и все ок!
/** * @Given /^открыта страница "([^"]*)"$/ */ public function openedPage($url) { $this->wait(); $this->visit($url); } public function wait($time=1000) { $this->getSession()->wait($time); } /** * @Given /^заполняю поле "([^"]*)" значением "([^"]*)"$/ */ public function zapolniaiuPolieZnachieniiem($field, $value) { $this->fillField($field, $value); } /** * @Given /^кликаю на элемент, найденный по xpath "([^"]*)"$/ */ public function pressXpathElement($xpath) { $this->wait(); $this->clickFindedPageElement($xpath); } public function clickFindedPageElement($keySearch) { $element = $this->find('xpath', $keySearch); if ($element){ $element->click(); } else { throw new Exception("Элемент, xpath которого равен " . $keySearch . " - не найден"); } } /** * @Given /^создаю новый твит с текстом "([^"]*)"$/ */ public function createNewTwit($text) { $this->wait(2000); $element = $this->find('xpath', "//div[@id='tweet-box-global']"); if ($element){ $element->click(); $this->wait(); $element->setValue($text); $this->clickFindedPageElement("//*[@id='global-tweet-dialog']/div[2]/div/div[2]/form/div[2]/div[2]/button"); } $this->wait(3000); } /** * @Then /^вижу текст "([^"]*)"$/ */ public function seeText($text) { $this->wait(); $this->assertPageContainsText($text); }