自动化测试 selenium中WebDriver 和WebElement的区别
之前在做UI自动化测试中 经常会用到 WebDriver 和 WebElement两个类 以前对这两个类总感觉有点傻傻分不清
昨天看了下之前下的代码 结合自己的理解 对着两个类的区别和关系整理一下(欢迎拍砖指正) 希望对这两个类同样有疑惑的同学有帮助
先说Webdriver
Webdriver 我理解它是一个浏览器驱动类 封装了浏览器的操作方法 比如:
浏览器的打开关闭,窗口切换,查找元素,获取当前url,获取标题,前进后退等等

WebElement 我理解它是一个元素类 封装了元素的操作方法 比如:
输入框的输入,清空,按钮的点击,元素属性的获取等等

那么WebDriver 和 WebElement有什么关系呢 我们来看代码

这里用WebElement 封装了一个定位 orderid 元素 的方法。
形参传的是一个driver对象,然后通过driver提供的方法去查找这个元素
所以我们可知 如果要定位一个元素并操作这个元素,首先要用Webdriver 实例化一个driver去查找这个元素 然后用WebElement提供的方法去操作这个元素
以上就是我理解的Webdriver和Webelement的区别和关系 若有不对的地方 还请拍砖指正
自动化测试 selenium中WebDriver 和WebElement的区别的更多相关文章
- 自动化测试 selenium 模块 webdriver使用(一)
一.webdriver基本使用命令 from selenium import webdriver # 导入webdriver模块 >>> chrome_obj = webdriver ...
- 关于在selenium 中 webdriver 截图操作
package prictce; import java.io.File; import java.io.IOException; import org.junit.After; import org ...
- selenium中webdriver识别class属性多个值中有空格的解决方案
初学自动化测试,貌似大家十有八九都是用百度网站进行练手的,特此感谢百度. http://www.baidu.com 页面中主要就是搜索框和提交按钮: 输入框各元素属性:<input id=&qu ...
- selenium中的等待方法及区别
等待是为了使脚本执行更加稳定 常用的休眠方式: 1.time模块的sleep方法 :引入from time import sleep 2.implicitly_wait():设置webdriver等待 ...
- python+selenium中webdriver相关资源
Chrome chrome的webdriver : http://chromedriver.storage.googleapis.com/index.html chrome的webdriver需要对 ...
- selenium中webdriver跳转新页面后定位置新页面的两种方式
刚刚在写Python爬虫的时候用到了selenium , 在跳转新页面时发现无法定位新页面 , 查找不到新页面的元素 一番查询后得到了解决方法 , 便记录下来备忘 , 也与大家分享 # 页面跳转代码. ...
- python小白记录二 ——自动化测试selenium中配置浏览器
1.根据不同的浏览器 下载不同的驱动,下面是谷歌的驱动 下载地址:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org) ...
- selenium中的webdriver定位元素失败的常见原因
自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最 ...
- selenium和webdriver区别
接触selenium大概半年时间了.从开始的预研,简单的写个流程到后期的自动化框架的开发,因为本人不属于代码方面的大牛,一直的边研究边做.逐步深入学习.近期发现自己对本身selenium的发展还存在困 ...
随机推荐
- Java客户端工具选择:HTML?Swing?XML?
整理下面的文章是因为个人觉得写的很好,关于java的客户端了解也并不是太多.看了下面的文章觉得很有必要贴出来,方便自己以后了解java客户端编程. Java软件设计师和管理人员经常会面临这样的难题:在 ...
- Asp.net core 2.0.1 Razor 的使用学习笔记(三)
ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(二)—用户账户及cookie配置 修改用户账户及cookie配置 一.修改密码强度和用户邮箱验证规则 ...
- SVN错误:Attempted to lock an already-locked dir的解决
问题: SVN locked,文件被锁无法更新,SVN上更新代码失败,某些文件提示错误:Attempted to lock an already-locked dir 解决方法: 右键具体文件→Tea ...
- Css3:transform变形
transform 语法: transform 向元素应用 2D 或 3D 转换. transform : none | <<span class="title&quo ...
- [JLOI2011]基因补全
1973: [JLOI2011]基因补全 Time Limit: 1 Sec Memory Limit: 256 MB Description 在生物课中我们学过,碱基组成了DNA(脱氧核糖核酸), ...
- 验证插件——jquery.validate.js
下载地址:http://download.csdn.net/download/s592652578/9457421 教程:http://www.runoob.com/jquery/jquery-plu ...
- 给HttpClient添加Socks代理
本文描述http client使用socks代理过程中需要注意的几个方面:1,socks5支持用户密码授权:2,支持https:3,支持让代理服务器解析DNS: 使用代理创建Socket 从原理上来看 ...
- ABP官方文档翻译 5.3 OData集成
OData集成 介绍 安装 安装Nuget包 设置模块依赖 配置实体 创建控制器 配置 示例 获取实体列表 Request Response 获取单个实体 Request Response 使用导航属 ...
- ABP官方文档翻译 2.2 ABP会话
ABP会话 介绍 关于IAbpSession 注入会话 会话属性 覆盖当前会话值 警告! 用户标示 介绍 如果应用需要登录的话,同样也需要知道当前用户可以执行哪些操作.ABP在展现层提供了会话对象,同 ...
- MySQL索引之B+树
MySQL索引大都存储在B+树中,除此还有R树和hash索引.B+树的基础还是B树. B树由2部分组成,节点和索引.下面将构建一个B树,每个节点存2个数据,每个节点有前,中,后三个索引.插入数字的顺序 ...