python自动化测试selenium核心技术等待条件教程
作者:aovenus 发布时间:2022-02-23 15:18:04
标签:selenium,自动化测试,等待
Selenium中的鼠标和键盘事件被封装在ActionChains类中,使用方法:
ActionChains(driver).click(btn).perform()
ActionChains中常用方法:
示例网站:http://sahitest.com/demo
示例场景:打开Sahi Tests页面,点击“Alert Test”页面,鼠标点击页面中“Click For Alert”按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告文本信息,之后点警告框中的确定按钮。
示例脚本:
from selenium import webdriver
from time import sleep
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
class TestWaitCondition(object):
def setup(self):
self.driver = webdriver.Chrome()
self.driver.get("https://sahitest.com/demo/")
def test_waitcondition(self):
#点页面上的Alert Test
self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[3]/a[1]").click()
#鼠标点击页面中“Click For Alert”按钮
self.driver.find_element_by_name("b1").click()
wait = WebDriverWait(self.driver,2)
#等待并判断警告框是否存在
wait.until(ec.alert_is_present())
#切换到alert页面
alert = self.driver.switch_to.alert
#获取并打印警告框中文本
print(alert.text)
#点弹出警告框中的确定
alert.accept()
self.driver.quit()
运行结果:
以上:来自极客时间课程:selenium自动化测试学习总结。
来源:https://blog.csdn.net/aovenus/article/details/121185584


猜你喜欢
- jTopo 帮助说明网站http://www.jtopo.com/index.html使用例子:http://www.jtopo.com/d
- 一、当我们用Python matplot时作图时,一些数据需要以百分比显示,以更方便地对比模型的性能提升百分比。二、借助matplotlib
- 一、请求扩展1.before_request作用: 类比django中间件中的process_request,在请求到来执行路由函数之前先执
- 本文实例讲述了Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能。分享给大家供大家参考,具体如下:【吐槽】网上的
- 如下所示:#抽象 (函数)# 1、callable 判断一个对象是否可以被调用x = 1def y(): &nbs
- 1 构建 顺序依据词法名顺序 当导入一个包,且这个包 定义了 init(), 那么导入时init()将被执行。具体执行顺序: 全局变量定义时
- 错误类型: Microsoft JET Database Engine (0x80040E10) 至少一个参数没有被指定值。 原因:在写SQ
- 本文实例讲述了ThinkPHP中自定义错误页面和提示页面的方法。分享给大家供大家参考。具体实现方法如下:在ThinkPHP中有两个方法时提示
- 代码如下:SELECT * FROM Orders WHERE OrderGUID IN('BC71D821-9E25-
- 一、python代码实现及turtle库简单介绍桌面时钟项目描述1、使用turtle库绘制时钟外形及表针;2、使用datetime获取系统时
- MySQL授权命令grant的使用方法:本文实例,运行于 MySQL 5.0 及以上版本。MySQL 赋予用户权限命令的简单格式可概括为:g
- mysql安装启动两种方法如下所示:方法一(简单版):1.cmd进入mysql安装的bin目录:mysqld.exe –install2.n
- 合理使用装饰器可以简化开发,并且使得代码更加清晰。下面我们分别介绍两种装饰器,不带参数的装饰器和带参数的装饰器。一、不带参数的装饰器我们用一
- 本次分享将讲述如何在Python中对多个list的对应元素求和,前提是每个list的长度一样。比如:a=[1,2,3], b=[2,3,4]
- python删除某个目录文件夹及文件的方法:#!/usr/bin/env pythonimport osimport shutildelLi
- 一、增强的可扩展性 Oracle9i Real Application Clusters是Oracle的下一代并行服务器系列产品。Oracl
- 1.为何使用事务管理可以保证数据的完整性。事务(Transaction),就是将一组SQL语句放在同一批次内去执行,如果一个SQL语句出错,
- 选用Access作为建站数据库,除了低成本的原因之外,主要是Access数据库的易发布性,一个MDB文件就包括了全部的表和数据,开发完后连同
- 一、前言昨夜刷b站的时候,看到了一条评论,形式如下图,于是心血来潮写了个python脚本,可以根据文字来生成这种由emoji拼接成的“文字”
- 一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@classmethod,就可以不需要实例化