2012-09-28 141 views
0

我有许多测试来验证搜索结果的排序顺序。除了一个特定的搜索,所有这些工作都很好。从不断变化的ID获取值

问题在于,对于此搜索,每行都有一个自动生成的ID号,每次执行搜索时都会更改它。

我可以这样做:

storeText | css=search_result_row_23668680919600 > td.normal.description | N1 

如果我运行测试右,然后它成功。但是,如果尾随它的任何后续运行时间,因为该行中的数字每次都会更改。

的HTML看起来像这样

<tr id="search_result_row_23668680919600"> 
<td class="description"> 
    <a class="searchresultitem" href="/itemid"> Start of desription</a> 
    <br> 
     Rest of description 
</td> 

我如何使用id时ID改变每次运行搜索时拿到的说明文字?

+0

澄清,我需要能够做两件事情:从ID的每个测试运行时改变 1.使用值: 2.化妆确定我总是从连续的行中拉出数值(第1,2,3行) – Klendathu

+0

为什么你要通过id搜索?用'searchresultitem'搜索应该返回从左到右,从上到下的所有搜索结果。 'element.text'来获取文本。 – kreativitea

回答

1

而不是采取完整的id值只取其静态的一部分。

driver.findElement(By.cssSelector("tr[id*='search_result_row_']>td[class='description']")).getText(); 

它会返回每次TD的内容。存储所有这些值,然后使用您的逻辑进行排序。

+0

Selenium IDE中该命令会是什么?另外,我没有尝试对行进行排序,我想从前3行中获取数据并验证它们是否正确排序。 – Klendathu

0

您可以尝试的XPath定位器与一个CSS定位