如题。
希望了解下各位同行的做法。我们公司的 Web 自动化功能测试用 Selenium 开展。即对手工测试用例进行自动化脚本覆盖,分布式的在多台机器多个浏览器上执行。每个版本迭代更新时,根据执行结果情况维护调整用例脚本,最终把测试回归情况告知相关人员。我们的自动化覆盖率达到 95% 以上,即基本上手工测试用例都会覆盖到,要执行的用例数达到 2000 多,而自动化执行时间在半个小时左右。看起来很完美,但是自动化测试人员的工作量挺大,每个版本都需要维护那么多的用例脚本,而且业务上也没有提升。
在此情况下,为了释放自动化测试人员的工作,公司希望能够更进一步做自动化的工作,即二次开发自动化工具,使得手工测试人员能够通过简单的输入如通过功能界面操作然后生成自动化脚本再执行。听起来像 Selenium 的 IDE 工具,但大家都知道这个工具生成的脚本常常是无法执行的,很多元素的定位不唯一,需要修改。而我们要求输入的操作,自动生成的脚本中对类似元素定位这样的情况一定是唯一的,为此打算通过扫描 Web 页面的方法,不管是通过 id,xpath 定位,得出的结果都是唯一的情况。但是 Web 页面千差万别,有些页面并不是标准的 dom 结构,导致目前技术上比较难解决。
在此,想了解下各位测试大咖的做法,相互比较下 优劣情况。并且对目前我们二次开发工具的做法遇到的 技术问题有没有好的技术方案。