2017-01-18 6 views
1
@FindBy(className = "shellTileBase") 
    private WebElement tile; 

@FindBy(className = "FilterDefault FilterIcon UiIcon IconMirrorInRTL") 
    private WebElement form; 

Je travaille avec du sélénium et du testng mais j'essaie d'ajouter de l'arquillian à mes tests. peut gérer arquillian@FindBy avec le graphène arquillien en utilisant className

@FindBy(className ="") 

Avec plusieurs noms de classes selon mon exemple ci-dessus. Quand je cours cela, je reçois un:

InvalidSelectorError: Compound class names not permitted 

Y a-t-il un moyen de contourner ce problème?

Répondre

1

Les noms de classes composés (noms de classes avec espaces) ne peuvent pas être utilisés comme sélecteur dans la recherche par className. Vous pouvez le résoudre en utilisant XPath comme ci-dessous:

@FindBy(xpath="//*[@class='FilterDefault FilterIcon UiIcon IconMirrorInRTL']") 

ou CSS:

@FindBy(css=".FilterDefault.FilterIcon.UiIcon.IconMirrorInRTL") 
+0

Cette réponse doit être acceptée –