Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
动态的xpath实现<;a>;或<;ul>;或<;李>;标签_Xpath_Qa - Fatal编程技术网

动态的xpath实现<;a>;或<;ul>;或<;李>;标签

动态的xpath实现<;a>;或<;ul>;或<;李>;标签,xpath,qa,Xpath,Qa,我在做一个项目,这是一个巨大的网站与高流量的质量保证工作。我的工作是找出一些出路,以便当前网页中的未来实现/更改不会破坏QA测试 情况是: 例如考虑xPath类似: //*[@id='local']/ul/li[3]/ul/li/a //*[@id='localTag']/ul/li[2]/ul/li[10]/a 现在这些都是动态生成的(a的值来自数据库,结构是从JSP文件生成的),因此如果开发人员将来更改的位置,测试用例应该不会失败 一种方法是我放置testid,但这种方法会让网站变得沉重

我在做一个项目,这是一个巨大的网站与高流量的质量保证工作。我的工作是找出一些出路,以便当前网页中的未来实现/更改不会破坏QA测试

情况是:

例如考虑xPath类似:

  • //*[@id='local']/ul/li[3]/ul/li/a
  • //*[@id='localTag']/ul/li[2]/ul/li[10]/a
现在这些都是动态生成的(a的值来自数据库,结构是从JSP文件生成的),因此如果开发人员将来更改
的位置,测试用例应该不会失败

一种方法是我放置testid
,但这种方法会让网站变得沉重(额外的标签、大型网站、QA测试用例都需要时间)


请告诉我我们可以选择的不同方式

为每个元素分配Id的解决方案显然会使您的站点沉重且难以管理。请确保您首先优先考虑文档中已定义元素的Id。这将使您的脚本基本稳定,因为Id不会频繁更改

如果Id不存在,并且
  • 元素正在动态生成,那么我可以建议您使用以下解决方案:

    • 检查外部或父元素
    • 如果该元素是table或div,请确保首先选择外部元素,然后选择相应元素的
      • 例如:
        :css,“div.contentType”
        首先选择div,然后选择内部元素
      • 对于table,您可以选择/提取数组中表的内容(
        tr
        td
        ),然后选择所需的适当元素
      • 这将使您能够选择准确的元素,并且测试用例大部分不会失败