Как я могу реорганизовать методы и добавить перечисления со значениями On и Off? - PullRequest
0 голосов
/ 09 октября 2019

Как я могу рефакторинг кода в более читаемый код?

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

MobileElement button = (xpath ==//....);

//option = yes or no.
//This is for option == Yes. otherOption = Red, Blue, Black, Yellow
public boolean isYes(String option,String otherOption) {
    if (otherOption.equals("Yes") && button.getText().contains("Yes")) {
        button.click();
        clickButton(otherOption);
        return button.getText().contains("Yes");
    } else if (otherOption.equals("Yes") && button.getText().contains("No")) {
        clickButton(otherOption);
        return button.getText().contains("Yes");
    }
    return false;
}

public void clickButton(String otherOption) {

    MobileBy otherOptionClick = (MobileBy) MobileBy.ByAndroidUIAutomator
        .AndroidUIAutomator(String.format("new UiScrollable(new UiSelector()).scrollIntoView("
        + "new UiSelector().resourceId(\"android.ios\")"
            + ".textContains(\"%s\"))", otherOption));
    otherOptionClick.click();
    okButton.click();
}

1 Ответ

1 голос
/ 09 октября 2019

Вы можете упростить несколько дополнительных строк, а также добавить строку в качестве констант, чтобы избежать их инициализации каждый раз:

private final static String YES = "Yes";
private final static String NO = "No";
private final static String ON = "On";

//option = yes or no.
//This is for option == Yes. otherOption = Red, Blue, Black, Yellow
public boolean isYes(String option,String otherOption) {
    if (otherOption.equals(YES)){
        if(button.getText().contains(YES)) {
            button.click();
            clickButton(otherOption);
            return button.getText().contains(ON);
        } else if (button.getText().contains(NO)) {
            clickButton(otherOption);
            return button.getText().contains(ON);
        }
    }
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...