在我的测试自动化实践中,我总是使用gui映射策略来减少维护工作量. 例如,如果我需要识别“Google搜索”按钮(www.google.com),它的XPAth就是 //input[@name='q'] 而不是 /html/body/center/form/table/tbody
例如,如果我需要识别“Google搜索”按钮(www.google.com),它的XPAth就是
//input[@name='q']
而不是
/html/body/center/form/table/tbody/tr/td[2]/input[3]
很明显,在第二种情况下
页面结构的一点变化可能会破坏我的测试.
但也许我错过了什么?也许如果文档结构发生变化,我应该知道这一点,我的一些测试应该会失败?
你怎么看?你会推荐什么最佳实践?
如果元素具有脚本/ css使用的id,我们在测试中使用该ID.否则,我们会主动检测HTML以进行测试.我的意思是我们可以添加一个id用于测试,以避免任何歧义.我们通常给它一个前缀来表示这一点,即. ID = “ftGoogleButton”.这样,只使用HTML的人才会理解与元素相关的自动化测试.这个约定是实用的,因为它们通常只在css / js中查找对给定id的引用.