Selenium finds和find的耗时性能比对

本文探讨了在使用Selenium进行自动化测试时,find与finds方法的性能差异。测试结果显示finds比find平均多耗时约9%~11%。为了优化测试场景的执行速度,建议在定位元素确定性较高时优先使用find,并通过多进程执行用例及避免硬性等待来提升效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试场景中,若大量使用了Selenium的元素查找[find、finds],整个测试场景的耗时变得比较长,可能会达到手动测试50%的耗时,如何优化?

  1. 尽量使用find
  2. 各个用例解耦,使用多开进程的方式来执行
  3. 用例内部尽量不使用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 f
	return 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木法星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值