• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一直以来,在整个IT行业中,一说起软件测试这个工作,人们脑子中浮现的都是一群软件测试工程师用双手在键盘上或在手机上“点点点”的场景,所以很长一段时间,软件测试工程师都被戏称为“点点点”工程师。不过,现在0202年都过了这么久了,如果还抱着这种态度来看待“软件测试”这个职业,未免有点太过时了。这就跟前几年台湾人民觉得祖国大陆人民吃不起茶叶蛋一样,“Out的妈妈给Out开门,Out到家了”。  况且,现在的软件测试跟传统的软件测试相比已经发生了非常大的变化,不管是测试范围还是测试手段,都有很大的不同。所以,现在我们更专业的叫法是“测试开发工程师”,从这个名字就可以看出来,传统的点点点已经没有市...
            0 0 1016
            分享
          • 我们都知道对于测试人员来说最重要的两个评审会议是需求评审和用例评审。需求评审需求会议评审的最根本有以下几个目的:第一,评审需求中产品设计的功能中有问题的地方,和没有量化的地方,比如功能设计的字段的类型和限制长度,规则等等。第二,评审需求中有问题的地方我们肯定都要推动产品进行修改最终达成一致。第三,我强调为什么要量化,只有量化之后,测试才能后期的用例编写,开发才能进行一些程序设计包括数据库设计。什么是量化?我举个简单的例子:比如某软件登录是手机号登录,产品设计的文档中写的是输入规范的手机号。这句话就是有问题的,没办法量化,什么是规范的手机号?如果说手机号为首位为1,11位数字,这样的需求才是没问...
            0 0 2319
            分享
          •   本次上线的项目属于OA系统中的一个子模块。OA系统,百度百科上解释,Office Automation(简称OA),即办公自动化,是将计算机、通信等现代化技术运用到传统办公方式,进而形成的一种新型办公方式。办公自动化利用现代化设备和信息化技术,代替办公人员传统的部分手动或重复性业务活动,优质而高效地处理办公事务和业务信息,实现对信息资源的高效利用,进而达到提高生产率、辅助决策的目的,最大限度地提高工作效率和质量、改善工作环境。笔者所在公司的OA项目提供已授权的同事浏览各家公司首页、申请单据、审批单据等功能。本次谈及的项目模块即包含给公司首页浏览、公司专题配置以及模块编码功能。  产品提出的...
            0 0 476
            分享
          • 免费的开源框架和工具由于其开源特性,现在逐渐成为自动化测试的首选解决方案。 区别在于,你是喜欢使用类库编写一个全新的自动化测试框架,或者喜欢使用一个现成的工具。本文帮忙你快速了解 10 大免费和开源测试工具、框架。Katalon StudioKatalon-StudioKatalon Studio 是一款流行的免费测试自动化工具,适用于 Web、移动、API和桌面(Windows)。Katalon Studio 提供低代码和脚本方法,消除了构建和维护单独测试框架的培训成本。借助强大的内置功能,用户可以直接专注于测试活动,而在创建、运行和维护测试上花费更少的精力。支持的编程语言:Java 和 G...
            0 0 1085
            分享
          • 个人简历就职目标:软件测试工程师简历是我们求职的第一步,也是非常重要的一步。如果你简历写的一塌糊涂,那么你瞬间就会被淘汰,那么一份好的简历应该怎么写呢?一般分为如下几部分内容:1、个人基本信息对于这一部分来说,只要突出自己在个人基本信息的优势。2、个人技能情况技能的话就把你的过程改进思想和技术全部体现在里边,避免了解的词汇。3、个人学校经历具体的学校信息情况和时间。4、个人工作经历主要写哪年到哪年在哪家公司,简单描述做什么事情。5、项目经验这块最重要的,最好能有3个项目左右,如果你毕业1年以上的话,然后在这个项目写出完整的项目模块信息,对项目介绍,然后测试在项目的完整流程你做的事情,然后就是你...
            9 9 2540
            分享
      • 51testing软件测试圈微信