selenium WebDriver java版使用指南
- 格式:docx
- 大小:138.29 KB
- 文档页数:79
selenium-webdriver简单教程ruby环境下selenium/webdriver可以通过selenium-webdriver.gem包进⾏安装gem install selenium-webdriver⽀持语⾔及版本有ruby 1.8.7~1.9.2,jrbuy和rubiniusselenium-webdriver包含了selenium-client,在阅读的时候,要注意它们两个命名空间是在两不同的API⾥:1.Selenium::WebDriver - WebDrver API2.Selenium::Client - Selenium RC APIWebDrver API是继承⾃Selenium RC API,所以没有必要在Selenium RC API花⼤量的时间,我们可以直接从Selenium::WebDriver开始,并围绕两个⼤类:Seleniu::WebDriver:Driver 和Selenium::WebDriver::Element,这是整个WebDriver API的⼊⼝。
API 例⼦:⼀个简单的例⼦:require "selenium-webdriver"driver = Selenium::WebDriver.for :firefoxdriver.navigate.to ""element = driver.find_element(:name,'q')element.send_keys "Hello WebDriver"element.submitputs driver.titledriver.quitDriver 例⼦:# 应⽤javascriptputs driver.execute_script("return window.location.pathname")# 利⽤ruby和js获取元素element = driver.execut_script("return document.body")driver.execut_script("return arguments[0].tagname", element) #=> "BODY"# 等待⼀些特殊元素的出现wait = Selenium::WebDriver::Wait.new(:timeout=>10) # secondswait.until{driver.find_element(:id,"foo")}# 注:wait在new时,可以设置三个值,分别为:timeout(默认5秒),:message(默认nil),:interval(默认0.5)# 选择framedriver.switch_to.frame "some-frame" # name或iddriver.switch_to.frame driver.find_element(:id, 'some-frame') # frame# 注:switch_to⽅法不仅可以选择frame,还可以处理window,alert,comfirmation等窗⼝# 选择回主窗⼝driver.swith_to.default_contentElement 例⼦:# 获取元素属性class_name = element.attribute("class")# 判断元素是否显⽰element.displayed?# 获取元素在页⾯上的相对坐标位置element.locationelement.location.xelement.location.y# 将元素滚动到视频可以显⽰的位置,再返回元素的相对坐标element.location_once_scrolled_into_view# 获取元素的宽和⾼element.size# 在元素⾥输⼊空,参看Selenium::WebDriver::Keys输⼊值element.send_keys :spaceelement.send_keys "tet", :arrow_left, "s" #=> "test", 先输⼊ tet, 再输⼊⼀次左⽅向键,再输⼊selement.send_keys [:control, 'a'], "1" #=> "1", 先输⼊crtl+a,再输⼊1# 获取元素⽂本element.text更⾼级的⽤法(见 ActionBuilder)driver.action.key_down(:shift).click(element).double_click(second_element).key_up(:shift).drag_and_drop(element,third_element).perform启动chrome浏览器的⽅法1.下载并运⾏,如图2.启动chromedriver = Selenium::WebDriver.for :remote, :url=>"http://localhost:9515"driver.get ""其它操作⼀样。
java selenium webdriver 常用方法
1. **`driver.get()`**:用于打开指定的 URL。
2. **`driver.findElement(By locator)`**:通过定位策略(如 ID、CSS 选择器、XPATH 等)查找元素。
3. **`driver.findElement(By locator).click()`**:点击找到的元素。
4. **`driver.findElement(By locator).sendKeys(keys)`**:向找到的元素发送键盘按键。
5. **`driver.findElement(By locator).clear()`**:清除找到的元素的内容。
6. **`driver.findElement(By locator).getText()`**:获取找到的元素的文本内容。
7. **`driver.manage().window_handles`**:获取当前打开的所有窗口的句柄。
8. **`driver.switchTo().window(handle)`**:切换到指定窗口的句柄。
9. **`driver.getTitle()`**:获取当前页面的标题。
10. **`driver.close()`**:关闭当前窗口。
11. **`driver.quit()`**:关闭所有窗口并退出 WebDriver 实例。
这只是 Selenium Webdriver 的一些常用方法的示例,还有许多其他方法可用于执行更高级的操作,例如等待元素出现、处理弹出窗口、断言等。
具体使用方法取决于你的测试需求和自动化任务。
使用Selenium进行Web自动化测试的指南Selenium是一款开源的Web应用程序自动化测试工具,它支持各种浏览器和操作系统,并且能够模拟用户在Web界面上的各种操作,如点击按钮、输入文本、选择下拉菜单等。
使用Selenium进行Web自动化测试可以大大提高测试效率和质量。
本文将为大家介绍如何使用Selenium进行Web自动化测试的指南。
第一章:Selenium简介及安装Selenium是由ThoughtWorks公司开发的一套自动化测试工具,它可以模拟用户在Web界面上的各种操作。
Selenium支持多种编程语言,如Java、Python、C#等,并且可以与各种主流的浏览器配合使用。
要使用Selenium进行Web自动化测试,首先需要安装Selenium相关的软件和驱动程序。
安装步骤如下:1. 下载并安装Java Development Kit(JDK);2. 下载并安装Selenium WebDriver;3. 下载并安装浏览器对应的WebDriver驱动程序。
第二章:Selenium基本操作在使用Selenium进行自动化测试之前,首先需要了解一些基本操作。
这些操作包括:1. 启动浏览器:可以使用Selenium提供的WebDriver来启动各种主流浏览器,如Chrome、Firefox、Safari等;2. 导航:可以使用WebDriver来访问指定的URL;3. 元素定位:可以使用Selenium提供的各种方法来定位页面上的元素,如通过id、name、class等;4. 元素操作:可以使用Selenium提供的方法来对页面上的元素进行操作,如点击按钮、输入文本、选择下拉菜单等。
第三章:Selenium高级操作除了基本操作外,Selenium还提供了一些高级操作,如:1. 处理弹窗:可以使用WebDriver的switchTo方法来处理页面上的弹窗,如警告框、确认框、输入框等;2. 处理表单:可以使用Selenium提供的方法来填写表单、上传文件等;3. 处理多窗口:可以使用WebDriver的windowHandles方法来处理多个窗口之间的切换;4. 执行JavaScript代码:可以使用WebDriver的executeScript 方法来执行JavaScript代码,实现一些复杂的操作。
第一个Selenium Webdriver脚本:Java示例代码示例使用 Java语言Java语言类“myclass”是在上一教程中创建的,让我们尝试创建一个WebDriver脚本,该脚本将:1. 获取水星之旅的主页2. 验证其标题3. 将比较结果打印出来4. 在结束整个程序之前将其关闭。
Web驱动程序代码下面是上述场景呈现的逻辑的实际WebDriver代码注:启动Firefox35,需要使用Mozilla创建的壁虎驱动程序才能使用Web驱动程序。
Selenium3。
只需更改3行代码即可使脚本在Chrome或Firefox上运行package newproject;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;//comment the above line and uncomment below line to use Chrome//import org.openqa.selenium.chrome.ChromeDriver;public class PG1 {public static void main(String[] args) {// declaration and instantiation of objects/variablesSystem.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");WebDriver driver = new FirefoxDriver();//comment the above 2 lines and uncomment below 2 lines to use Chrome//System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");//WebDriver driver = new ChromeDriver();String baseUrl = "/test/newtours/";String expectedTitle = "Welcome: Mercury Tours";String actualTitle = "";// launch Fire fox and direct it to the Base URLdriver.get(baseUrl);// get the actual value of the titleactualTitle = driver.getTitle();/** compare the actual title of the page with the expected one and print* the result as "Passed" or "Failed"*/if (actualTitle.contentEquals(expectedTitle)){System.out.println("Test Passed!");} else {System.out.println("Test Failed");}//close Fire foxdriver.close();}}解释代码导入包要开始使用,需要导入以下两个包:1. org.openqa.Selenium。
Selenium的webdriver用法1. 简介Selenium是一个用于自动化Web浏览器的工具,它支持多种浏览器和操作系统,并提供了丰富的API来控制浏览器的行为。
其中,webdriver是Selenium的一个子项目,它提供了一组用于控制浏览器的API,可以模拟用户在浏览器中的操作。
2. 安装webdriver要使用webdriver,首先需要安装Selenium库。
可以通过以下命令使用pip安装Selenium:pip install selenium安装完成后,可以导入webdriver模块开始使用。
3. 启动浏览器使用webdriver可以启动各种浏览器,包括Chrome、Firefox、Safari等。
下面以Chrome浏览器为例,介绍如何启动浏览器。
from selenium import webdriver# 启动Chrome浏览器driver = webdriver.Chrome()在上述代码中,我们通过导入webdriver模块创建了一个Chrome浏览器的实例。
如果系统中已经安装了Chrome浏览器,并将其添加到了系统的环境变量中,那么webdriver会自动找到并启动Chrome浏览器。
如果没有安装Chrome浏览器,可以从官方网站下载并安装。
启动浏览器后,可以使用driver对象来控制浏览器的行为。
4. 打开网页使用webdriver打开网页非常简单,只需要调用get()方法并传入网页的URL即可。
driver.get("")上述代码将会打开一个新的浏览器窗口,并加载指定的网页。
5. 查找元素webdriver提供了一系列方法来查找网页中的元素,比如文本框、按钮、链接等。
常用的查找元素的方法有以下几种:•find_element_by_id(id):通过元素的id属性查找元素。
•find_element_by_name(name):通过元素的name属性查找元素。
java+selenium remotewebdriver用法RemoteWebDriver类是Selenium WebDriver的实现之一。
可以在远程设备上实例化该类,例如远程服务器或Selenium Grid节点。
以下是Java + RemoteWebDriver的使用方法:1. 首先,启动Selenium Grid Hub和一个或多个Selenium Grid 节点(需要下载和安装Selenium Grid)。
2. 在测试类中实例化RemoteWebDriver类,并指定远程节点URL,例如:```WebDriver driver = new RemoteWebDriver(newURL("http://localhost:4444/wd/hub"),DesiredCapabilities.chrome());```此代码会创建一个连接到运行在本地主机上的Selenium Grid节点的ChromeDriver实例。
3. 然后就可以在测试中使用RemoteWebDriver对象了,例如:```driver.get("https://.google/");WebElement searchBox = driver.findElement(("q")); searchBox.sendKeys("Selenium WebDriver");searchBox.submit();// Wait for the search results to appearWebDriverWait wait = new WebDriverWait(driver, 10); WebElement searchResults =wait.until(ExpectedConditions.presenceOfElementLocated(By.id( "result-stats")));System.out.println(searchResults.getText());driver.quit();```此代码会打开Google搜索页面,输入搜索字符串并提交搜索,然后等待搜索结果出现并输出搜索结果计数。
selenium java中文使用手册以下是一份关于如何使用Selenium Java进行Web测试的基础教程。
本教程假定你已经对Selenium有了基本的了解,并且熟悉Java编程语言。
一、环境配置在使用Selenium之前,你需要安装和配置相应的环境。
首先,你需要下载并安装Chrome浏览器和ChromeDriver。
你可以从以下地址下载ChromeDriver:二、WebDriver的使用Selenium的核心是WebDriver接口,它提供了与浏览器交互的方法。
下面是一个简单的例子,展示如何使用WebDriver打开一个网页,并获取页面上的元素:```javaimport ;import ;import ;import ;import ;public class SeleniumTest {public static void main(String[] args) throws InterruptedException { // 初始化ChromeDriver("", "path/to/chromedriver");WebDriver driver = new ChromeDriver();// 打开网页("// 获取页面元素WebElement element = (("kw"));// 对元素执行操作,例如输入文本("selenium");// 等待10秒,以便观察页面变化或执行其他操作;// 关闭浏览器窗口();}}```三、等待机制的使用在Web测试中,等待是必不可少的环节。
Selenium提供了多种等待机制,以确保在获取页面元素之前,页面已经完全加载完成。
下面是一个使用显式等待的例子:```javaimport ;import ;import ;import ;import ;import ;public class SeleniumTest {public static void main(String[] args) throws InterruptedException { // 初始化ChromeDriver("", "path/to/chromedriver");WebDriver driver = new ChromeDriver();// 打开网页("// 等待页面元素出现,最多等待10秒WebElement element = ().timeout(10, ).until(driver -> {return (("kw"));});// 对元素执行操作,例如输入文本("selenium");// 等待10秒,以便观察页面变化或执行其他操作;// 关闭浏览器窗口(); }}```。
webdriver实用指南java版本目录如下∙启动浏览器∙关闭浏览器∙浏览器最大化∙设置浏览器大小∙访问链接∙打印当前页面的title及url∙前进和后退∙简单的对象定位∙定位一组对象∙层级定位∙操作测试对象∙send keys模拟按键输入∙处理button group∙处理button dropdown∙处理navs∙处理面包屑∙处理对话框新式的模态窗口∙获取测试对象的属性及内容∙获取测试对象的css属性∙获取测试对象的状态∙处理表单元素∙执行js∙处理alert/confirm/prompt∙wait∙定位frame中的元素∙action∙上传文件∙下载∙超时设置∙Remote Webdriver∙cookie与自动登陆启动浏览器场景在使用webdriver进行测试时启动浏览器无疑是必须的前置工作。
代码import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class StartBrowser {public static void main(String[] args) {WebDriver dr = new ChromeDriver();}}关闭浏览器场景在脚本运行完毕或者测试代码结束的时候关闭浏览器是非常自然的事情,就像在吃完饭后就把餐桌收拾干净一样。
关闭浏览器有两种方式:∙close方法∙quit方法close方法关闭当前的浏览器窗口,quit方法不仅关闭窗口,还会彻底的退出webdriver,释放与driver server之间的连接。
所以简单来说quit是更加彻底的close,quit会更好的释放资源,适合强迫症和完美主义者。
代码import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class CloseBrowser {public static void main(String[] args) {WebDriver dr = new ChromeDriver();System.out.println("browser will be closed");dr.quit();System.out.println("browser is closed");}}浏览器最大化场景当我们在测试中使用一些基于图像和坐标的辅助测试工具时,我们就会需要使浏览器在每次测试时保存最大化,以便在同一分辨率下进行图像比对和坐标点选。
java+seleniumremotewebdriver用法1. 概述Java是一种广泛应用于软件开发的编程语言,而Selenium是一种用于Web应用程序自动化测试的开源工具。
Selenium Remote WebDriver是Selenium WebDriver的扩展,它允许将测试任务分发到远程机器上执行。
本文将深入研究Java与Selenium Remote WebDriver的结合使用,探讨其用法及相关技巧。
2. Selenium Remote WebDriver简介Selenium Remote WebDriver是基于WebDriver协议的一种扩展,它允许将测试任务分发到远程机器上执行。
使用该扩展,我们可以通过编写Java代码来控制远程机器上的浏览器进行自动化测试。
3. 配置环境在开始使用Java与Selenium Remote WebDriver之前,我们需要配置相应的开发环境。
首先,我们需要安装Java Development Kit(JDK)以及配置相关环境变量。
其次,我们需要下载并安装Eclipse或IntelliJ等集成开发环境(IDE)。
最后,我们需要下载并配置Selenium Server以及相应浏览器驱动。
4. 创建项目在IDE中创建一个新项目,并添加所需的依赖库。
在Maven项目中可以通过添加以下依赖来引入相关库:```xml<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency>```5. 初始化WebDriver在Java中,我们可以使用以下代码来初始化Selenium Remote WebDriver:```javaimport org.openqa.selenium.WebDriver;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteWebDriver;import java.URL;public class RemoteWebDriverExample {public static void main(String[] args) {try {DesiredCapabilities capabilities = DesiredCapabilities.chrome();WebDriver driver = new RemoteWebDriver(newURL("http://localhost:4444/wd/hub"), capabilities);// 执行测试任务driver.quit();} catch (Exception e) {e.printStackTrace();}}}```在上述代码中,我们使用DesiredCapabilities来指定浏览器的类型和版本。
java+selenium remotewebdriver用法RemoteWebDriver是SeleniumWebdriver的一个扩展,允许你在远程机器上运行测试脚本,这个特性在分布式测试环境下非常有用。
在这篇文章中,我们将介绍如何使用Java+Selenium RemoteWebDriver。
1. 安装Selenium ServerSelenium Server是一个独立的Java应用程序,它允许你在远程机器上运行Selenium WebDriver测试。
你可以从Selenium官网上下载最新版本的Selenium Server。
2. 启动Selenium Server你需要在远程机器上启动Selenium Server,打开终端或命令行窗口,输入以下命令:java -jar selenium-server-standalone-3.x.x.jar 其中,3.x.x是你下载的Selenium Server版本号。
启动成功后,你将看到一些输出信息。
3. 创建RemoteWebDriver对象在你的Java测试脚本中,你需要创建一个RemoteWebDriver对象来连接到远程机器。
以下是一个示例代码:DesiredCapabilities capabilities =DesiredCapabilities.firefox();RemoteWebDriver driver = new RemoteWebDriver(newURL('http://<remote-machine-ip>:4444/wd/hub'),capabilities);在上面的代码中,我们使用Firefox浏览器来运行测试,并且连接到远程机器的IP地址是<remote-machine-ip>,端口号是4444。
4. 运行测试现在,你可以在远程机器上运行你的Selenium测试脚本了。
目录启动浏览器 (5)场景 (5)代码 (5)关闭浏览器 (5)场景 (5)代码 (6)浏览器最大化 (6)场景 (6)代码 (6)设置浏览器大小 (7)场景 (7)代码 (7)讨论 (8)访问链接 (8)情景 (8)代码 (8)讨论 (9)打印当前页面的title及url (9)情景 (9)代码 (10)前进和后退 (10)场景 (10)代码 (10)简单的对象定位 (11)场景 (12)代码 (12)html代码form.html (12)java代码simple_locate.java (14)讨论 (16)定位一组对象 (16)场景 (16)代码 (16)checkbox.html (16)find_element.java (18)讨论 (20)层级定位 (20)场景 (20)代码 (20)level_locate.html (20)level_locate.java (22)讨论 (23)操作测试对象 (23)场景 (23)代码 (24)operate_element.html (24)operate_element.java (26)send keys模拟按键输入 (27)场景 (27)代码 (27)send_keys.html (27)send_keys.java (28)处理button group (29)场景 (29)代码 (30)button_group.html (30)button_group.java (31)讨论 (32)处理button dropdown (33)场景 (33)代码 (33)button_dropdown.html (33)button_dropdown.java (34)处理navs (36)场景 (36)代码 (36)navs.html (36)navs.java (37)处理面包屑 (38)场景 (38)代码 (39)breadcrumb.html (39)breadcrumb.java (40)处理对话框 (41)场景 (41)代码 (42)modal.html (42)modal.java (44)获取测试对象的属性及内容 (45)场景 (45)代码 (46)attribute.html (46)attribute.java (47)获取测试对象的css属性 (48)场景 (48)代码 (48)css.html (48)css.java (49)获取测试对象的状态 (50)场景 (50)代码 (51)status.html (51)status.java (52)讨论 (54)form的操作 (54)场景 (54)代码 (54)form.html (54)form.java (56)执行js (58)场景 (58)代码 (58)js.html (58)js.java (59)处理alert/confirm/prompt (60)场景 (60)代码 (61)alert.html (61)alert.java (62)wait (63)场景 (63)代码 (64)wait.html (64)wait.java (65)定位frame中的元素 (66)场景 (66)代码 (67)frame.html (67)inner.html (68)frame.java (69)讨论 (70)action (70)场景 (71)代码 (71)讨论 (71)上传文件 (72)场景 (72)代码 (72)upload_file.html (72)upload_file.java (73)下载 (74)场景 (74)代码 (74)超时设置 (74)场景 (75)代码 (75)Remote Webdriver (75)场景 (75)安装 (76)启动driver (76)使用watir-webdriver启动driver (76)java版本 (77)python版本 (77)cookie (77)场景 (78)代码 (78)cookie.java (78)启动浏览器场景在使用webdriver进行测试时启动浏览器无疑是必须的前置工作。
代码关闭浏览器场景在脚本运行完毕或者测试代码结束的时候关闭浏览器是非常自然的事情,就像在吃完饭后就把餐桌收拾干净一样。
关闭浏览器有两种方式:∙close方法∙quit方法close方法关闭当前的浏览器窗口,quit方法不仅关闭窗口,还会彻底的退出webdriver,释放与driver server之间的连接。
所以简单来说quit是更加彻底的close,quit会更好的释放资源,适合强迫症和完美主义者。
代码浏览器最大化场景当我们在测试中使用一些基于图像和坐标的辅助测试工具时,我们就会需要使浏览器在每次测试时保存最大化,以便在同一分辨率下进行图像比对和坐标点选。
举例来说,如果在webdriver测试中使用了sikuli来对flash插件进行操作的话,把浏览器最大化无疑是一个比较简单的保证分辨率统一的解决方案。
代码设置浏览器大小场景设置浏览器窗口的大小有下面两个比较常见的用途:∙在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性。
比如可以跟sikuli结合,使用sikuli操作flash;∙在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被测页面的前端样式进行评测。
比如可以将浏览器设置成移动端大小(320x480),然后访问移动站点,对其样式进行评估;代码将浏览器调整成移动端大小,然后访问移动站点,对移动站点的样式进行评估。
讨论webdriver提供了很多调整浏览器窗口的接口,比如move_to(移动窗口),position(设置或获取浏览器的位置)。
在一般情况下这些功能并不常用。
访问链接情景web UI测试里最简单也是最基本的事情就是访问1个链接了。
webdriver的api里有2种访问url的方式,分别是get和navigate.to方法。
一般情况下建议使用get,因为其字母比较少,不太容易出错。
代码讨论navigate方法实际上会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等。
打印当前页面的title及url情景测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例,所谓用例不够,title来凑就是这个道理。
更具体一点,假设1个页面的title应该是'hello world', 那么可以写这样的一个用例:访问该页面,获取该页面的title,判断获取的值是否等于'hello world'。
获取当前页面的url也是非常重要的一个操作。
在某些情况下,你访问一个url,这时系统会自动对这个url进行跳转,这就是所谓的'重定向'。
一般测试重定向的方法是访问这个url,然后等待页面重定向完毕之后,获取当前页面的url,判断该url是否符合预期。
另外的一个常见的测试场景是提交了一个表单,如果表单内容通过了验证,那么则会跳转到一个新页面,如果未通过验证,则会停留在当前页面,此时获取当前页面的url则可以帮助我们判断表单提交的跳转是否符合预期。
更具体一点,假如你在测试一个登陆页面,输入正确的登陆信息后,会跳转到系统首页。
获取跳转后的url然后判断其是否与系统首页的url相符将是一个很不错的用例。
代码前进和后退场景说实话,这两个功能一般不太常用。
所能想到的场景大概也就是在几个页面间来回跳转,省去每次都get url。
代码简单的对象定位场景测试对象的定位和操作是webdriver的核心内容,其中操作又是建立在定位的基础之上,因此对象定位就越发显得重要了。
定位对象的目的一般有下面几种∙操作对象∙获得对象的属性,如获得测试对象的class属性,name属性等等∙获得对象的text∙获得对象的数量webdriver提供了一系列的对象定位方法,常用的有以下几种∙id∙name∙class name∙link text∙partial link text∙tag name∙xpath∙css selector代码html代码form.htmljava代码simple_locate.java讨论上面例子里由于html文件中引用了jquery,所以在执行js时可以使用jquery的$()及fadeIn()等方法。
如果你测试的页面没用包含jquery的话,这些方法是无效的。
定位一组对象场景从上一节的例子中可以看出,webdriver可以很方便的使用findElement方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用findElements方法。
定位一组对象一般用于以下场景:∙批量操作对象,比如将页面上所有的checkbox都勾上∙先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象。
比如定位出页面上所有的checkbox,然后选择最后一个代码checkbox.htmlfind_element.java讨论checkbox.html必须与find_elments.rb在同一级目录下层级定位场景在实际的项目测试中,经常会有这样的需求:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个。
由于属性基本相当,所以在定位的时候会有些麻烦,这时候就需要用到层级定位。
先定位父元素,然后再通过父元素定位子孙元素。
代码下面的代码演示了如何通过层级定位来定位下拉菜单中的某一项。
由于两个下拉菜单中每个选项的link text都相同,href也一样,所以在这里就需要使用层级定位了。
具体思路是:先点击显示出1个下拉菜单,然后再定位到该下拉菜单所在的ul,再定位这个ul下的某个具体的link。
在这里,我们定位第1个下拉菜单中的Another action这个选项。
level_locate.htmllevel_locate.java讨论move_to方法实际上是模拟把鼠标移动到某个具体的测试对象上。
操作测试对象场景定位到具体的对象后,我们就可以对这个对象进行具体的操作,比如先前已经看到过的点击操作(click)。
一般来说,webdriver中比较常用的操作对象的方法有下面几个∙click 点击对象∙sendKeys 在对象上模拟按键输入∙clear 清除对象的内容,如果可以的话代码下面的代码演示了如何点击元素,如何往文本框中输入文字以及如何清空文字。
operate_element.htmloperate_element.javasend keys模拟按键输入场景sendKeys方法可以模拟一些组合键操作,比如ctrl+a等。