Проблема с PIN-кодом в Selenium WebDriver

1

Мне нужна помощь с Selenium WebDriver. Я пытался автоматизировать сайт, но застрял в области PIN-пэдов.

Когда я нажал на элемент ввода PIN-кода, элемент находится только в режиме чтения и может принимать значение только щелчком мыши по пин-коду. Обратите внимание, что позиция чисел на ПИН-панели изменяется всякий раз, когда она всплывает/обновляется.

EDIT (дополнительная информация):

Он доступен публично www.mypaga.com. Вы можете использовать этот идентификатор для выполнения некоторых транзакций, таких как AcceptDeposit. имя пользователя: ibile, вопрос безопасности: 4, пароль: ibile4live

Вот код:

package com.paga.testing.agent.online;

import java.util.concurrent.TimeUnit;

import org.junit.AfterClass;
import org.junit.Assume;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class AcceptDepositTest extends LoginTest {

    @BeforeClass
    public static void beginTest() {
        System.out.println("********* Begin *************");
        Assume.assumeTrue(loginTest());
    }

    @Test
    public void acceptDepositTest(){
        WebDriverWait wait = new WebDriverWait(driver, 5);
        wait.until(ExpectedConditions.elementToBeClickable(By.className("acceptDeposit")));
        System.out.println("acceptDepositTest Running");
        driver.findElement(By.className("acceptDeposit")).click();
        driver.findElement(By.id("amount")).click();
        driver.findElement(By.id("amount")).clear();
        driver.findElement(By.id("amount")).sendKeys("1000");
        driver.findElement(By.id("customerPhoneNumber")).clear();
        driver.findElement(By.id("customerPhoneNumber")).sendKeys("08022614279");
        driver.findElement(By.className("button_go")).click();
        System.out.println("pin pad");


     // Enter PIN
        wait.until(ExpectedConditions.elementToBeClickable(By.id("confirmPin")));
        driver.findElement(By.id("confirmPin")).click();
        System.out.println("pin pad22");
        driver.findElement(By.id("confirmPin")).sendKeys("1234");

        driver.findElement(By.className("button_go")).click();

        //driver.findElement(By.id("confirmPin")).sendKeys("1234");
        //return flag;
    }

    @AfterClass
    public static void ending(){
        System.out.println("********* End *************");
    }
}

И это код PIN PAD. Обратите внимание, что позиция значения PIN-кода изменяется при каждом обновлении

<div id="keypad-div" style="text-align: left; float: left; position: absolute; top: 431.067px; width: auto; left: 915.817px; display: block;">
    <div class="keypad-row">
        <button class="keypad-key" title="" type="button">9</button>
        <button class="keypad-key" title="" type="button">7</button>
        <button class="keypad-key" title="" type="button">2</button>
        <button class="keypad-key keypad-close" title="Close the keypad" type="button">Ok</button>
    </div>
    <div class="keypad-row">
        <button class="keypad-key" title="" type="button">4</button>
        <button class="keypad-key" title="" type="button">3</button>
        <button class="keypad-key" title="" type="button">6</button>
        <button class="keypad-key keypad-back" title="Erase the previous character" type="button">Delete</button>
    </div>
    <div class="keypad-row">
        <button class="keypad-key" title="" type="button">5</button>
        <button class="keypad-key" title="" type="button">1</button>
        <button class="keypad-key" title="" type="button">8</button>
    </div>
    <div class="keypad-row">
    <div class="keypad-space"/>
    <button class="keypad-key" title="" type="button">0</button>
</div>
  • 1
    Мы не можем Мы не видели ни ваш код, ни код сайта. Это общедоступный сайт? Пожалуйста, дайте нам посмотреть, что вы сделали до сих пор. Поделитесь своим кодом, позвольте нам увидеть хотя бы HTML-структуру панели PIN-кода.
  • 0
    Спасибо за указатель. Вот ниже:
Показать ещё 1 комментарий
Теги:
selenium
selenium-webdriver
automated-tests

1 ответ

0

Для этой конкретной ПИН-панели вы можете отправить PIN-код, так как вы уже знаете идентификатор элемента? Как и в следующем примере:

/* Отправить PIN-код */

 driver.findElement(By.id("pin_id")).click();
 driver.findElement(By.id("pin_id")).clear();
 driver.findElement(By.id("pin_id")).sendKeys(pinID);
  • 0
    Я сделал то же самое в моем коде, но все еще не работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню