Appium (Java): как создать процесс чтения карты в фоновом режиме и одновременно проверять отображаемые экраны android - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь автоматизировать приложение android с помощью Appium. Это приложение работает на устройстве android, подключенном к считывателю платежных карт. Когда пользователь вставляет кредитную карту в считывающее устройство, затем на основе считывания карты (что происходит в фоновом режиме) отображается соответствующий экран. Например, перед проверкой карты пользователя спрашивают, есть ли квитанция. Пользователь должен нажать кнопку «Да» или «Нет» на экране, после чего карта будет проверена (в фоновом режиме) и отобразится экран «Спасибо». Я смоделировал кардридер, используя Java.

Что мне нужно сделать, так это запустить программу моделирования чтения кредитной карты в фоновом режиме. Но в то же время мне нужно проверить экраны, которые отображаются на разных этапах и ожидают ввода пользователя, например click() на webElements et c.

Я изо всех сил пытаюсь придумать, как этого добиться. Не могли бы вы мне помочь?

Пока что я сделал

public class AppiumTestClass extends base {

    @Test
    public void classA() {
        driver = capabilities("android_app"); // the name is taken from the global properties file
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

        CardReader cr = new CardReader();
        cr.cardReaderSimulate();

    }

    initiated driver
    in the base class

}
public class CardReader {

    public openSerialPort(){
        .. code to open serialPort
    }

    public readSerialPort(){
        .. code to read from serialPort
    }

    public writeSerialPort(){
        .. code to write to serialPort
        within this code I have implemented the user inputs like clicking on an element on the screen         
        (using Page objects)
    }

    public closeSerialPort(){
        .. code to open serialPort
    }

    public cardReaderSimulate(){
        openSerialPort();
        readSerialPort();
        writeSerialPort();
        closeSerialPort();
    }

}

1 Ответ

0 голосов
/ 24 июня 2020

Я нашел способ сделать это.

TestNG Testcase создает экземпляр программы Android терминала устройства java, которая, в свою очередь, вызывает программу Card Reader.

publi c класс AppiumTestClass расширяет базу {

public void parkerEnters(){

Terminal et = new Terminal();

}}

publi c class Terminal {

public void terminalEnt(){

CardReader cd = new CardReader();

//other validations and process
}

}

publi c класс CardReader {

//process to read the credit card

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...