Автоматизация раскрытия семантического пользовательского интерфейса - PullRequest
0 голосов
/ 04 октября 2018

Как автоматизировать семантику UI dropdown в селене с использованием Java.

Не работает с этим кодом:

Select drpdwn1 = new Select(driver.findElement(By.cssSelector("#ddIssue")));
int sel1Size = drpdwn1.getOptions().size();
for (int i = 0; i < sel1Size; i++) {
  drpdwn1 = new Select(driver.findElement(By.cssSelector("#ddIssue")));
  drpdwn1.selectByIndex(i);
  driver.findElement(By.xpath("//*[@id=\"ticketMessage\"]")).sendKeys(" test");
}

HTML-код DOM -

<div class="ui fluid dropdown search selection active visible">
<select id="ddIssue" name="IssueTypeId">
 <option value="">SelectIssueType</option>
 <option value="12">test isssue type</option>
 <option value="13">Test</option>
 <option value="14">tester</option>
</select>
 <i class="dropdown icon"></i>
 <input class="search" autocomplete="off" tabindex="0">
  <div class="default text">SelectIssueType</div>
  <div class="menu transition visible" tabindex="-1" style="display: block !important;">
    <div class="item" data-value="12">test isssue type</div>
    <div class="item" data-value="13">Test</div>
    <div class="item" data-value="14">tester</div>
  </div>
</div>

Ответы [ 3 ]

0 голосов
/ 04 октября 2018
Select oSelect = new Select(driver.findElement(By.name("IssueTypeId")));
        List<WebElement> oSize = oSelect.getOptions();
        int iListSize = oSize.size();
        // Setting up the loop to print all the options
        for(int i =0; i < iListSize ; i++){
            // Storing the value of the option  
            String sValue = oSelect.getOptions().get(i).getText();
            // Printing the stored value
            System.out.println(sValue);
            oSelect.selectByIndex(i);
            Thread.sleep(2000);
            }
0 голосов
/ 04 октября 2018
Select dd= new Select(driver.findElementById("ddIssue"); 

//storing the WebElements in a list
List<WebElement> allOptions=dd.getOptions();

//getting the count
int count=allOptions.size();

//printing the count
S.O.P(count);

//looping it and printing the each text value in the dropdown
for(int i=0;i<count;i++){

String ddValues=allOptions.get(i).getText();

S.O.P(ddValues);

//selecting each of the drop down values
dd.selectByIndex(i);

}

Если предположим, что это не работает, опубликуйте полученную ошибку или исключение.

0 голосов
/ 04 октября 2018

Попробуйте следующий код, чтобы выбрать значение «Тест» из выпадающего списка:

 Select drpCountry = new Select(driver.findElement(By.name("IssueTypeId")));

    List <WebElement> count= drpCountry.getOptions();
    int size= count.size();

    for(int i =0; i<size ; i++){
            String value = count.get(i).getText();
            System.out.println(value);
            drpCountry.selectByIndex(i);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...