-3

我正在测试一个网站。在该网站上,每个元素(按钮、链接、复选框等)都有一个 ID,但每次单击任何元素时,该单击元素的 ID 都会更改。

现在,当记录特定套装(例如单击多个链接)时,按钮的 id 是匹配的,并且在该特定时间使用元素的该 id 记录该任务。但是在播放测试套装时,错误在日志中显示为“ [error] Element css=#id56ed > span not found

在记录元素(如名称或其他内容)时,没有其他可以比较的东西,每个元素只给出 id。

由于 css=#id56ed 现在在播放时已更改,出现此错误。应该编写什么脚本,以便该元素的更改 id 不应该破坏测试套件的流程并执行相同的任务,并且 css=#id* * > span not found 的错误被删除。

这是HTML:

<ul> 
 <li class="tab0 selected">
  <a href="#" id="idb30">
   <span>Holiday homes</span>
  </a>
 </li>
 <li class="tab1">
  <a href="#" id="idb31">
   <span>Camping sites</span>
  </a>
 </li>
 <li class="tab2 last">
  <a href="#" id="idb32">
   <span>Hotel rooms</span>
  </a>
 </li>
</ul>`
4

1 回答 1

1

由于动态 ID,您会收到此错误。每次打开页面时,元素的 ID 都不同。我真的需要查看您尝试与之交互的页面的 HTML……但无论如何我都会尝试为您编写一个选择器。

在失败的行上,您必须将选择器重写为:css = "*[id^="id"] > span"

我认为上面的方法行不通,因为它会选择比您想要的元素更多...如果没有,请发布您要选择的元素的 HTML(加上周围的 HTML),或阅读自己上 CSS。

编辑:

如果您想选择“露营地”链接,您可以通过链接文本或以下选择器来完成: css = .tab1 span

于 2013-09-24T14:02:51.190 回答