关于自动化测试,经常被问到元素的定位。 很多时间我也帮不了你解决实际的问题,只能从个人脚本谈谈如何看待这些问题。
不得不说之元素定位
虽然,本章写了十几篇文章来讲元素的定位与操作,对于碰到的一些常见功能,如何通过技巧来定位它们,但是在实际的自动化脚本开发中,不管是新手还是具有一定经验的老手,我们面临最多的问题仍然是元素的定位问题。
有时间元素定位非常简单,例如,我们只要知道这个元素有的id和name 就可以轻松的来定位到它;有时间元素的定位却非常的令人非常头疼,尽管我们用尽了所以办法,仍然无法定位到它。在这里笔者也没万能的方法来帮你解决这些实际问题。
评估自动化可行性
对于不同的web项目,所用到的前端技术也不同,有些项目会用到ext(一个强在的js类库),有些会用到ajax(一种创建交互式网页应用的网页开发技术),这些技术的应用无疑对于前端开发人员可以快速的生成所需要的页面,但对于ui自动化测试人员来说,增加了定位页面元素的难度。
所以,在进行项目实现ui自动化评估的时候,页面元素的定位难度也是一个评估标准,如果处处都是很难定位的元素,那么无疑会增加脚本的开发与维护的成本,得不偿失。这个时候我可以考虑将更新多的精力放在单元或接口层的自动化上。
提高技术能力
对于自动化测试人员来说,如果熟悉前端技术也会大在降低你定位难度,熟练使用xpath和css技术会使你的定位变得容易很多,如果精通javascript、jquery 等技术,那么使你的定位之路变得更加随心所欲。
规范前端开发
在我们尝试实施的web项目中,大多数在设计初期,前端并没考虑到需要ui层的自动化,所以,有些前端开发人员以实现功能为目的,前端页面的代码相当不规范。这个也是自动化测试定位难的重要原因。如果开发人员在设计代码的时候规范的为元素加上id 和name属性的话,那我们的定们将会变得容易很多。
很多测试人员在对项目进行学习和实施自动化测试的过程总是觉得困难重重,就是因为这些普遍的客观原因所造成的。一方面,我们要努力学好技术,克服这些困难。另一方面,我们要清楚的认识到,自动化技术的应用与实践不是一个人的战斗。一定要得到整个团队的配合与支持。
当然,站在公司的立场,不能带来收益的事情是很难得到支持的,这个就需要读者去综合评估目前的产品真的适合引入自动化么?或者目前的阶段真的迫切需要自动化么?