Selenium 很困扰,大佬们,怎么提升 UI 自动化脚本执行效率2022-09-13 17:07:26random random订阅者关注10318文章0粉丝 测试交流16245字数 76阅读0分15秒阅读模式目前使用的是:selenium+python+pytest,为减少运行时间,使用了 selenium-grid 并行处理用例,总共两台服务器,所有脚本跑下来还是接近三小时。 现有资源下,还有什么方法提升脚本执行的效率。希望大佬们,不吝赐教。 复制文章 点赞 登录收藏
未知地区 10F
那还要做接口自动化吗
未知地区 9F
给 UI 用例瘦身,部分用例转成接口测试进行覆盖。
未知地区 8F
你这个思路不错啊,我之前怎么没想到
未知地区 7F
ui 自动化,还能用接口吗?
未知地区 6F
如果不加资源,可以考虑先从以下方面入手:
看现有服务器资源利用情况,如果资源利用率不高,先用满
审核自动化用例,降低重复检测,精简用例
分层,降低 UI 脚本执行比例,提高接口执行比例
未知地区 5F
可以试试用 docker,当然这也要看你内存有多少,能启多少个容器,应该能成倍提高效率
未知地区 4F
楼上已经提到了,我目前采用的方法是对于个别频繁的步骤首次用 UI 检查,后面的类似操作直接用 api 来完成,把用例分组,多进程开 3 到 4 个浏览器同时来跑。
未知地区 3F
增加硬件资源可以提高效率,不过不是最好的手段。二楼说的对,需要多方面考虑一下:
1,从用例执行的流程分析一下,找到耗时的地方,从减少用例执行步骤,提升用例执行时间如入。如通过接口减少操作步骤,合理安排用例执行顺序,优化元素定位方法等。
2,在保证用例之间低耦合的前提下,多开几个浏览器,并发执行就可以了。
3,合理选择用例集,因为 UI 用例天生比接口慢,所以要合理安排执行的用例集,也能有效地提高执行速度的。
未知地区 2F
selenium 在一台服务器上面可以开多个 session 的,只要你的账号不存在单点登录的限制,理论上你可以设置很多个 session 去同时跑,减少执行时间。
从用例执行测试角度入手,看下哪些步骤耗时比较长,尝试优化,降低单条用例的执行时间。
未知地区 1F
使用虚拟技术,两台变六台