`

selenium

    博客分类:
  • Java
 
阅读更多
<input type="checkbox" value="true" id="cb_ID74"/>
<input type="checkbox" value="true" id="ckb_ID73"/>

//input
//input[position()=1]
//input[2]
//input[last()]
//input[contains(@id, ‘cb')]

==========================================
<div id="div1">
	<h1>H1</h1>
	<table id="t1">
	</table>
</div>
<div id="div2">
	<h1>H2</h1>
	<table id="t2">
		<tr>
			<td id="td1">11</td>
			<td id=“td2”>22</td>
		</tr>
	</table>
</div>

//div[h1[text()='H2']]
//div[h1[text()='H2‘]]/child::*
//div[h1[text()='H2']]/descendant::*
//div[h1[text()='H2']]/descendant::td[@id="td2"]
//div[*[text()='H2']]/descendant::td[@id="td2"]
//div[contains(@id, '2')]/descendant::tr[td]
//div[contains(@id, '1')]/following-sibling::*

==========================================
 




<table id="t1">
	<tr>
	   <td>11</td>
	   <td>22</td>
	</tr>
</table>
<table id="t2">
	<tr>
	   <td>33</td>
	   <td>44</td>
	</tr>
</table>

driver.findElement(By.xpath(“//tr[1]/td[1]”)) 11
table2.findElement(By.xpath(“//tr[1]/td[1]”)) 11
table2.findElement(By.xpath(“.//tr[1]/td[1]”)) 33


driver.switchTo().frame("i");
driver.findElement(By.id("txt1")).sendKeys("iframeTest");


driver.switchTo().window("new");
driver.findElement(By.id("kw")).sendKeys("WindowTest");



for (String handle : driver.getWindowHandles()) {  
	driver.switchTo().window(handle); 
	if (driver.getTitle().trim().equalsIgnoreCase("????,????")) {
		break;
	}
}
driver.findElement(By.id("kw")).sendKeys("WindowTest");



driver.switchTo().frame("i");
driver.findElement(By.id("txt1")).sendKeys("iframeTest");


driver.switchTo().frame("navigation");
// Selects the first frame on the page
driver.switchTo().defaultContent();
System.out.println(driver.getPageSource());
driver.switchTo().frame("detail");
driver.switchTo().frame("header");  X

<head>
<script type="text/javascript">
function display_alert() {
	alert("I am an alert box!!")
}
</script>
</head>
<body>
	<button id=“btn” onclick="display_alert()">test alert</button>
</body>

driver.findElement(By.id("btn")).click();
Alert alert = driver.switchTo().alert();
alert.accept();

//Open or Save Dialog
Robot robot = new Robot(); 
//Alt + S to select save 
robot.keyPress(KeyEvent.VK_ALT); 
robot.keyPress(KeyEvent.VK_S); 
robot.keyRelease(KeyEvent.VK_ALT); 
robot.delay(3000);
//Then type several chars
robot.keyPress(KeyEvent.VK_T);
robot.keyPress(KeyEvent.VK_E);
robot.keyPress(KeyEvent.VK_S);
robot.keyPress(KeyEvent.VK_T);
//Then press enter 
robot.keyPress(KeyEvent.VK_ENTER); 
robot.keyRelease(KeyEvent.VK_ENTER); 



AutoIt x = new AutoIt();
x.winActivate("File Download");
x.winWaitActive("File Download");
x.controlClick("File Download", "", "[TEXT:&Save]");
x.winWaitActive("Save As");
x.controlFocus("Save As", "", "[CLASS:Edit]");
x.send(“C:\\testSaveDialog”);
x.controlClick("Save As", "", "[TEXT:&Save]");
if(x.waitWinExists("Download complete", 50))
{
    x.controlClick("Download complete", "", "[TEXT:Close]");
}



<select name="combobox">
  <option value="1">item1</option>
  <option value="2" selected>item2</option>
  <option value="3">item3</option>
</select>

WebElement ComboBox = driver.findElement(By.name("combobox"));
Select select = new Select(ComboBox);
select.selectByVisibleText("item1");

Custom Select:
WebElement divList = driver.findElement(By.xpath("//body/div[last() - 1]/child::div"));
List<WebElement> options = divList.findElements(By.tagName("div"));

<table id="t1">
	<tr>
	   <td>td1</td>
	   <td>td2</td>
	</tr>
</table>


/**
 * Get specific cell element from table
 * @param table
 * @param rowIndex - start from 0
 * @param columnIndex - start from 0
 * @return
 */
public static WebElement getCell(WebElement table, int rowIndex, int columnIndex) {
	String xpathStr = ".//tr[" + (rowIndex + 1) + "]/td[" + (columnIndex + 1) + "]";
	return table.findElement(By.xpath(xpathStr));
}


//Able to execute Javascript directly using JavascriptExecutor
public void JavascriptExecutorTest()
{
  driver.get("http://www.baidu.com/");     ((JavascriptExecutor)driver).executeScript("document.getElementById(\"kw\").value = \"JavascriptExecutortest\"");

}


//Using JavaScript implement the functions which Webdriver API doesn’t provide.

/**
 * Get the inner HTML of the element by id
 * @param driver
 * @param id
 * @return
 */
public static String getInnerHTML(WebDriver driver, String id)
{
  JavascriptExecutor js = (JavascriptExecutor) driver;
  return (String) js.executeScript("return document.getElementById(" + "\"" + id + "\"" + ").innerHTML");
}

//continue to this website(not recommended)
driver.navigate().to("javascript:document.getElementById('overridelink').click()"); 





Appendix:
Firefinder plugin for Firefox

Official Selenium Blog
http://seleniumhq.wordpress.com/
Google Code - Selenium
http://code.google.com/p/selenium/
Google Group - WebDriver
http://groups.google.com/group/webdriver
Google Group - Selenium Users
http://groups.google.com/group/selenium-users
LinkedIn – Selenium-WebDriver
http://www.linkedin.com/groups/Selenium-WebDriver-4067187
XML Path Language (XPath)
 http://www.w3.org/TR/xpath/
Document Object Model (DOM)
http://www.w3.org/DOM/DOMTR




分享到:
评论

相关推荐

    Selenium

    ### Selenium 知识点详解 #### 一、Selenium 概述 Selenium 是一个用于自动化 Web 应用程序测试的工具集。它由 ThoughtWorks 公司开发,并且随着时间的发展已经成为一个开源项目,得到了广泛的社区支持。Selenium ...

    selenium-selenium-4.5.0.zip源码

    Selenium 是一个强大的开源自动化测试框架,用于网页应用。它支持多种编程语言,如 Java、Python、C#、Ruby 等,使测试工程师能够编写脚本来模拟用户在浏览器中的各种交互行为。Selenium 4.5.0 版本是该框架的一个...

    selenium浏览器驱动下载

    Selenium 是一个强大的自动化测试工具,它允许程序员模拟真实用户在浏览器中的操作,进行Web应用程序的测试。在Selenium框架中,浏览器驱动是关键组成部分,它充当了Selenium与特定浏览器之间的桥梁。本文将深入探讨...

    selenium Java版本 4.1.2

    Selenium 是一个强大的开源自动化测试框架,主要用于网页应用的测试。在Java版本4.1.2中,Selenium提供了一套完整的API,使得开发者能够用Java编写自动化测试脚本,进行功能性和回归性测试。这个版本是Selenium的...

    selenium-server-standalone和Selenium-java的jar包

    在IT行业中,Selenium是一个广泛使用的自动化测试框架,主要用于Web应用程序的测试。它提供了一组强大的API,使得开发者能够用多种编程语言(如Java、Python、C#等)编写自动化测试脚本。在这个主题中,我们将深入...

    selenium-4.8.3.tar.gz

    《Selenium 4.8.3:Web自动化测试的强大工具》 Selenium 是一款广泛使用的开源自动化测试框架,用于测试Web应用程序。Selenium 4.8.3版本的发布,为用户提供了最新的功能和改进,进一步提升了自动化测试的效率和...

    Selenium_v2.5

    Selenium 是一个强大的开源自动化测试框架,用于网页应用。它支持多种编程语言,如Java、Python、C#、Ruby等,使得测试工程师可以编写可跨浏览器执行的测试脚本。Selenium_v2.5是该框架的一个特定版本,它带来了许多...

    selenium-java-4.0.0-alpha-6_javaselenium_

    标题 "selenium-java-4.0.0-alpha-6_javaselenium_" 指的是 Selenium 的一个 Java 版本的软件包,具体是 4.0.0 的第六个 Alpha 版本。Selenium 是一个广泛使用的自动化测试工具,主要用于 web 应用程序的测试。它...

    python+selenium自动化入门.ppt

    **Python+Selenium自动化测试入门** Selenium是一款强大的开源测试工具,专用于Web应用程序的自动化测试。它可以在浏览器中运行测试,模拟真实用户的行为,支持Firefox、IE、Mozilla等多种浏览器,并且兼容JAVA、C#...

    selenium+JAVA+chrome自动化测试demo

    【标题】"selenium+JAVA+chrome自动化测试demo"揭示了这个项目是关于使用Selenium WebDriver结合Java语言来实现Chrome浏览器的自动化测试。Selenium是一个强大的开源自动化测试框架,允许开发者编写可运行在多种...

    Selenium-Python中文手册

    【Selenium-Python 中文手册】是一份详细的文档,它为使用Python进行Selenium测试提供了指导。Selenium是一个强大的Web自动化测试工具,Python版本的Selenium绑定提供了简单易用的API,使得用户能够轻松地编写功能性...

    selenium-java.jar

    `selenium-java.jar` 是一个与 Selenium 相关的 Java 库文件,它包含了用于在 Windows 和 Mac 操作系统上执行自动化测试的组件。Selenium 是一款广泛使用的开源工具,主要用于 web 浏览器自动化,帮助开发者和测试...

    selenium 依赖包一次到位

    【Selenium】是一个强大的自动化测试工具,主要用于模拟真实用户在Web浏览器上的操作。它支持多种浏览器,如Chrome、Firefox、IE等,通过编程接口(API)实现网页元素的交互,如点击、输入、导航等。Selenium的核心...

    selenium-server-standalone-2.25.0.jar

    由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。 (6).Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。 (7)....

    selenium IDE最新版本插件资源安装包(免费)

    Selenium IDE是一款强大的自动化测试工具,专为Web应用程序设计,尤其受到测试工程师的青睐。它是一个免费的插件,能够录制、回放和编辑测试脚本,极大地提升了测试效率。在本文中,我们将深入探讨Selenium IDE的...

    selenium webdriver+chrome插件.zip

    【标题】"selenium webdriver+chrome插件.zip" 涉及的核心知识点是Selenium WebDriver,特别是它在Chrome浏览器中的应用以及与Firefox的交互。这个压缩包包含了Selenium IDE的Chrome插件,以及对应的WebDriver驱动...

    selenium webdirver电子书+代码

    Selenium WebDriver是一款强大的开源自动化测试工具,用于模拟真实用户在浏览器上的操作,广泛应用于Web应用程序的测试。本书“精通Selenium-WebDriver电子书+项目代码”是深入学习这个技术的重要资源,结合理论与...

    Selenium测试工具研究报告

    ### Selenium测试工具研究报告 #### 一、Selenium测试工具简述 ##### 1.1 Selenium简介 Selenium是由ThoughtWorks公司开发的一款强大的开源Web功能测试工具系列,旨在为Web应用程序提供自动化测试解决方案。该...

    selenium-3.8.0.tar.gz

    Selenium 是一个强大的开源自动化测试框架,用于网页应用程序。它支持多种编程语言,包括 Python,使得测试脚本的编写变得简单高效。Selenium 3.8.0 版本是该框架的一个稳定版本,提供了许多改进和修复,以增强其...

Global site tag (gtag.js) - Google Analytics