UI自动化中选择器的自我修复

问题描述 投票:0回答:1

我正在JS中进行UI自动化,我正在识别基于XPATH或CSS选择器的对象/元素。由于许多不必要的原因 - 由于XPATH在不同环境中的变化,测试失败了。

我正在寻找想法或方法 - 我的自动化脚本自我修复,以识别更改的XPATH / CSS选择器和更新或运行更改选择器。

有没有办法 - 我可以在运行时实现这一点,以自我修复现有的Javascript自动化脚本。

javascript dom xpath css-selectors automated-tests
1个回答
1
投票

首先,自动UI测试本身需要维护页面更改,从而导致测试失败。大多数情况下,这些失败是由于现有元素选择器不再按预期工作而发生的变化。我不认为有任何解决方案可用于以编程方式更改这些选择器;你可能要自己写这个。

在我看来,解决这个问题的最佳方法是

  1. 采用唯一标识元素的定位策略,同时尽可能少地依赖DOM。对我来说,理想的情况是拥有唯一的Id或其他独特的标签。就个人而言,我很少使用Xpath,因为它最有可能依赖于其他元素,增加了需要维护的测试的可能性和频率,这是定位元素的最慢方法。
  2. QA应该从开发过程的一开始就参与进来,以便他们尽可能早地确定需要对自动化测试进行的任何更改以适应即将推出的功能。此外,QA可以与开发人员合作,以建立最“可测试”的产品,通常包括HTML标签的请求,以帮助唯一标识元素。理想情况下,现有测试所需的更改可以在开发时进行,以便损坏的选择器不会延迟发布周期。
  3. 最后,我认为我们必须接受一定程度的剥落并且需要维护UI自动化。谷歌“片状”UI测试的目标是1%或更低。 Selenium是一款出色的浏览器自动化工具,但是编写可靠,可维护且强大的UI测试需要大量的计划和策略。我认为在设计测试和定位策略时,考虑哪些变化可能会破坏哪些选择器是必不可少的。一个自动执行此操作的工具将非常棒,我相信有些团队正在努力创建一种使用人工智能的方法,但尚未公开发布任何内容。
© www.soinside.com 2019 - 2024. All rights reserved.