显示等待
显示等待方法可提高自动化测试效率,和用例稳定性;
显示等待实现原理:写个死循环每次获取当前时间去和需等待时间对比,如果在等待时间内找到元素或者当前时间大于等待时间则跳出死循环
# 代码实现
import time
def wait(element,timeout):
end_time = time.time() + timeout # 结束时间,timeout-需等待时间单位秒
while True:
# 需执行的条件
if element:
break #等待时间内达到条件跳出循环
if time.time() > end_time:
break # 如果当前时间大于等待时间跳出循环
重新封装find_element方法实现显示等待
使用框架:selenium包
- WebDriverWait -显示等待
- expected_conditions.visibilty_of_element_located -查询页面元素
1、新建.py文件,文件名自定
# 导入方法
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as Es
class base_page():
def __init__(self,driver):
self.driver = driver # 传入实例化webdriver
# 重新封装find_element,传参传入元祖
def find_element(self,*loc):
try:
WebDriverWait(self.driver,10).until(EC.visibility_of_element_located(*loc))
return self.driver.find_element(*loc)
except Exception as e
raise e
def send_keys(self,values,*loc):
try:
self.find_element