使用selenium IDE检查是否存在元描述?

时间:2015-11-10 15:43:40

标签: html css selenium automated-tests selenium-ide

目前,我正在使用以下命令&在Selenium IDE中定位以验证元描述的确切文本

 verifyelementpresent :    //meta[@name='description' and @content='description here']

我想检查元描述是否在145到165个字符之间,看它是否存在。那样,当描述发生变化时,如果描述低于145行或超过165(无论如何元描述都不能),测试将失败。

任何人都可以帮我写这个表达吗?假设在内容下需要某种变量来检查...的长度。

2 个答案:

答案 0 :(得分:0)

您可以使用selenium执行此javascript:

document.evaluate("/html/head/meta[@name='description']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.content.length >= 144 
&& document.evaluate("/html/head/meta[@name='description']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.content.length <= 166;
  

您需要从初始值中减去1并在结束值处加1,因为内容以&#34;&#34;&#34;

返回

返回true或false。

或者,您可以评估元描述内容并在应用内部应用验证,例如

document.evaluate("/html/head/meta[@name='description']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.content

答案 1 :(得分:0)

以下是我认为更好,更精细的代码(可用/可读):

<tr>
    <td>storeAttribute</td>
    <td>//meta[@name=&quot;description&quot;]@content</td>
    <td>meta_val</td>
</tr>
<tr>
    <td>verifyEval</td>
    <td>storedVars['meta_val'].length &gt; 145 &amp;&amp; storedVars['meta_val'].length&lt;165;</td>
    <td>true</td>
</tr>
<tr>
    <td>storeEval</td>
    <td>storedVars['meta_val'].length;</td>
    <td>meta_length</td>
</tr>
<tr>
    <td>echo</td>
    <td>${meta_length}</td>
    <td></td>
</tr>