现在我的应用程序在前端只显示了12个图像,但在通过xpath获取时,它显示了18个图像。
使用x-path as:
driver.findElemnt(By.xpath("xpath")).size();
使用过的代码:
int showCount = driver.findElements(By.xpath(ObjRepoProp.getProperty("homePageShowLogoImage_XPATH"))).size();
for (int i = 1; i <= showCount; i++) {
driver.findElement(By.xpath(ObjRepoProp.getProperty("homePageShowLogoImage_XPATH"))).isDisplayed();
i=i+1;
log.info(i + "shows are present in GET TO KNOW THE SHOW section (Count of only shows which are displaying on screen).\n");
}
我只需要显示12张图片。
答案 0 :(得分:1)
你想在这里验证什么?如果您要验证活动图像(在您的问题中我认为它是12),请使用动态xpath / css以及与活动图像相关的属性。如果您可以共享HTML代码,我们会很容易。
答案 1 :(得分:0)
你可以运行一个javascript来验证所有图片都已正确加载,找到下面的一小段代码就可以了。
EventFiringWebDriver eventFiringWebDriver = new EventFiringWebDriver (driver);
List<WebElement> allImages = eventFiringWebDriver.findElements(By.tagName("img"));
int countBrokenImages = 0;
List<String> brokenimageUrl = new ArrayList<String>();
String script = "return (typeof arguments[0].naturalWidth!=\"undefined\" && arguments[0].naturalWidth>0)";
for (WebElement image : allImages)
{
Object imgStatus = eventFiringWebDriver.executeScript(script, image);
if(imgStatus.equals(false))
{
String currentImageUrl = image.getAttribute("src");
String imageUrl = currentImageUrl ;
brokenimageUrl.add(imageUrl);
countBrokenImages++;
}
}
我希望这会有所帮助。