Selenium开放源代码,比如Selenium RC的代码位于http://svn.openqa.org/svn/selenium-rc/,最新的代码位于http://svn.openqa.org/svn/selenium-rc/trunk/clients/java/src/可以通过svn co?http://svn.openqa.org/svn/selenium-rc/trunk/clients/java/src/命令下载。 Selenium RC包括server和client,其中client端支持多种编程语言,包括java、python和ruby等等。client相当于一个驱动程序,我们可以调用驱动程序执行相应的页面操作。server则相当于一个代理服务器,接收client的操作请求,然后调用firefox等浏览器执行页面操作。server的详细说明见http://seleniumhq.org/documentation/tutorials/,这里列觉几个主要问题: 其实可以不使用Junit,如下: 这段代码是Client代码,连接的server是localhost:4444。 启动server的命令是: java -jar selenium-server.jar [-interactive] [options]
import com.thoughtworks.selenium.*;
import junit.framework.*;
public class GoogleTest extends TestCase {
private Selenium browser;
public void setUp() {
browser = new DefaultSelenium("localhost",
4444, "*firefox", "http://www.google.com");
browser.start();
}
public void testGoogle() {
browser.open("http://www.google.com/webhp?hl=en");
browser.type("q", "hello world");
browser.click("btnG");
browser.waitForPageToLoad("5000");
assertEquals("hello world - Google Search", browser.getTitle());
}
public void tearDown() {
browser.stop();
}
}
import com.thoughtworks.selenium.*;
public class first {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
first my = new first();
my.setUp();
my.testGoogle();
my.tearDown();
}
private Selenium browser;
public void setUp() {
browser = new DefaultSelenium("localhost",4444, "*firefox", "http://www.google.com");
//browser = new DefaultSelenium("localhost",4444, "*custom D:\\Program Files\\Mozilla Firefox\\firefox.exe", "http://www.google.com");
browser.start();
}
public void testGoogle() {
browser.setSpeed("3000");
browser.open("http://www.baidu.com");
browser.type("q", "hello world");
browser.click("btnG");
browser.waitForPageToLoad("5000");
//assertEquals("hello world - Google Search", browser.getTitle());
}
public void tearDown() {
browser.stop();
}
}
其中比较重要的启动参数有:
-port :server监听的端口,缺省是4444
-singleWindow:当client通知server执行浏览器操作时,缺省情况下,server会启动两个浏览器窗口,其中一个用于记录自动化脚本日志,另一个是实际执行窗口。如果使用-singleWindow参数,则server只会启动一个窗口,日志和实际操作上下显示,实际操作好像是在一个frame里显示,selenium建议分别显示。
详细解决方案
Selenium学习札记3
热度:79 发布时间:2012-10-27 10:42:26.0
相关解决方案
- Junit+Selenium+Maven+SVN+Eclipse+AutoFrame全自动化测试实践范例(一)
- Selenium-感受之旅
- selenium webdriver学习(十九)-小弟我们的构建文件CrazyFunBuild (译)
- selenium 怎么判断当前HTML下正常显示
- selenium 进阶二: CSS SELECTOR 的完整版
- selenium 进阶一: CSS SELECTOR
- AJAX testing tool -Selenium user manual (Selenium用户指南)4
- Selenium 2.0 WebDriver 使用课程 实例教程 API快速参考
- Selenium-webdriver 页面模式在实际项目中的实际运用,大量Page页面怎么初始化
- selenium webdriver学习遇到的有关问题
- Selenium-感受之旅
- WebDriver (Selenium 二) 中文文档
- 和小弟我一起学 Selenium WebDriver(7)――基础篇
- 和小弟我一起学 Selenium WebDriver(3)――基础篇
- selenium webdriver散记
- 和小弟我一起学 Selenium WebDriver(4)――基础篇
- Selenium-Webdriver系列课程(2)――――浏览器的简单操作
- Selenium + TestNG + Yaml作浏览器自动化测试很棒
- Selenium 与 JUnit 兑现自动化测试
- Selenium-webdriver系列课程(12)――――fire event的替代方案
- Selenium 2.0 and WebDriver - the 五 minute getting started guide
- Selenium-webdriver系列课程(15)――――使用已存在的profile启动firefox
- Selenium-webdriver系列教程(13)――――如何避免table
- Selenium-webdriver系列教程(14)――――怎么在启动firefox时加载扩展
- Selenium-webdriver系列教程(10)――――怎么智能的等待页面加载完成
- Selenium-webdriver系列课程(11)――――使用jquery辅助进行测试
- Selenium-webdriver系列课程(8)――――使用Page Object设计模式
- Selenium webdriver 设立代理proxy
- selenium WebDriver 浏览器发动机
- Selenium Webdriver上click失效有关问题解决