Selenium 很困扰,大佬们,怎么提升 UI 自动化脚本执行效率

random
random
random
订阅者
10318
文章
0
粉丝
测试交流16245字数 76阅读0分15秒阅读模式

目前使用的是:selenium+python+pytest,为减少运行时间,使用了 selenium-grid 并行处理用例,总共两台服务器,所有脚本跑下来还是接近三小时。
现有资源下,还有什么方法提升脚本执行的效率。希望大佬们,不吝赐教。

 
评论  16  访客  16
    • 大瓶子
      大瓶子 9

      那还要做接口自动化吗

      • Ouroboros
        Ouroboros 9

        给 UI 用例瘦身,部分用例转成接口测试进行覆盖。

        • xinxjxjxj
          xinxjxjxj 9

          你这个思路不错啊,我之前怎么没想到

          • 大瓶子
            大瓶子 9

            ui 自动化,还能用接口吗?

            • Ouroboros
              Ouroboros 9

              如果不加资源,可以考虑先从以下方面入手:

              看现有服务器资源利用情况,如果资源利用率不高,先用满
              审核自动化用例,降低重复检测,精简用例
              分层,降低 UI 脚本执行比例,提高接口执行比例

              • 杨超
                杨超 9

                可以试试用 docker,当然这也要看你内存有多少,能启多少个容器,应该能成倍提高效率

                • 大桥
                  大桥 9

                  楼上已经提到了,我目前采用的方法是对于个别频繁的步骤首次用 UI 检查,后面的类似操作直接用 api 来完成,把用例分组,多进程开 3 到 4 个浏览器同时来跑。

                  • 爱偷懒的QA
                    爱偷懒的QA 9

                    增加硬件资源可以提高效率,不过不是最好的手段。二楼说的对,需要多方面考虑一下:
                    1,从用例执行的流程分析一下,找到耗时的地方,从减少用例执行步骤,提升用例执行时间如入。如通过接口减少操作步骤,合理安排用例执行顺序,优化元素定位方法等。
                    2,在保证用例之间低耦合的前提下,多开几个浏览器,并发执行就可以了。
                    3,合理选择用例集,因为 UI 用例天生比接口慢,所以要合理安排执行的用例集,也能有效地提高执行速度的。

                    • Jerry li
                      Jerry li 9

                      selenium 在一台服务器上面可以开多个 session 的,只要你的账号不存在单点登录的限制,理论上你可以设置很多个 session 去同时跑,减少执行时间。
                      从用例执行测试角度入手,看下哪些步骤耗时比较长,尝试优化,降低单条用例的执行时间。

                      • Thirty-Thirty
                        Thirty-Thirty 9

                        使用虚拟技术,两台变六台

                      匿名

                      发表评论

                      匿名网友
                      确定

                      拖动滑块以完成验证