Как нажать на элементу с помощью селена, беата и норки?

Я новичок в тестировании селена. Я пытаюсь использовать селен2, беэт и норку. В качестве браузера я использую Firefox (v52.0.1). У меня проблема, когда я пытаюсь проверить вики-поиск (пример от behat docs). Проблема в том, когда я пытаюсь нажать на любой элемент на странице. Тогда вывод консоли будет:

And I press "searchButton"                                 # FeatureContext::pressButton()
mouseMoveTo
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'dominik-Lenovo-G580', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-66-generic', java.version: '1.8.0_131'
Driver info: driver.version: RemoteWebDriver (WebDriver\Exception\UnknownCommand)

Ниже моя конфигурация и некоторый код.

composer.json

{
"require": {
"behat/behat": "~3.0.5",
"behat/mink-extension": "^2.2",
"behat/mink-goutte-driver": "^1.2",
"behat/mink-selenium2-driver": "~1.2"},
"config": {
"bin-dir": "bin/"}
}

behat.yml

default:
extensions:
Behat\MinkExtension:
base_url: http://en.wikipedia.org
default_session: selenium2
goutte: ~
selenium2: ~

search.feature

Feature: Search
In order to see a word definition
As a website user
I need to be able to search for a word

Scenario: Searching for a page that does exist
Given I am on "/wiki/Main_Page"When I fill in "search" with "Behavior Driven Development"And I press "searchButton" # <- the problem is on this step.
Then I should see "agile software development"

FeatureContext.php

<?php

use Behat\Behat\Tester\Exception\PendingException;
use Behat\Behat\Context\Context;
use Behat\Behat\Context\SnippetAcceptingContext;
use Behat\MinkExtension\Context\MinkContext;

class FeatureContext extends MinkContext implements Context, SnippetAcceptingContext
{
/**
* @Given I click the :arg1
*/
public function iClickTheElement($selector) // I also tried to use And I click the ".searchButton" but result is the same
{
$page = $this->getSession()->getPage();
$element = $page->find('css', $selector);

if (empty($element)) {
throw new Exception("No html element found for the selector ('$selector')");
}

$element->click();
}

}

Консольный вывод:

консольный вывод

У вас есть идеи по этой проблеме? Я буду очень благодарен за любые советы.

С уважением!

Обновление: Everythink отлично работает, когда я использую Chrome для тестирования.

2

Решение

Я прокомментировал это, и решение оказалось успешным, поэтому я сделал ответ:

Решение было изменить браузер и использовать Chrome.

Сообщение состоит в том, что команда mouseMoveTo не поддерживается удаленным драйвером. Я не знаю, почему PHP использует именно эту команду. Я знаю, что драйверы для некоторых браузеров не поддерживают его. Это известная проблема с Safari.

В Firefox 52 Selenium 2 использовал драйвер «марионеток» (в Selenium 3 теперь известен как драйвер «Gecko» или «новый Firefox»). В то время, когда Selenium 2 был закончен, водитель был несколько незрелым.

Возможно, что переход на Selenium 3 решит проблему. Но перейти на Chrome — самое простое, что можно попробовать, и в этом случае это сработало.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector