最近看了看Selenium,断断续续的,因为工作原因,只能在没有任务的时候抽时间看看。现在只是用Selenium IDE进行了下录制,转换为java代码在Myeclipse里运行了录制了代码。期间遇到的问题主要有:
1。Firefox、Selenium ide、firebug安装时的版本问题,这个在我上上篇日志“Selenium 下载安装”上说过了,
2,Selenium server的启动问题,就是我上篇日志所说的。之前我安装了jdk myeclipse tomcat,虽然没有配置环境变量,但是项目部署到tomcat下运行一点问题没有,但是Selenium server却启动不起来,必须要配置环境变量
path=%JAVA_HOME%\bin
JAVA_HOME=C:\Java\jdk1.6.0_01
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
3,添加jar包,虽然我没遇到这方面的困扰,因为查找的资料中基本上写清楚了,不过千万不要忘了把selenium-java-client-driver-1.0.1里的jar报添加到项目中,如果使用junit,不要忘了引入junit的jar包,有好多用testNG和Selenium配合使用的,但是我没用过,所以选择用junit了。网上有不少Selenium+junit的例子,可以搜搜看。
我的主要学习资料:
首先我是先看的《Selenium私房菜》在网上搜得一些Selenium的介绍。先对Selenium有个整体的了解,然后进行Selenium IDE基本的学习,主要就是普通的录制,然后学习Selenium RC,是看了小米的boobooke视频第五章,比着上面的例子做了个练习,然后意识到该学习xpath和css定位元素了,小米的视频二三四章讲到了,然后结合Selenium API结合xpath的学习和css的学习,基本对元素的定位可以掌握了,现在你可以拿个项目试试手了,当然可以边做边学习,这样效率快一些
Selenium 下载地址http://seleniumhq.orgdownload
xpath定位元素(中文),另外可以参考《Selenium私房菜》第二章http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
Selenium API(英文)
http://release.seleniumhq.org/selenium-core/1.0.1/reference.html
css定位元素(英文)
http://saucelabs.com/blog/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/
Selenium中文论坛 http://seleniumcn.cn/
《Selenium私房菜》http://wenku.baidu.com/view/ae5b5f0e7cd184254b353549.html
《Selenium IDE实践(使用Selenium录制)》http://www.uml.org.cn/Test/200910166.asp
小米录制的boobooke上的关于Selenium的几个视频http://www.boobooke.com/bbs/thread-41824-1-1.html
《使用Selenium 和Junit 进行WEB功能测试》http://yingxiong.javaeye.com/blog/782711
Selenium资源列表http://www.cnblogs.com/testware/archive/2010/07/20/1781098.html
selenium+TestNG http://hi.baidu.com/ronson1989/blog/item/c5c0880fe6c2dec47acbe140.html
用Selenium测试web应用http://blog.csdn.net/gigix/archive/2006/06/11/788634.aspx
另外把下载的几个文件也上传了
下面复制两个在Myeclipse里测试没有问题的例子
import com.thoughtworks.selenium.*;
public class testbaidu {
// 实例化Selenium 类
Selenium selenium;
// 覆盖setUp方法
public void setUp() throws Exception {
// 实例化DefaultSelenium类,其它命令均是它的方法
selenium = new DefaultSelenium("localhost", 4444, "*iexplore",
"http://www.baidu.com");
// 启动selenium 创建一个新的session
selenium.start();
}
// 覆盖teardown方法(在这里没有特别的设置)
public void tearDown() throws Exception {
selenium.stop();
}
// 建立一个测试方法,里面是命令的集合了..
public void testBaidu() throws Exception {
// DefaultTestCase test=new DefaultTestCase();
// 注意这里的selenium即是类中的已经启动的selenium,命令都是它的方法
selenium.open("http://www.baidu.com");
selenium.waitForPageToLoad("6000");
selenium.type("kw", "selenium");
selenium.click("sb");
Thread.sleep(3000);
}
}
下面这个是我在Selenium IDE里录制生成的
import com.thoughtworks.selenium.*;
public class testSelenium extends SeleneseTestCase {
public void setUp() throws Exception {
setUp("http://www.baidu.com/", "*chrome");
}
public void testUntitled() throws Exception {
selenium.open("/");
selenium.click("kw");
selenium.type("kw", "百度");
selenium.click("su");
selenium.waitForPageToLoad("30000");
verifyTrue(selenium.isTextPresent("百度"));
selenium.click("//table[@id='1']/tbody/tr/td/a/font");
}
}
注意导入的包: