如何获得动态生成的className?

时间:2015-01-19 07:40:16

标签: java selendroid

我想检查我的页面样式是否有特定的格式或不像photocentric,缩略图等...例如,如果我选择了我的页面以缩略图格式显示。首先,我选择了模板样式和那么我需要断言页面是否是缩略图样式。它动态生成id和classname。如何获得动态生成的className.My代码如下所示

//Click Thumbnails
            pubDriver.findElement(By.cssSelector("img[alt=Template-option-thumbnails]")).click();
            pubDriver.findElement(By.id("saveForm")).click();

//Check if the  Page has been in thumbnail style template
         WebElement thumbnailStyle = wait.until(ExpectedConditions.presenceOfElementLocated(By.className("thumbnails")));
         Assert.assertTrue(thumbnailStyle.isDisplayed());
         sleep(1000);

如果我给出断言的上述编码,则会抛出以下错误消息。因为我之前已经应用了样式模板格式,然后从那里获取了className。

等待出现位于下列的元素10秒后超时:By.className:缩略图

我在应用模板样式格式后得到以下内容,所以我不知道如何从这里动态获取className

    <div ng-class="layout" ng-switch-default="" class="ng-scope thumbnails">
<div ng-switch="" on="layout"> 

 <!-- thumbnails template -->

1 个答案:

答案 0 :(得分:0)

您要获取的项目是否有其他常量参数?

我会使用另一个选择器来获取项目,并使用类似

的内容
WebElement item = By(//some selector);
String itemClass = item.getAttribute("class");
//assert that class contains thumbnails