• 0
  • 0
分享

1、如何提高selenium脚本的执行速度?

Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。但是不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。

我们可以从以下几个方面来提高速度:

一、减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。

二、中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。

三、在设置等待时间的时候,可以sleep固定的时间,也可以检测某个元素出现后中断等待也可以提高速度。

四、实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下,尽量设置多线程运行,提高执行速度。

2、用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

- time.sleep( )
- driver.implicitly_wait(30)

多用 try 捕捉,处理异常

此时我们要分析出不稳定的原因,然后有针对性的去解决问题。

主要有以下几个方面 :

一、网速问题:有的时候网页加载的比较慢,在程序执行的时候要操作的元素没有显示出来。这种情况比较常见,运行一次网速好的时候通过了,再运行一次,页面没有打开,就不通过了。为了提高稳定性,我们只能牺牲运行时间了,在经常检测失败的元素前加上等待时间,等要操作的元素出现之后再执行下面的操作。

二、Selelnium的原因:Selenium1.0和2.0还是有区别的,有些儿函数在2.0下运行确实有时而有效,时面无效。如果mouseover()函数(mouseove事件,返回jquery类型),就是这种情况, 我们需要避免使用这类的函数。

三、多线程的时候,测试用例间相互影响。虽然多线程的时候运行速度比较快,但是如果用例之间的耦合性没有设计好,也会影响的,如果用例A先于用例B执行的时候,就会影响到用例B;反之则没有问题。这种情况,如果你的自动化测试工程打算多线程的时候,提前就要把测试用例测试的耦合度比较松,尽量没有任何关系,因为多线程的执行顺序是不受控制的。

四、元素属性变化:动态ID、

 

作者:EasyBoy.kasting

原文链接:https://blog.csdn.net/qq_30235073/article/details/96072469

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 摘要本文对自动化测试概念发展演变过程进行了简要概述,结合业界流行工具Selenium以实例进行描述,以期达到理论结合实际效果,同时也便于读者理解和应用。【关键词】Selenium WEB测试 自动化测试随着大数据时代到来客户需求变化导致软件开发模型多样化,巨大的数据量和重复性的输入输出工作给手工测试带来了极大的困扰,特别在产品版本升级的回归测试,耗费大量人力物力。在此背景下,自动化测试理念和实践应运而生。并形成了先进基础理论和框架和众多工具,极大提高了测试效率。自动脚本不仅可用于单元测试,还可用于集成测试,进而进行整体功能测试。1 自动化测试概念1.1 定义自动化测试是测试过程中仅需由测试者开...
            11 11 1152
            分享
          •   摘要:全链路生产压测,指的是模拟真实场景、使用多样化的流量请求进行全流程、全链路压力测试。传统的性能测试,测试环境资源数量、各链路硬件资源配置、配比与生产环境存在差异,且系统性能会受其他关联方的影响,单交易压测结果无法反映系统真实性能情况。而全链路生产压测可以找到系统的瓶颈点、发现系统潜在风险;有效评估系统的实际承载能力,指导调配服务资源、调整限流策略。  笔者结合自身参与的银行系统全链路生产压测实践经验,针对全链路生产压测的适用场景、风险及难点和解决方案进行了简述及分析,为全链路生产压测的解决方案提供参考。  1、全链路生产压测适用场景  全链路生产压测适用场景广泛,主要适用于以下四种场...
            15 15 2252
            分享
          • 前言前几天在某个微信群里看到有同学在问测试环境治理的问题,正好我在之前的公司负责过相关的技术项目,在这方面有一定的实践经验,就解答了她的一些疑惑。今天看书时候突然想到了这件事,发现这几年大家都在讲测试开发、测试效能、精准测试、敏捷测试、全链路压测等等很多高大上的技术实践和理念,这篇文章我不会去讲一些看起来很厉害的技术,而是和大家聊聊,我之前负责测试环境稳定性治理时候,面临的种种问题和痛点。项目背景和痛点先交代下背景吧,这样能更好的理解做测试环境稳定性治理的出发点和治理方案为什么要如此设计。我会从业务需求和技术现状两个方面来说明当时技术团队面临的痛点。业务需求当时公司业务处在高速发展期,除了日常...
            11 11 1119
            分享
          •   谷歌要推出类似ChatGPT的聊天机器人了。不仅和ChatGPT进行了对比测试,还测试了一种新的问答式搜索界面。谷歌(108.8, 7.37, 7.27%)CEO皮查伊还将其称为“搜索伴侣”(a companion to search),目的很明确。  Gmail的缔造者保罗?布赫海特(Paul Buchheit)在社交媒体上发文,表达了对谷歌有可能被ChatGPT之类的聊天机器人取代的担忧。  他说,正像谷歌搜索当年取代黄页那样,谷歌搜索一两年内也有可能被ChatGPT取代。  谷歌赚钱的最大法门就在于搜索引擎的结果展示页面(信息分发),而ChatGPT的横空出世会改变这个页面展示方式。...
            0 0 536
            分享
          • 导读在自动化测试实践中,测试数据是制造测试场景的必要条件,本文主要讲述了在沟通自动化框架如何分层,数据如何存储,以及基于单元测试 pytest 下如何执行。并通过实践案例分享,提供数据驱动测试的具体落地方案。基本概念数据驱动测试(DDT)是一种方法,其中在数据源的帮助下重复执行相同顺序的测试步骤,以便在验证步骤进行时驱动那些步骤的输入值和 / 或期望值。在数据驱动测试的情况下,环境设置和控制不是硬编码的。换句话说,数据驱动的测试是在框架中构建要与所有相关数据集一起执行的测试脚本,该脚本利用了可重用的测试逻辑。数据驱动的测试提供了可重复性,将测试逻辑与测试数据分离以及减少测试用例数量等优势。设计...
            0 0 623
            分享
      • 51testing软件测试圈微信