9 use Magento\Mtf\Client\ElementInterface;
10 use Magento\Mtf\Fixture\FixtureInterface;
22 private $payNowButton =
'#btn_pay_cc';
29 private $paypalIframe =
'.paypal.iframe';
36 private $creditCardForm =
'#formCreditCard';
43 private $errorMessage =
'#messageBox';
67 $iframeRootElement = $this->switchToPaypalFrame();
68 $formBlock = $this->blockFactory->create(
70 [
'element' => $this->_rootElement->find($this->creditCardForm)]
72 $formBlock->fill($creditCard, $iframeRootElement);
73 $iframeRootElement->find($this->payNowButton)->click();
77 $this->browser->switchToFrame();
88 $loaderElement = $iframeRootElement->find($this->loader);
90 $loaderElement->waitUntil(
function () use ($loaderElement) {
91 return $loaderElement->isVisible() ? true :
null;
94 $loaderElement->waitUntil(
function () use ($loaderElement) {
95 return !$loaderElement->isVisible() ? true :
null;
106 $isErrorMessageVisible =
false;
107 if ($this->_rootElement->find($this->paypalIframe)->isPresent()) {
108 $iframeRootElement = $this->switchToPaypalFrame();
109 $isErrorMessageVisible = $iframeRootElement->find($this->errorMessage)->isVisible();
110 $this->browser->switchToFrame();
112 return $isErrorMessageVisible;
120 private function switchToPaypalFrame()
122 $iframeLocator = $this->browser->find($this->paypalIframe)->getLocator();
123 $this->browser->switchToFrame($iframeLocator);
124 return $this->browser->find(
'body');
waitSubmitForm(ElementInterface $iframeRootElement)
fillPaymentData(FixtureInterface $creditCard)