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

susanml
susanml
订阅者
459
文章
0
粉丝
测试交流1 347字数 71阅读0分14秒阅读模式

目前自动化 UI 自动化用例 1000+,grid 执行,8 台机器,执行要 5 个小时,
不知道大佬们有没有好的方法可以降低执行时间的?
大佬们所在公司目前的 UI 自动化执行时间大概是个什么情况? 文章源自玩技e族-https://www.playezu.com/180060.html

 
    • fiskeryang
      fiskeryang 9

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

      或者选择分层测试,UI 少做或者不做,放接口层做。如果用例之间不存在用户账号的限制(不会相互踢),那么可以考虑继续加线程。其实你说有八台机器,不知道是设置每台机器只跑一个线程,还是已经设置了多个线程? 这位仁兄说 1000+ case 执行时间要小于一小时,看来是没接受过后台很多复杂依赖的系统。以我司为例,做个登录可能都要半分钟,还隔三差五地挂某些服务。这种情况下我们能三个小时跑完,已经是非常好的结果了这才是正解,最有效的方式是减少用例数,用别的手段分摊 ui 用例做的事情,1000+ 的用例,维护起来也是相当头疼的吧是的 要看具体的业务来定
      我们 UI 一般只用来跑冒烟测试 前司约 4500 个用例 20 个 Driver 并行 一个半小时左右
      他这个 1000 用例 5 个小时 肯定会有优化空间的UI 自动化,57600+ 用例,196 台执行机,10 个小时 (22:00–08:00) 5w 个用例我的天 一般 UI 自动化不会做全量的业务吧。
      我们公司一般是接口全量,UI 自动化只做关键业务和 TOP 业务。

      如果确实用例多,除了增加执行机器外,还可以优化下框架代码,脚本代码,比如减少初始化操作时长,提前处理测试数据等等第一轮:减少失败重试次数;用例独立,分发到各机器上运行。
      第二轮:再关注失败的 case

      这 cases 也太多了 1、能不用强制等待就不用强制等待
      2、同一个账号仅登录一次然后保存 token 到本地,以供之后使用。减少频繁实例化浏览器对象和登录所用的时间
      3、能 goto 到目标页面的尽量不去点击 menu 跳转。有收获,感谢回复我这里的流程也是比较复杂,哎,太复杂了,头大,一个用例跑下来 平均 10~15 分钟 头大如果条件允许的话尽量拆成多个独立的小用例来执行,一个用例流程太长 稳定性也更难保障按用例级别分轮次执行,比如第一轮执行 P0 用例,通过率达到 80% 才执行 P1 用例,第二轮执行 P1 用例,第三轮执行 P2 用例好家伙,那么强吗好奇大家的 UIcase 都是写的啥呀,我们这边刚开始 web ui 自动化,把主流程覆盖一下之后就不知道怎么写了,就写了几条 能自动化的,坚决自动化,写几条 和成百上千条,考虑的问题完全不一样蟹蟹,还有个问题哈,您的 UI 自动化 CASE 是通过什么断言的呢?assertj想问下大佬这些用例是录制出来的还是纯代码实现的,这个数量级维护成本也太高了吧……都是 C# 实现的。
      4 个人 70% 时间做自动化,包括测试环境搭建,脚本实现,测试运行,结果分析,脚本维护,bug 提交和跟踪,还有 30% 时间做手工测试。我们的要求是自动化人员必须搭建环境和参与手工测试。

    匿名

    发表评论

    匿名网友
    确定

    拖动滑块以完成验证