在我的工作场所,我们正在努力寻找为几乎完全由javascript驱动的Intranet应用程序创建自动化测试的最佳方法。现在我们一直在努力寻找一个很好的权衡:
从Selenium-IDE生成的XPath表达式(或其他可能的表达式,如jQuery选择器)通常是不可重复的,非常脆弱。相反,让JS代码为页面上的每个重要DOM元素生成特殊的唯一ID值...好吧,这是它自己的头痛,复杂的可重用GUI组件和ID需要在测试重新进行时保持一致运行
其他人对这种事情有什么成功?您如何对丰富的JS界面进行自动化应用程序级测试?
我正在考虑一个系统,其中Selenium-IDE的自定义定位器构建器(javascript代码)将在测试人员正在录制时与我们的应用程序代码通信。通过这种方式,我们的应用程序成为为任何给定DOM元素生成大多数灵活的表达式(XPath或jQuery)的部分责任。虽然这可以避免需要对测试人员进行更多培训,但我担心这可能是过度思考的事情。
答案 0 :(得分:1)
记录和播放不适用于大规模测试。它可能适用于烟雾测试和小型重复性任务。
尝试使用基于CSS的选择器解决问题,而不是尝试生成唯一ID。生成唯一ID是理想的目标,但我认为在所有实际情况下都不可能。
如果您正在尝试查找自定义定位器,最好查看BDD。
答案 1 :(得分:0)
你不能在selenium中使用css选择器吗?这似乎比使用XPath更直接。
http://saucelabs.com/blog/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/