java - 列表大小仅在调试模式下捕获
问题描述
以粗体突出显示,即 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();
}
}
解决方案
推荐阅读
- oracle - Oracle 的 ADO.NET 数据提供程序是否报告 NUMBER(x,y) 和 FLOAT 或 REAL 的错误数据类型?
- docker - 无法将 docker 镜像推送到 docker hub?
- regex - 被字符序列包围时的转义匹配
- javascript - Angular 和 Ionic 组件中的 clientHeight 和 clientWidth 始终为零
- javascript - 使用新的 proxyUrl 重试失败的页面
- vb.net - 我有问题说 System.Security.Cryptography.CryptographicException: 'Bad Data。' 在 vb.net 中尝试导入 RSA 参数时
- python - 电报机器人 - 现在将机器人添加到组?
- excel - 如何在 EXCEL 中将特定的 CSV 列加载到左侧?
- laravel - 如何使用 laravel 从 vue.js 中的对象道具突出显示类
- java - 主要方法的参数是否符合垃圾回收条件?