Appium - 在一个月的特定日期之后选择两天

问题描述

我试图在一个月的当前日期之后选择两天。在我的 StepImplementation 类中,我写了一个这样的函数,但它给了我一个错误

@Step("pick two days after current day")
    public void getCurrentDayOfMonth(String day) throws InterruptedException {
        Calendar cal = Calendar.getInstance();
        int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);

        int dayToPick = dayOfMonth + 2;
        day = String.valueOf(dayToPick);

        appiumDriver.findElement(By.xpath("//*[@text='" + day + "']")).click();
        System.out.println("Element is clicked.");
        Thread.sleep(2000);
    }

对于我的 String day 参数,它显示了这个错误:Parameter count mismatch(found 1 expected 0) with step annotation : 'pick two days after current day'

基本上,我正在尝试从 datepicker 中选择航班的日期。我必须选择当月当天之后的两天,但我有点困惑。

感谢您的帮助。

解决方法

我写了另一种方法,现在就像一个魅力:

@Step("read text value of the element with <id>")
    public void readTextValue(String id) throws InterruptedException {
        String currentDate = appiumDriver.findElement(By.id(id)).getText();
        System.out.println("Element has been read.");
        int dayToPick = Integer.parseInt(currentDate) + 2;
        String dayToPickAsText = String.valueOf(dayToPick);
        appiumDriver.findElement(By.xpath("//*[@text='" + dayToPickAsText + "']")).click();
        Thread.sleep(2000);
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...