2011-10-21 2 views
1

У меня есть простая проблема.Selenium: проверка содержания таблицы

у меня есть:

<td class="xxx">200</td> 
    <td class="xxx">200</td> 
    <td class="yyyy">100</td> 
    <td class="yyyy">100</td> 

в моем HTML.

Что лучше и неразрушающим способом, чтобы убедиться, что все результаты класса «ххх» является 200, и все результаты класса «гггг» 100.

ответ

0

Использование:

not('200' != //td[@class = 'xxx']) 
and 
    not('100' != //td[@class = 'yyyy']) 

XSLT - на основе проверки:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="text"/> 

<xsl:template match="/"> 
    <xsl:value-of select= 
    " not('200' != //td[@class = 'xxx']) 
    and 
     not('100' != //td[@class = 'yyyy']) 
    "/> 
</xsl:template> 
</xsl:stylesheet> 

белый ан наносится на этом XML-документе (ваш фрагмент, завернутый в верхний элемент, чтобы стать хорошо сформированной XML документа):

<t> 
    <td class="xxx">200</td> 
    <td class="xxx">200</td> 
    <td class="yyyy">100</td> 
    <td class="yyyy">100</td> 
</t> 

производит:

true 

При нанесении на этом XML-документе:

<t> 
    <td class="xxx">200</td> 
    <td class="xxx">200</td> 
    <td class="yyyy">100</td> 
    <td class="yyyy">101</td> 
    <td class="yyyy">100</td> 
</t> 

снова Corre результат кт производится:

false 

Объяснение:

Читайте о the XPath operator !=.

+1

Как это связано с селеном? – psousa

+0

@psousa: Это «связано с Selenium» так же, как это связано с любым другим движком XPath: просто оцените предоставленное выражение XPath с вашим движком XPath (в данном случае с Selenium). –

+0

Контекст здесь - это сквозное тестирование. Поэтому вы не должны рекомендовать XPath утверждать отображаемый текст, поскольку он не может быть отображен, преобразован или заменен теневым DOM. –

Смежные вопросы