selenium
分享selenium一些常用的知识
孜孜不倦,不紧不慢
记录每天的学习笔记,每天进步一点点。
展开
-
第13节 Selenium屏幕截图
WebDriver 内置了一些在测试中捕获屏幕并保存的方法:方法描述save_screenshot(filename)获取当前屏幕截图并保存为订单文件,filename指定保存的路径或者图片的文件名save_screenshot_as_base64()获取当前屏幕截图base64编码字符串save_screenshot_as_file(filename)获取当前的屏幕截图,使用完整的路径save_screenshot_as_png()获取当前屏幕截图的二进制文原创 2021-11-18 16:59:49 · 772 阅读 · 0 评论 -
第12节 Selenium执行JavaScript脚本
WebDriver有两个方法来执行JavaScript,分别是:execute_script 同步执行execute_async_script 异步执行from selenium import webdriverfrom time import sleepclass TestCase(object): def __init__(self): self.driver = webdriver.Chrome() self.driver.get('http:原创 2021-11-18 15:15:16 · 1614 阅读 · 0 评论 -
第11节 Selenium 鼠标键盘事件
1、鼠标事件:每个模拟事件后需加.perform() 才会执行context_click() 右击double_click() 双击drag_and_drop(source, target) 拖动move_to_element() 鼠标悬停move_to 移动1、鼠标事件:每个模拟事件后需加.perform() 才会执行context_click() 右击double_click() 双击drag_and_drop(source, target) 拖动move_to_element()原创 2021-11-18 11:54:02 · 630 阅读 · 0 评论 -
第10节 Selenium 显式等待(WebDriverWait)使用介绍
比如有这个页面:点击按钮2s后替换div<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>selenium等待条件</title></head><body><script> function f() { window.setTimeout("populate(原创 2021-11-17 17:46:18 · 1152 阅读 · 0 评论 -
第9节 Selenium 三种等待方式
在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果不做任何处理的话,代码会由于没有找到元素而报错,另外,一种情况就是页面使用ajax异步加载机制。这时我们就要用到wait,而在Selenium中,我们可以用到三种等待,每一种等待都有自己的优点或缺点。第一种:time.sleep(固定等待)在开发自动化框架过程中,最忌讳使用python自带模块的time的sleep方式进行等待,虽然可以自定义等待时间,但当网络条件良好时,依旧按照预设定的时间继续等待,导致整个项目的自动化时间无限延长,不建议原创 2021-11-16 20:02:17 · 555 阅读 · 0 评论 -
第8节 Selenium 消息框处理 (alert、confirm、prompt)
alert对话框 。细分三种,Alert,prompt,confirmalert() 弹出个提示框 (确定)警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作。confirm() 弹出个确认框 (确定,取消)确认消息框 使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按原创 2021-11-16 16:56:47 · 1157 阅读 · 0 评论 -
第7节 Selenium 使用select下拉列表定位
处理下拉列表,需要用到Selenium中的一个工具类Select,以下是常用方法/属性:方法/属性方法/属性描述select_by_value()根据值选择select_by_index()根据索引选择select_by_visible_text根据文本选择deselect_by_value根据值反选deselect_by_index根据索引反选deselect_by_visible_text根据文本反选deselect_all反选所有原创 2021-11-15 16:56:39 · 1900 阅读 · 0 评论 -
第6节 Selenium 学习checkbox和radiobutton定位技巧
如下这个表单页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><form action="javascript:alert('test')"> swimming:<input type="checkbox" name=原创 2021-11-12 17:43:21 · 983 阅读 · 0 评论 -
第5节 Selenium 操作form表单
from表单是我们经常测试的用例,绝大多数web程序都有,例如:用户登录、注册form表单的流程是这样的:1、定位表单元素2、输入测试值3、判断表单元素属性4、获取表单元素属性5、提交表单进行验证比如这里有个简单的表单<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head.原创 2021-11-11 17:51:48 · 5061 阅读 · 0 评论 -
第4节 Selenium WebElement属性
当我们使用WebDriver的find方法定位元素后,会返回一个WebElement对象,该对象用来描述web页面上的一个元素,以下是WebElement的常用属性和方法。WebElement常用属性如下:属性描述id标识size宽高rect宽高和坐标tag_name标签名称text文本内容from selenium import webdriverfrom time import sleepclass testCase(object):原创 2021-11-11 15:14:42 · 3041 阅读 · 0 评论 -
第3节:Selenium WebDriver属性
WebDriver类除了介绍的元素定位方法外,还有一些其他的常用属性和方法,如下:属性属性描述driver.name浏览器名称driver.current_url当前urldriver.title当前页面标题driver.page_source当前页面源码driver.current_window_handle窗口句柄driver.window_handles当前窗口所有句柄from selenium import webdriver原创 2021-11-10 19:43:48 · 1076 阅读 · 0 评论 -
第2节:selenium WebDriver和浏览器如何通信
selenium WebDriver和浏览器如何通信对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动浏览器驱动中包含了一个HTTP Server,用来接收这些http请求HTTP Server接收到请求后根据请求来具体操控对应的浏览器浏览器执行具体的测试步骤浏览器将步骤执行结果返回给HTTP ServerHTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。WebDri原创 2021-11-10 14:53:50 · 868 阅读 · 0 评论 -
第1节:selenium 定位元素的几种方式
要想操作web界面上的元素,首先要定位到该元素,Selenium提供了定位元素的API,这些方法都被定义在WebDriver类中,这些方法都以find开头,例如:方法名称描述find_element_by_id通过id定位元素find_element_by_xpath通过xpath定位元素find_element_by_link_text通过连接文本定位元素find_element_by_partial_link_text通过部分链接文本定位元素find原创 2021-11-10 14:13:31 · 839 阅读 · 0 评论