【发布时间】:2015-07-17 06:16:09
【问题描述】:
我有一组用于测试基于 Web 的 UI 的 TestNG 测试。
例如,一个典型的测试会点击不同的菜单和按钮,并断言结果是我们所期望的。
这些测试也在后台使用 Selenium。我在一个班级进行了测试,在另一个班级进行了网页模型。
为了在网页中获取对 UI 组件(按钮、菜单等)的引用,我使用 CSS 或 XPath 选择器。这是在模型类中硬编码的。为了获取表示 UI 组件的对象,我在模型类中调用 get 方法,该方法使用 css 选择器返回 UI 组件的对象。然后使用该对象,我可以单击、选择、取消选择或对组件执行任何操作。
这一切都很好,除非 css 选择器发生变化。
有没有办法避免这种情况?
我在想是否可以通过每个步骤或单击手动重复测试,并记录所用元素的 css 选择器,这比调试测试更快,找出页面中的新元素名称/javascript 手动更新模型 css 选择器。
或者有没有办法链接网页开发,针对页面的变化自动更新模型代码,这样变化就不会破坏测试?
谢谢!
【问题讨论】:
标签: user-interface testing selenium xpath testng