我们最近遇到了一个问题。我们的团队使用selenium自动化测试脚本。现在我们在用户界面中收到了更改请求,因此我们修改了css。
问题是自动化测试脚本无效。我们知道这是由于css的变化。
我的问题是:
有效处理这些方案的最佳方法是什么?
答案 0 :(得分:1)
这是测试中最大的不便......当某些内容发生变化时,您必须重写测试脚本。
您可以为您选择最佳的元素本地化方式。但是,xPath(以及任何其他类型的CSS或定位器)将始终存在风险。实际上,您无法为所有可能性编写脚本。当app中有任何更改时,您只需手动更改脚本。
这是一个你无法避免的事实。
答案 1 :(得分:1)
有很多方法可以减少这种不便。一种非常流行的解决方案是使用Page Object pattern。
这个想法是通过在两者之间插入一层来将测试逻辑与被测应用程序分离。这样,如果应用程序发生更改,则无需更改测试逻辑,只需更新受影响的页面对象即可。
为简化此更新过程,使用可生成Page Object类的工具(或创建自己的工具)也是一种很好的做法。