自动化测试——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
时间: 2024-08-07 00:16:02

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

自动化测试(Selenium+python)-环境搭建

一.Python安装(win7 64位系统) 1.下载Python安装包,选择2.7版本和3.6版本都可以 官网下载地址:https://www.python.org/62 2.Python安装,双击傻瓜式安装到D盘(建议别安装在c盘) 二.环境变量 1.安装完成后,看下这个目录D:\python\Scripts,有没pip.exe和easy_install.exe(一般都有) 2.将D:\python和D:\python\Scripts,添加到环境变量path下 三.安装selenium 1.

自动化测试——Selenium+Python之下拉菜单的定位

1.通过selenium.webdriver.support.ui的Select进行定位 下拉菜单如下图: 定位代码(选择Male): ...from selenium.webdriver.support.ui import Select...    # 通过index进行选择    Select(driver.find_element_by_id("gender")).select_by_index(1)    # 通过value进行选择    Select(driver.find_

<译>Selenium Python Bindings 6 - WebDriver API

本章涉及Selenium WebDriver的所有接口. Recommended Import Style 推荐的导入风格如下: from selenium import webdriver 然后,你可以这样访问所有的类: webdriver.Firefox webdriver.FirefoxProfile webdriver.Chrome webdriver.ChromeOptions webdriver.Ie webdriver.Opera webdriver.PhantomJS webdr

Selenium+Python自动化测试实战(2)元素定位

1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事,我们就知道怎么去用它做自动化测试. 与Selenium和Selenium RC不同,Selenium2将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样.其实刚

selenium + python自动化测试unittest框架学习(三)webdriver元素定位(一)

1.Webdriver原理 webdirver是一款web自动化操作工具,为浏览器提供统一的webdriver接口,由client也就是我们的测试脚本提交请求,remote server浏览器进行响应请求,相对于原来selenium1中的selenium rc更加的简便,对浏览器的操作更加灵活. 2.定位 (1)元素的定位: 元素的定位可以通过id,name,class name,tag name,link_text,partial_link_text,css selector,xpath等 语

selenium + python自动化测试unittest框架学习(二)

1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py >test_case >__init__.py >test_case1..... >public >__init__.py >login.py >loginout.py test_case文件夹主要存放测试用例,且测试用例命名以test_开头 public文件夹是test

selenium + python自动化测试unittest框架学习(五)webdriver的二次封装

因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<selenium +  python自动化测试>一书. 在与测试用例文件夹同一目录下新建一个文件夹package,用来放置封装方法的模块文件 我们将webdriver二次封装的文件命名为location.py from selenium import webdriver from test_case.pub

selenium+python自动化测试

F12: 右键   选择复制  path 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") print(driver.title) driver.find_element_by_id("kw").send_ke

selenium+python之元素定位方式介绍

网页自动化测试最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以今天来总结下Selenuim+Python最基本的几种定位方式及实例说明, 以百度搜索输入框为例,用谷歌浏览器具体说明各个定位方式的用法. 1.导入selenium包的webdriver方法 输入 from selenium import webdriver 2.从 time 模块中引入sleep函数,使用sleep函数可以让程序休眠 输入 from time import sleep