现在每次抓取页面元素都要重新进行实际的操作,如果能够进行录制保存,每种场景只需要实际执行一次,然后后续都用操作中录制下来的页面进行元素查看
从功能上,你把 dump 下来的页面结构 + 截图保存起来,使用时代替实际实时抓取的值,发给元素抓取工具,是可以做到的。只是这个功能可能并不是核心功能,所以一般工具没做。
这样做有个问题,浏览器当前的 DOM 和 保存的 DOM 有可能不一致,累计下来可能相差越来越大。
你说的这种方式,以前微软的 vs coding 工具就是这么做的,把元素的很多属性都录制下来,然后回放的时候会根据这一组属性去识别元素,稳定性比只靠单个属性去识别要高。
嗯嗯,明白你的目的。从目前工具上,暂时没接触过有这样功能的工具。
建议你可以换一下思路,用类似 page object 的模式写用例。每个页面用到的元素记录到 page object 里面。你写用例的时候直接用就是了,也不用用例里各种 find element 。
CodeceptJS UI 可以进行页面的 ScreenShot
有很多酷炫的 chrome 插件,其中有个叫 chropath,支持 web 页面的元素录制功能,可能不能完全满足需求。
如果自己会点 js,或者找个会 js 的帮忙改改源码,就都能搞定了
app 同样可以自己改 uiautomator,只不过是 java 的
如果你用 airtest,那就更简单,直接把页面上所有带有 text 属性的元素 dump 下来。
但话说回来,这种做法看似高效,实际意义并不大,元素定位并不是自动化测试的痛点