Нажмите и выпадающие значения с помощью списка / строки - PullRequest
1 голос
/ 24 сентября 2019

У меня есть набор значений Array, и мне нужно щелкнуть по раскрывающемуся объекту, используя их, как это сделать правильно?.

Мой XPath "//li[@class="header__country-selector--desktop__country"]//a[contains(text()," + **ARRAY VALUES** +")]"

Мой код:

Пользовательское ключевое слово:

public class selectCountry {

    private String Market_selector(String nav_id){

        return '//li[@class="header__country-selector--desktop__country"]//a[contains(text()," +Countries+")]'


        //      //li[@class="header__country-selector--desktop__country"]//a[contains(text(),'')]
    }

    private TestObject getHeadernavMenuTestObject(String nav_id){
        TestObject navitem = new TestObject(nav_id)
        navitem.addProperty("xpath", ConditionType.EQUALS, Market_selector(nav_id), true)
        return navitem
    }

    @Keyword
    public void getMarket_selector(String nav_id){
        TestObject navitem = getHeadernavMenuTestObject(nav_id);
        WebUI.waitForElementPresent(navitem,GlobalVariable.load_time)
        WebUI.verifyElementPresent(navitem, GlobalVariable.load_time, FailureHandling.CONTINUE_ON_FAILURE);
        WebUI.focus(navitem)
        WebUI.click(navitem)
    }

Массив

String[] Countries = ['UAE','Bahrain','Oman','Qatar','Kuwait','Egypt','Jordan','Tunisia','Morocco','Palestine','Iraq'];

1 Ответ

0 голосов
/ 24 сентября 2019

Ваш xpath должен быть

"//li[@class="header__country-selector--desktop__country"]//a[contains(text()," + countries[${i}] +")]"

Где i - индекс countries[] (также обратите внимание, что countries в нижнем регистре, в соответствии с соглашением).

Затем выполните циклсписок:

for (def i=0; i<countries.size(); i++){
    getMarket_selector(Market_selector(i.toString()))
}
...