码迷,mamicode.com
首页 > 编程语言 > 详细

自动化测试——Selenium+Python判断元素是否可见,及元素未出现时设置超时时限

时间:2016-10-18 22:50:54      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

自动化测试中,有时可以根据某元素是否出现(即可见)来进行断言,判断元素是否可见的方法如下:

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判断元素是否可见,及元素未出现时设置超时时限

标签:

原文地址:http://www.cnblogs.com/desperado0807/p/5961055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!