自动化测试 selenium中WebDriver 和WebElement的区别

之前在做UI自动化测试中 经常会用到  WebDriver  和 WebElement两个类   以前对这两个类总感觉有点傻傻分不清

昨天看了下之前下的代码  结合自己的理解  对着两个类的区别和关系整理一下(欢迎拍砖指正)   希望对这两个类同样有疑惑的同学有帮助

先说Webdriver

Webdriver  我理解它是一个浏览器驱动类   封装了浏览器的操作方法 比如:

浏览器的打开关闭,窗口切换,查找元素,获取当前url,获取标题,前进后退等等

WebElement  我理解它是一个元素类 封装了元素的操作方法 比如:

输入框的输入,清空,按钮的点击,元素属性的获取等等

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

这里用WebElement 封装了一个定位 orderid 元素 的方法。

形参传的是一个driver对象,然后通过driver提供的方法去查找这个元素

所以我们可知  如果要定位一个元素并操作这个元素,首先要用Webdriver  实例化一个driver去查找这个元素  然后用WebElement提供的方法去操作这个元素

以上就是我理解的Webdriver和Webelement的区别和关系    若有不对的地方  还请拍砖指正

原文地址:https://www.cnblogs.com/dwtt/p/8509381.html

时间: 2024-10-06 08:18:55

自动化测试 selenium中WebDriver 和WebElement的区别的相关文章

自动化测试selenium模块webdriver的使用

一.webdriver基本使用命令 from selenium import webdriver   # 导入webdriver模块 >>> chrome_obj = webdriver.Chrome()              # 打开Google浏览器 >>> chrome_obj.get("https://www.baidu.com")      # 打开 网址 >>> chrome_obj.get(r"C:\de

Selenium中WebDriver API的使用(三)

WebDriver API中常用的方法和属性 方法: clear() --->清除一个文本输入框 p:driver.find_element_by_id("kw").clear() send_keys()  -->来输入字符串 p:driver.find_element_by_id("kw").send_keys("Selenium") click() -->点击页面上支持点击的元素 driver.find_element_by

关于在selenium 中 webdriver 截图操作

package prictce; import java.io.File; import java.io.IOException; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.We

python在selenium中做自动化测试用法详解

一.环境搭建参考:https://blog.csdn.net/efly2333/article/details/80346426 二.selenium用法详解(https://www.cnblogs.com/themost/p/6900852.html) 1 selenium用法详解 2 selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题. 3 模拟浏览器进行网页加载,当requests,urllib无法正常获取网页内容的时候 4 5 一.声明

selenium中的webdriver定位元素失败的常见原因

自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案: 如果iframe有name或id的话,直接使用switch_to_frame("name值"

自动化测试Selenium Webdriver (JAVA)学习小结

自动化测试--Selenium学习小结 一.自动化测试的概念及意义: 1.什么是自动化测试: 一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件. 2.意义: 让测试更有效率,利用更多的空余时间,减少人力资源. 二.selenium工具 我用的是java语言,所以接下来的例子和方法都是基于java的. 1.环境配置 (1)Jdk的配置: 我用的是1.7的jdk,配置方法都一样,新建一个JAVA_HOME,把你装好的jdk的路径复制

Selenium(Webdriver)自动化测试常问到的问题解答(转自:潜龙0318)

今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! (1)selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?答:Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的.但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的.需要开发人员规范开发习惯,如给页面元素加上唯

Selenium(Webdriver)自动化测试常问问题

http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html (1)selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?答:Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的.但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的.需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大地提高元素定位的准确性.当然如果开发人员开发不规范,我们在

Python3.x:Selenium中的webdriver进行页面元素定位

Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link text xpath css selector 对应于webdriver中的定位一个元素方法分别是: driver.find_e