Selenium UI 自动化如何降低测试执行时间?

树叶 · 2022年06月15日 · 最后由 autogG 回复于 2022年07月21日 · 11400 次阅读

目前自动化 UI 自动化用例 1000+,grid 执行,8 台机器,执行要 5 个小时,
不知道大佬们有没有好的方法可以降低执行时间的?
大佬们所在公司目前的 UI 自动化执行时间大概是个什么情况?

共收到 27 条回复 时间 点赞

一个用例有多少步骤?单独跑需要多长时间?
1000+ 用例 5 个小时确实太慢了 尽量要控制在 1 小时以内
在保证操作稳定性的前提下 可以适当减少不必要的线程等待时间,优化操作步骤的流程,灵活运用显式等待的各种条件
实在不行还可以增加 Node 数量 一台 4C8G 的虚拟机跑 10 个 Driver 没问题的 8 个不够 就增加到 16 个或更多

另外要合理分配各个 Node 的执行用例,总执行时长是由最慢的那个 Node 决定的

加机器

1000 个用例 得多少维护工作量?

1.优化用例质量
2.加资源

或者选择分层测试,UI 少做或者不做,放接口层做。

如果用例之间不存在用户账号的限制(不会相互踢),那么可以考虑继续加线程。其实你说有八台机器,不知道是设置每台机器只跑一个线程,还是已经设置了多个线程?

fiskeryang 回复

😂 这位仁兄说 1000+ case 执行时间要小于一小时,看来是没接受过后台很多复杂依赖的系统。以我司为例,做个登录可能都要半分钟,还隔三差五地挂某些服务。这种情况下我们能三个小时跑完,已经是非常好的结果了

Ouroboros 回复

这才是正解,最有效的方式是减少用例数,用别的手段分摊 ui 用例做的事情,1000+ 的用例,维护起来也是相当头疼的吧

Jerry li 回复

是的 要看具体的业务来定

我们 UI 一般只用来跑冒烟测试 前司约 4500 个用例 20 个 Driver 并行 一个半小时左右

他这个 1000 用例 5 个小时 肯定会有优化空间的

UI 自动化,57600+ 用例,196 台执行机,10 个小时 (22:00--08:00)

树叶 #10 · 2022年06月16日 Author
Thirty-Thirty 回复

😂 😂

Thirty-Thirty 回复

5w 个用例我的天😨

一般 UI 自动化不会做全量的业务吧。
我们公司一般是接口全量,UI 自动化只做关键业务和 TOP 业务。

如果确实用例多,除了增加执行机器外,还可以优化下框架代码,脚本代码,比如减少初始化操作时长,提前处理测试数据等等

第一轮:减少失败重试次数;用例独立,分发到各机器上运行。
第二轮:再关注失败的 case

这 cases 也太多了😂

1、能不用强制等待就不用强制等待
2、同一个账号仅登录一次然后保存 token 到本地,以供之后使用。减少频繁实例化浏览器对象和登录所用的时间
3、能 goto 到目标页面的尽量不去点击 menu 跳转。

树叶 #15 · 2022年06月16日 Author
莫离 回复

有收获,感谢回复

树叶 #16 · 2022年06月16日 Author
Jerry li 回复

我这里的流程也是比较复杂,哎,太复杂了,头大,一个用例跑下来 平均 10~15 分钟

树叶 #17 · 2022年06月16日 Author
Pactortester 回复

😂 头大

树叶 回复

如果条件允许的话尽量拆成多个独立的小用例来执行,一个用例流程太长 稳定性也更难保障

按用例级别分轮次执行,比如第一轮执行 P0 用例,通过率达到 80% 才执行 P1 用例,第二轮执行 P1 用例,第三轮执行 P2 用例

Thirty-Thirty 回复

好家伙,那么强吗

好奇大家的 UIcase 都是写的啥呀,我们这边刚开始 web ui 自动化,把主流程覆盖一下之后就不知道怎么写了,就写了几条😭 😭

树叶 #22 · 2022年06月24日 Author
谈笑 回复

能自动化的,坚决自动化,写几条 和成百上千条,考虑的问题完全不一样

树叶 回复

蟹蟹,还有个问题哈,您的 UI 自动化 CASE 是通过什么断言的呢?

树叶 #24 · 2022年06月28日 Author
谈笑 回复

assertj

Thirty-Thirty 回复

想问下大佬这些用例是录制出来的还是纯代码实现的,这个数量级维护成本也太高了吧……

codt 回复

都是 C# 实现的。
4 个人 70% 时间做自动化,包括测试环境搭建,脚本实现,测试运行,结果分析,脚本维护,bug 提交和跟踪,还有 30% 时间做手工测试。我们的要求是自动化人员必须搭建环境和参与手工测试。

谈笑 回复

这个问题我也想问,为什么会有这么多用例啊。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册