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、

python自动化操作应用程序错误_python自动化常见问题汇总相关推荐

  1. python自动化操作应用程序错误_web自动化中踩过的低级错误坑(python+selenium)

    1.定位了元素没有做下一步操作,比如,点击.输入等功能,而报错,报错信息如下: 2.上传图片时,定位元素,应该定位input标签,点击页面input标签肉眼没有看到定位到任何元素,以为无法成功,实际上 ...

  2. python自动化办公入门故事教案_Python自动化办公知识点整理汇总

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  3. python的运维开发课程_Python自动化运维开发实战课程方案

    课程简介:? ? 随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分.面对越来越复杂的业务以及日趋多样化的用户需求,不断扩展的IT应用需要合理的IT运维保障IT服务灵活便捷.安全稳定 ...

  4. python可以用来编写计算机网络程序吗_python学习——网络程序设计

    一.前言 Socket是计算机之间进行网络通信的一套程序接口,最初由Berkeley大学研发,目前已经成为网络编程的标准,可以实现跨平台的数据传输.Socket是网络通信的基础,相当于在发送端和接收端 ...

  5. python实现录音小程序 界面_python怎么对矩阵添加一列python实现录音小程序

    本文为大家分享了python实现录音小程序的具体代码,供大家参考,具体内容如下 学习目标: 学习电脑网从python实现录音小程序分析来看,对python实现录音小程序的结果.掌握python的pya ...

  6. python exe运行报 编码错误_python运行显示编码错误

    python中运行显示编码错误一般有2种原因: 编码与译码的方式不一致 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII chara ...

  7. python运行不了程序代码_python怎么运行代码程序

    展开全部 一.使用Python的解释器: 1.安装python一般都会有一个交互式32313133353236313431303231363533e78988e69d8331333433653964解 ...

  8. python能写桌面程序吗_python能写桌面程序吗

    其实Python/Java/PHP都不适合用来做桌面开发,Java还是有几个比较成熟的产品的,比如大名鼎鼎的Java集成开发环境IntelliJ IDEA.Eclipse就是用Java开发的,不过PH ...

  9. python抽奖简单小程序游戏_python实现抽奖小程序

    本文实例为大家分享了python实现抽奖小程序的具体代码,供大家参考,具体内容如下 设计一个抽奖服务 背景:有x个奖品,要求在y天内发完:每天至少发放z个奖品:每天抽奖人数不定,事先会假设一个范围是m ...

最新文章

  1. Android adb opendir failed ,permission denied
  2. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理【01】
  3. CC254x--API
  4. 圆周率π的计算历程及各种脑洞大开的估计方法
  5. 用Golang构建gRPC服务
  6. websphere mq 查看队列中是否有数据_如果面试官再问你消息队列,就把这篇甩给他!...
  7. 20191208_神经网络搭建_缺失值箱型图
  8. 华为又又又白给了,自动化福利领取了吗?
  9. java将文件移动到另一个目录
  10. opencv-之求直线的斜率
  11. java中怎么创建表格_Java中的表格怎么利用表格模型进行创建
  12. centos7.x 搭建php运行环境
  13. 揭秘!用标准Go语言能写脚本吗?
  14. java 数据可视化
  15. 堆溢出(DwordShoot)利用SEH异常处理
  16. 支持向量机之目标函数
  17. 建国集团与黄江二手车签订战略合作协议
  18. 如何通俗地解释梯度下降法
  19. 使用 Siesta 处理 Swift 网络请求
  20. 用ECSHOP增强工具把淘宝数据包批量上传到自己的ECSHOP独立网店

热门文章

  1. Ubuntu清理硬盘空间的8个技巧
  2. python脚本——selenium自动化执行一些网页上的操作
  3. python获取List数组中重复元素的个数(arcpy中统计FeatureClass中各类型地物要素的图斑数)(地理国情监测)
  4. MySql数据库练习
  5. IPv4路由cache统计信息
  6. 力天创见客流统计系统过滤员工
  7. 职教云JAVA课程答案_智慧职教云课堂Java程序设计基础作业答案
  8. nginx学习——建立hash表的前提条件
  9. Android 播放系统提示音
  10. 简述控制反转ioc_什么是控制反转(Inversion of Control,IoC)