首页 > 解决方案 > 列表大小仅在调试模式下捕获

问题描述

以粗体突出显示,即 totallist 捕获值 0。但是当我在调试模式下运行时,会捕获正确的值。serviceX 对于所有下拉菜单都很常见,因此我将所有 findelements 分配到一个列表中,然后从 excel 中选择一个与该值匹配的值。

private By serviceX = By.xpath("//div/ul/li[@class='datixSelectOption' or @class='datixSelectOption datixSelectOption-hover']");

公共无效createIncident(映射数据映射)抛出InterruptedException {

    //Block to select Who or what from drop down
    String val1 =(String) dataMap.get("WhoorWhat");
    isElementPresent(whoOrWhat).click();
     @SuppressWarnings("unchecked")
     List<WebElement> listElements=getWebElements(serviceX);
     int totallist =  listElements.size();
        **System.out.println(totallist);**
     for (WebElement li : listElements) 
     {
        System.out.println(li.getText());
        
         if (li.getText().equals(val1)) { 
             li.click(); 
             break;
             }
        
        
    }
     listElements.clear();
    
    //Block to select specific service
    if(isElementPresent(specificService).isDisplayed()) 
    {
        String service  = (String) dataMap.get("SpecificService"); 
        String [] serviceArr =  service.split("-");
        System.out.println(serviceArr[0]);
        System.out.println(serviceArr[1]);
        getSpecificService().sendKeys(serviceArr[0]);
    
        @SuppressWarnings("unchecked")
        List<WebElement> serviceList = getWebElements(serviceX);
        int totalServiceList =  serviceList.size();
        System.out.println(totalServiceList);
        for (int j = 0;j<=totalServiceList; j++) {
             String serviceName = serviceList.get(j).getText();
             System.out.println(serviceName);
            
 
             if(serviceName.contains(serviceArr[1])) {
            System.out.println(serviceName);
            serviceList.get(j).click();
            break;
        }
        }
        serviceList.clear();
    }
            
          
    //Block to select Where did this incident occur? from drop down 
        getIncidentOccur().click();
        @SuppressWarnings("unchecked")
        List<WebElement> incidentOccur=getWebElements(serviceX);

        String occurPlace =(String) dataMap.get("IncidentOccur");
        System.out.println(occurPlace);
        for (WebElement li1 : incidentOccur) {
            System.out.println(li1.getText());
            
             if (li1.getText().equals(occurPlace)) { 
                 li1.click(); 
                 break;
                 }
            
            
        }
        incidentOccur.clear();
        
    //Block to select location from text dropdown

        String loc =  (String) dataMap.get("Location"); 
        String [] locationArr =  loc.split("-");
        getLocationField().sendKeys(locationArr[1]);
    
        @SuppressWarnings("unchecked")
        List<WebElement> listLocations = getWebElements(serviceX);
        int totalList =  listLocations.size();
        //System.out.println(totalList);
        for (int j = 0;j<=totalList; j++) {
             String locationName = listLocations.get(j).getText();
             //System.out.println(locationName);
            
 
             if(locationName.contains(locationArr[0])) {
             //System.out.println(locationName);
                 listLocations.get(j).click();
                 break;
        }
        }
        listLocations.clear();

        
        //Block to select Principal incident type
        String principalIncident  = (String) dataMap.get("PrincipalIncident"); 
        getPrincipalIncidentType().sendKeys(principalIncident);
    
        @SuppressWarnings("unchecked")
        List<WebElement> principalList = getWebElements(serviceX);
        int totalPrincipalList =  principalList.size();
        for (int j = 0;j<=totalPrincipalList; j++) {
             String principalName = principalList.get(j).getText();
             System.out.println(principalName);
            
 
             if(principalName.contains(principalIncident)) {
                 principalList.get(j).click();
            break;
        }
        }
        principalList.clear();    
    }
}

标签: javaseleniumdebuggingautomationui-automation

解决方案


推荐阅读