1.要使用selenium,首先要开启seleniumserver,命令如下(先要进入selenium-server.jar根目录,在dos命令窗口下):
>java -jar selenium-server.jar
2.selenium 常用方法
1) 创建selenium实例对象:
Selenim selenium =newDefaultSelenium("localhost",4444,"*firefox",url);
2)selenium.open(String url)
selenium.open("http://www.google.com");//打开一个网页
3)selenium.type(String locator,String value)
selenium.type("//div[@id='q']","automatedtesting");//在google输入框中输入automated testing,其中q为输入框的id
-----notes:use Selenium IDE can get this result easily
4)selenium.isElementPresent(String locator),返回true/false
selenium.isElementPresent("//div[@id='wor']");//根据xpath路径查找元素是否存在
5)selenium.click(String locator)
selenim.click("submit")//点击操作
6)selenium.isTextPresent(String pattern);return true/false
selenium.isTextPresent("automated");//查找文本内容是否存在
7)selenium.select(String selectTarget, String selectValue)
selenium.select("//select[@id='page']","value=1234")//在选择框中选择一个选项
8)selenium.geteval_r(String locator);//根据path寻找元素
selenium.geteval_r("this.page().findElement(\"//div[@class='ele']/ul\").childNodes[1].className");
selenium.geteval_r("this.page().findElement(\"dom=document.domain\")");
selenium.geteval_r("this.page().findElement(\"//div[@class='ele']/ul\").childNodes.length");
selenium.geteval_r("this.page().findElement(\"//div[@class='ele']/ul\").childNodes[1].nodeName");
selenium.geteval_r("this.page().findElement(\"//div[@id='emailCheckedLabel']\").getAttribute(\"style\")");
notes:<li id="yes"class="hello"/>
li is nodeName ,hello is className
9)selenium.getSelectOptions(String locator);//returnString[],返回选择框的全部选项
selenium.getSelectOptions("//select[@id='selectid']");
10)Pattern.compile(String text).matcher(Stringlocator).find();//return boolean,判断是否存在匹配的字符串
Pattern.compile("hello").matcher("//div[@class='ele']").find();
11)selenium.focus(String locator);//将光标焦点定位到文本框中
12)selenium.keyPressNative(Integer.toString(java.awt.event.KeyEvent.VK_ENTER));//输入回车
13)selenium.keyPressNative(Integer.toString(java.awt.event.KeyEvent.VK_TAB));//输入tab键
或是 selenium.keyPressNative(“09”);//输入tab键
...
eg:(google search function test)
package com.work.selenium;
import junit.framework.TestCase;
import org.openqa.selenium.server.SeleniumServer;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
public class firstSelenium extends TestCase {
privateSelenium selenium;
public voidsetUp() throws Exception {
String url ="http://www.google.com";
selenium =new DefaultSelenium("localhost", 4444, "*firefox", url);
selenium.start();
selenium.setSpeed("2000");
super.setUp();
}
protectedvoid tearDown() throws Exception {
selenium.stop();
}
public voidtestGoogleTestSearch() throws Throwable {
selenium.open("http://www.google.com");
assertEquals("Google", selenium.getTitle());
selenium.type("q", "Selenium OpenQA");
selenium.setSpeed("2000");
assertEquals("Selenium OpenQA", selenium.getValue("q"));
selenium.click("btnG");
selenium.waitForPageToLoad("30000");
selenium.isTextPresent("Selenium web application testingsystem");
selenium.isElementPresent("//div[@id='prs']");
}
}
----notes:
1.selenium api url:
http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/java/com/thoughtworks/selenium/Selenium.html
2.selenium api中文:
http://blog.csdn.net/lh9529/archive/2009/03/01/3946567.aspx
>java -jar selenium-server.jar
2.selenium 常用方法
1) 创建selenium实例对象:
Selenim selenium =newDefaultSelenium("localhost",4444,"*firefox",url);
2)selenium.open(String url)
selenium.open("http://www.google.com");//打开一个网页
3)selenium.type(String locator,String value)
selenium.type("//div[@id='q']","automatedtesting");//在google输入框中输入automated testing,其中q为输入框的id
-----notes:use Selenium IDE can get this result easily
4)selenium.isElementPresent(String locator),返回true/false
selenium.isElementPresent("//div[@id='wor']");//根据xpath路径查找元素是否存在
5)selenium.click(String locator)
selenim.click("submit")//点击操作
6)selenium.isTextPresent(String pattern);return true/false
selenium.isTextPresent("automated");//查找文本内容是否存在
7)selenium.select(String selectTarget, String selectValue)
selenium.select("//select[@id='page']","value=1234")//在选择框中选择一个选项
8)selenium.geteval_r(String locator);//根据path寻找元素
selenium.geteval_r("this.page().findElement(\"//div[@class='ele']/ul\").childNodes[1].className");
selenium.geteval_r("this.page().findElement(\"dom=document.domain\")");
selenium.geteval_r("this.page().findElement(\"//div[@class='ele']/ul\").childNodes.length");
selenium.geteval_r("this.page().findElement(\"//div[@class='ele']/ul\").childNodes[1].nodeName");
selenium.geteval_r("this.page().findElement(\"//div[@id='emailCheckedLabel']\").getAttribute(\"style\")");
notes:<li id="yes"class="hello"/>
9)selenium.getSelectOptions(String locator);//returnString[],返回选择框的全部选项
selenium.getSelectOptions("//select[@id='selectid']");
10)Pattern.compile(String text).matcher(Stringlocator).find();//return boolean,判断是否存在匹配的字符串
Pattern.compile("hello").matcher("//div[@class='ele']").find();
11)selenium.focus(String locator);//将光标焦点定位到文本框中
12)selenium.keyPressNative(Integer.toString(java.awt.event.KeyEvent.VK_ENTER));//输入回车
13)selenium.keyPressNative(Integer.toString(java.awt.event.KeyEvent.VK_TAB));//输入tab键
或是 selenium.keyPressNative(“09”);//输入tab键
...
eg:(google search function test)
package com.work.selenium;
import junit.framework.TestCase;
import org.openqa.selenium.server.SeleniumServer;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
public class firstSelenium extends TestCase {
}
----notes:
1.selenium api url:
http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/java/com/thoughtworks/selenium/Selenium.html
2.selenium api中文:
http://blog.csdn.net/lh9529/archive/2009/03/01/3946567.aspx