Я пытаюсь написать пакет автоматизации для сайта Magento и сталкиваюсь с препятствиями при попытке нажать кнопку «Купить сейчас».
Код кнопки выглядит так:
<button type="button" title="Buy Now" class="button btn-cart v-center" onclick="productAddToCartForm.submit(this)"><span><span>Buy Now</span></span></button>
так по-видимому, javascript onclick означает, что регулярный $this->click()
подход не сработает, и мне нужно использовать fireEvent()
, Проблема в том, что он всегда терпит неудачу с
«Вы не можете вызвать команду с несколькими аргументами метода».
Я пытался вызывать его несколькими различными способами, в том числе используя код, непосредственно из selenium IDE, экспортированного как тестовый пример phpunit.
$this->fireEvent('button','click');
$this->fireEvent('//button[@type='button']','click');
Примеры кода, которые я нашел в Интернете, предполагают, что первое должно работать:
https://github.com/giorgiosironi/phpunit-selenium/blob/master/Tests/SeleniumTestCaseTest.php
Я вижу там образцы как $this->fireEvent('theTextbox', 'blur');
У меня нет выбора, так что я надеюсь, что кто-то ударил и исправил это раньше.
Задача ещё не решена.
Других решений пока нет …