目前自动化 UI 自动化用例 1000+,grid 执行,8 台机器,执行要 5 个小时,
不知道大佬们有没有好的方法可以降低执行时间的?
大佬们所在公司目前的 UI 自动化执行时间大概是个什么情况?
一个用例有多少步骤?单独跑需要多长时间?
1000+ 用例 5 个小时确实太慢了 尽量要控制在 1 小时以内
在保证操作稳定性的前提下 可以适当减少不必要的线程等待时间,优化操作步骤的流程,灵活运用显式等待的各种条件
实在不行还可以增加 Node 数量 一台 4C8G 的虚拟机跑 10 个 Driver 没问题的 8 个不够 就增加到 16 个或更多
另外要合理分配各个 Node 的执行用例,总执行时长是由最慢的那个 Node 决定的
加机器
1000 个用例 得多少维护工作量?
1.优化用例质量
2.加资源
或者选择分层测试,UI 少做或者不做,放接口层做。
如果用例之间不存在用户账号的限制(不会相互踢),那么可以考虑继续加线程。其实你说有八台机器,不知道是设置每台机器只跑一个线程,还是已经设置了多个线程?
这位仁兄说 1000+ case 执行时间要小于一小时,看来是没接受过后台很多复杂依赖的系统。以我司为例,做个登录可能都要半分钟,还隔三差五地挂某些服务。这种情况下我们能三个小时跑完,已经是非常好的结果了
是的 要看具体的业务来定
我们 UI 一般只用来跑冒烟测试 前司约 4500 个用例 20 个 Driver 并行 一个半小时左右
他这个 1000 用例 5 个小时 肯定会有优化空间的
UI 自动化,57600+ 用例,196 台执行机,10 个小时 (22:00--08:00)
一般 UI 自动化不会做全量的业务吧。
我们公司一般是接口全量,UI 自动化只做关键业务和 TOP 业务。
如果确实用例多,除了增加执行机器外,还可以优化下框架代码,脚本代码,比如减少初始化操作时长,提前处理测试数据等等
第一轮:减少失败重试次数;用例独立,分发到各机器上运行。
第二轮:再关注失败的 case
这 cases 也太多了
1、能不用强制等待就不用强制等待
2、同一个账号仅登录一次然后保存 token 到本地,以供之后使用。减少频繁实例化浏览器对象和登录所用的时间
3、能 goto 到目标页面的尽量不去点击 menu 跳转。
按用例级别分轮次执行,比如第一轮执行 P0 用例,通过率达到 80% 才执行 P1 用例,第二轮执行 P1 用例,第三轮执行 P2 用例
好奇大家的 UIcase 都是写的啥呀,我们这边刚开始 web ui 自动化,把主流程覆盖一下之后就不知道怎么写了,就写了几条
都是 C# 实现的。
4 个人 70% 时间做自动化,包括测试环境搭建,脚本实现,测试运行,结果分析,脚本维护,bug 提交和跟踪,还有 30% 时间做手工测试。我们的要求是自动化人员必须搭建环境和参与手工测试。