动态<a> or <ul> or <li> tags</li></ul></a>的xpath实现

时间:2013-04-29 11:15:17

标签: xpath qa

我正在开展一个项目,该项目正在为一个流量很大的大型网站进行质量检查。我的工作是确定一些出路,以便当前网页的未来实施/变更不会破坏质量保证测试。

情景是:

例如,考虑如下的Xpath:

  • // * [@ id中= '本地'] / UL /锂[3] / UL /立/ A
  • // * [@ id中= 'localTag'] / UL /锂[2] / UL /锂[10] / A

现在这些是动态生成的('a'的值来自数据库,结构是从JSP文件生成的),因此如果开发人员将来更改<a>的位置,测试用例不应该失败。

一种方法是我把testIds <a testId="testForA">,但这种方法使网站繁重(额外的标签,一个大的网站,QA测试案例需要时间)

Plz建议我选择不同的方式。

1 个答案:

答案 0 :(得分:0)

将ID分配给每个元素的解决方案显然会使您的网站变得沉重和无法管理。请确保首先优先考虑已在文档中定义的元素的ID。这将使您的脚本大部分稳定,因为Id不会经常更改。

如果ID不存在且动态生成<ul><li>元素,那么我可以建议您使用以下解决方案:

  • 检查外部或父元素。
  • 如果该元素是table或div,请确保先选择外部元素,然后选择相应元素的<ul><li>
  • 例如::css,"div.contentType"首先选择div然后选择内部元素。
  • 如果是表格,您可以在数组中选择/提取表格(trtd)的内容,然后您可以选择所需的正确元素。
  • 这将使您能够选择确切的元素,并且测试用例不会失败。