Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class Selenium:验证表的内容_Class_Selenium_Xpath_Html Table - Fatal编程技术网

Class Selenium:验证表的内容

Class Selenium:验证表的内容,class,selenium,xpath,html-table,Class,Selenium,Xpath,Html Table,我有一个简单的问题 我有: <td class="xxx">200</td> <td class="xxx">200</td> <td class="yyyy">100</td> <td class="yyyy">100</td> 200 200 100 100 在我的html中 什么是确保类“xxx”的所有结果都是200,类“yyy”的所有结果都是100的最佳非侵入式方

我有一个简单的问题

我有:

   <td class="xxx">200</td> 
   <td class="xxx">200</td>
   <td class="yyyy">100</td>
   <td class="yyyy">100</td>
200
200
100
100
在我的html中

什么是确保类“xxx”的所有结果都是200,类“yyy”的所有结果都是100的最佳非侵入式方法

使用

  not('200' != //td[@class = 'xxx'])
and
  not('100' != //td[@class = 'yyyy'])
<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>
true
<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>
false
基于XSLT的验证

  not('200' != //td[@class = 'xxx'])
and
  not('100' != //td[@class = 'yyyy'])
<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>
true
<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>
false
应用于此XML文档时

  not('200' != //td[@class = 'xxx'])
and
  not('100' != //td[@class = 'yyyy'])
<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>
true
<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>
false
说明

  not('200' != //td[@class = 'xxx'])
and
  not('100' != //td[@class = 'yyyy'])
<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>
true
<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>
false

阅读有关

这与Selenium有什么关系?@psousa:这与Selenium“有关系”,就像它与任何其他XPath引擎有关系一样:只需使用XPath引擎(在本例中是Selenium)计算提供的XPath表达式。这里的上下文是端到端测试。因此,您不应该建议使用XPath来断言呈现的文本,因为它不能被影子DOM显示、转换或替换。@FlorentB。不同的读者可以用不同的方式解释这个问题。问题的作者确实接受了这个答案,这意味着这个答案解决了他的问题。当然,可以提出一个新的、相关的/类似的问题,重点是端到端测试和测试框架使用的对象模型方面的额外验证。对于经验丰富的测试人员,有一种正确的方法来解释这个问题,因为在标题中明确提到了Selenium。即使它看起来确实有效,但并不意味着它将实现预期目标。这个答案不符合有效测试的条件,会把其他观众引向错误的方向。