Selenium finds和find的耗时性能比对
测试场景中,若大量使用了Selenium的元素查找[find、finds],整个测试场景的耗时变得比较长,可能会达到手动测试50%的耗时,如何优化?
- 尽量使用find
- 各个用例解耦,使用多开进程的方式来执行
- 用例内部尽量不使用time.sleep硬性等待
以下是find和finds的性能耗时对比:
# coding = utf-8
from selenium import webdriver
import time_url = 'https://www.baidu.com/'
_xpath = '//input[@value='百度一下']'def monitor_time(func):def wrapper(*args, **kwargs):star_time = time.time()f = func(*args, **kwargs)end_time = time.time()print('%s() runtime:%s ms' % (fn.__name__, 1000 * (end_time - star_time)))return freturn wrapper@monitor_time
def test_find():chrome = webdriver.Chrome()chrome.get(_url)e = chrome.find_element_by_xpath(_xpath)@monitor_time
def test_finds():chrome = webdriver.Chrome()chrome.get(_url)e = chrome.find_elements_by_xpath(_xpath)[0]run_find() * 100次,取100次耗时的平均数
run_finds() * 100次,取100次耗时的平均数
测试结果:
finds比find 大约多耗时 9%~11%, 在确定性比较高的情况下,尽量用find
Selenium finds和find的耗时性能比对相关推荐
- 保存模型后无法训练_模型构建到部署实践
导读 在工业界一般会采用了tensorflow-serving进行模型的部署,而在模型构建时会因人而异会使用不同的深度学习框架,这就需要在使用指定深度学习框架训练出模型后,统一将模型转为pb格式,便于 ...
- 爬虫 页面元素变化_爬虫 基本知识 萌新
爬虫 定义 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...
- python的celery的面试_面试必问的celery,你了解多少?
celery是什么,有什么用? 对于celery,各种文档解释一堆,可以自己看下,根据日常互动,公众号用户小白居多,官方用到的很多名词可能你理解起来不是那么容易,我这里就不照本宣科了,就以我这边的理解 ...
- python+selenium自动化软件测试
1.1 环境搭建 1.1.1 selenium简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测 ...
- linux selenium_爬虫界又出神器|一款比selenium更高效的利器
提起selenium想必大家都不陌生,作为一款知名的Web自动化测试框架,selenium支持多款主流浏览器,提供了功能丰富的API接口,经常被我们用作爬虫工具来使用.但是selenium的缺点也很明 ...
- 你需要知道的有关Selenium异常处理的都在这儿
什么是异常? 顾名思义,作为程序员的一种常用术语,"异常"与任何特定的编程语言无关.它属于程序因为突然中止,而未能交付出预期输出的事件.通常,引发异常出现的潜在因素往往来自如下方面 ...
- Python+selenium自动化:页面加载慢、超时加载情况下内容已经加载完毕的快速执行脚本解决方案,页面加载时间过长优化方案
driver.set_page_load_timeout(3) 页面加载时间设置 3 秒,执行到某一步涉及页面加载如果加载时间超过 3 秒就会停止加载并抛出异常,其实这个时候页面内的元素已经加载出来了 ...
- 开发函数计算的正确姿势——运行 Selenium Java
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- javascript createelement_贝程学院:Selenium与 JavaScript
一.为什么学习JavaScript 进行web自动化测试也好还是移动端自动化测试也好,必须要对系统实现用到的技术有一定的了解,而JavaScript作为世界上最流行的脚本语言,在电脑.手机.平板上浏览 ...
最新文章
- 华数软件测试岗位,重磅:字节跳动与华数共同研发的电视原创视频app已正式测试上线...
- 经典PID控制算法用C语言实现!
- 风洞试验计算机控制模块,计算机控制风洞
- win2003 IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ASP.NET 4.0(MVC3)
- ubuntu创建php文件,ubuntu系统创建桌面快捷方式的方法
- 【JVM】 讲的比较好的JVM博客连接
- 2003引脚功能电压_《线性稳压器系列》1:从线性稳压器的原理,功能及类型说起......
- 种子编辑 android6,360种子编辑器安卓APK下载-360种子在线编辑器手机版下载v1.0 Android版-腾牛安卓网...
- (郭霖)Android图片加载框架最全解析(一),Glide的基本用法
- 12345政府热线报告
- 虚拟机怎么架设dns服务器,虚拟机centos7 DNS服务器搭建
- 微信小程序利用百度api达成植物识别
- office365:PowerPoint新功能设计器,让排版更轻松
- python实现kmeans算法对图片的聚类分割
- 荣联科技转型的一二三四五
- fourier feature networks
- 英伟达DeepStream学习笔记45——deepstream 绘制感兴趣ROI区域 绘制矩形框
- CX51 用户手册----MDU_R515 伪指令
- Java - 为什么不能根据返回类型来区分重载?
- 制作gltf动态夜景模型
热门文章
- 由浅入深学java iso_由浅入深学Java:基础、进阶与必做260题 PDF扫描版[47MB]
- 腾讯云搭建 CentOS 可视化界面startx无效解决方法
- 求最小公倍数(扩展版)
- 最优秀的六种造字方法
- C语言 switch语句来调用函数
- 苹果手机怎么注册新Apple id帐户注册
- 2020Android不死我不倒,作为一个程序员,你觉得最大的悲哀是什么
- Lucky Kat LAND — NFT 系列发售
- java中super的三种用法
- 中国大学moocpython答案查询_中国大学MOOC(慕课)_Python编程基础_mooc题库答案查询...