|
3 | 3 | namespace PagaMasTarde\SeleniumFormUtils\Step; |
4 | 4 |
|
5 | 5 | use Facebook\WebDriver\WebDriverBy; |
| 6 | +use PagaMasTarde\SeleniumFormUtils\Step\ConfirmData\Missing; |
6 | 7 |
|
7 | 8 | /** |
8 | 9 | * Class Application |
@@ -31,25 +32,41 @@ public function run() |
31 | 32 | { |
32 | 33 | $this->validateStep(self::STEP); |
33 | 34 | //Click on confirm: |
34 | | - $this->moveToIFrame('hosted-field-number'); |
35 | | - $this->waitTobeVisible(WebDriverBy::name('credit-card-number')); |
36 | | - $creditCardNumber = $this->webDriver->findElement(WebDriverBy::name('credit-card-number')); |
37 | | - $creditCardNumber->clear()->sendKeys(self::CARD_NUMBER); |
38 | | - $this->moveToParent(); |
39 | | - $this->moveToIFrame('hosted-field-name'); |
40 | | - $cardHolder = $this->webDriver->findElement(WebDriverBy::name('name')); |
41 | | - $cardHolder->clear()->sendKeys(self::CARD_HOLDER); |
42 | | - $this->moveToParent(); |
43 | | - $this->moveToIFrame('hosted-field-cvv'); |
44 | | - $cvv = $this->webDriver->findElement(WebDriverBy::name('cvv')); |
45 | | - $cvv->clear()->sendKeys(self::CARD_CVC); |
46 | | - $this->moveToParent(); |
47 | | - $this->moveToIFrame('hosted-field-expirationDate'); |
48 | | - $expiration = $this->webDriver->findElement(WebDriverBy::name('expiration')); |
49 | | - $expiration->clear()->sendKeys('12'. date('y')); |
50 | | - $this->moveToParent(); |
51 | | - $acceptedTerms = $this->webDriver->findElement(WebDriverBy::className('Form-checkboxSkin')); |
52 | | - $acceptedTerms->click(); |
| 35 | + |
| 36 | + /* |
| 37 | + * Optional Full Name: |
| 38 | + */ |
| 39 | + try { |
| 40 | + $name = $this->webDriver->findElement(WebDriverBy::name('name')); |
| 41 | + $name->clear()->sendKeys(Missing::FULL_NAME); |
| 42 | + } catch (\Exception $exception) { |
| 43 | + unset($exception); |
| 44 | + } |
| 45 | + |
| 46 | + try { |
| 47 | + $this->moveToIFrame('hosted-field-number'); |
| 48 | + $this->waitTobeVisible(WebDriverBy::name('credit-card-number')); |
| 49 | + $creditCardNumber = $this->webDriver->findElement(WebDriverBy::name('credit-card-number')); |
| 50 | + $creditCardNumber->clear()->sendKeys(self::CARD_NUMBER); |
| 51 | + $this->moveToParent(); |
| 52 | + $this->moveToIFrame('hosted-field-name'); |
| 53 | + $cardHolder = $this->webDriver->findElement(WebDriverBy::name('name')); |
| 54 | + $cardHolder->clear()->sendKeys(self::CARD_HOLDER); |
| 55 | + $this->moveToParent(); |
| 56 | + $this->moveToIFrame('hosted-field-cvv'); |
| 57 | + $cvv = $this->webDriver->findElement(WebDriverBy::name('cvv')); |
| 58 | + $cvv->clear()->sendKeys(self::CARD_CVC); |
| 59 | + $this->moveToParent(); |
| 60 | + $this->moveToIFrame('hosted-field-expirationDate'); |
| 61 | + $expiration = $this->webDriver->findElement(WebDriverBy::name('expiration')); |
| 62 | + $expiration->clear()->sendKeys('12'. date('y')); |
| 63 | + $this->moveToParent(); |
| 64 | + $acceptedTerms = $this->webDriver->findElement(WebDriverBy::className('Form-checkboxSkin')); |
| 65 | + $acceptedTerms->click(); |
| 66 | + } catch (\Exception $exception) { |
| 67 | + unset($exception); |
| 68 | + } |
| 69 | + |
53 | 70 | $formContinue = $this->webDriver->findElement(WebDriverBy::name('form-continue')); |
54 | 71 | $formContinue->click(); |
55 | 72 | } |
|
0 commit comments