自动化测试——Selenium+Python判断元素是否可见,及元素未出现时设置超时时限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试——Selenium+Python判断元素是否可见,及元素未出现时设置超时时限相关的知识,希望对你有一定的参考价值。
自动化测试中,有时可以根据某元素是否出现(即可见)来进行断言,判断元素是否可见的方法如下:
from selenium.webdriver.support import expected_conditions as EC def is_element_visible(self, element): driver = self.driver try: the_element = EC.visibility_of_element_located(element) assert the_element(driver) flag = True except: flag = False return flag
需要进行判断时,调用此方法即可。
有时在进行操作后,某元素需要一段时间后才能显示,此时可以设置一时间限制,在此时间间隔内不断判断该元素是否可见,若找到则继续后续操作,否则提示元素未找到。代码如下:
from selenium.webdriver.common.by import By from datetime import datetime the_element = is_element_visible(self, (By.ID, "kw")) if the_element: print "element appears." else: time_start = datetime.now() while not the_element: recheck_the_element = is_element_visible(self, (By.ID, "kw")) time_now = datetime.now() if recheck_the_element: print "element appears." break # 此处超时时限设置为10秒 elif (time_now - time_start).seconds > 10: print "element is invisible!" break else: continue
以上是关于自动化测试——Selenium+Python判断元素是否可见,及元素未出现时设置超时时限的主要内容,如果未能解决你的问题,请参考以下文章
自动化测试常用断言的使用方法(python+selenium)
Python+Selenium自动化测试框架--第一个自动化测试脚本