本篇文章初步介紹使用Java+Selenium進行web的自動化測試, 僅僅是起步!!!!html
1. 環境準備java
1.1 Java環境
安裝, 配置jdk
1.2 Java IDE
由於Selenium支持Java/C#/Ruby/Python/Perl等,這裏選擇用Java。到Eclipse官方網站下載Eclipse, 解壓
1.3 Selenium
到Selenium官方網站http://seleniumhq.org/download/下載Selenium IDE,Selenium Server, Selenium Client Driver
以上三者之間的關係是:
Selenium IDE能夠錄製腳本,執行腳本,修改腳本,將錄製的腳本導出成其餘語言(好比Java)---本篇不討論
Selenium Server是和Selenium Client結合使用的,Server用來啓動瀏覽器,接受Client端的請求,執行test;
Client端則是向Server端發送請求。
2. 在Eclipse中編輯並運行test
2.1 新建一個Java project: File-New-Java Project
2.2 在上一步建好的項目名稱上點鼠標右鍵, 點擊Build Path-Add External Archives...,將下載的selenium-java-2.21.0.jar(client)和selenium-server-standalone- 2.21.0.jar(server)加進來
web
2.3 啓動selenium server.進入cmd,運行 "java -jar selenium-server-standalone-2.21.0.jar" --保證能找到改jar包。信息以下:瀏覽器
[java] view plaincopyapp
信息: Launching a standalone server ide
22:16:21.484 INFO - Java: Sun Microsystems Inc. 17.1-b03 測試
22:16:21.500 INFO - OS: Windows XP 5.1 x86 網站
22:16:21.515 INFO - v2.21.0, with Core v2.21.0. Built from revision 16552 ui
22:16:21.859 INFO - RemoteWebDriver instances should connect to: http://127.0.0. url
1:4444/wd/hub
22:16:21.875 INFO - Version Jetty/5.1.x
22:16:21.875 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
22:16:21.875 INFO - Started HttpContext[/selenium-server,/selenium-server]
22:16:21.875 INFO - Started HttpContext[/,/]
22:16:22.062 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@5d173
22:16:22.062 INFO - Started HttpContext[/wd,/wd]
22:16:22.093 INFO - Started SocketListener on 0.0.0.0:4444
22:16:22.093 INFO - Started org.openqa.jetty.jetty.Server@32fb4f
信息: Launching a standalone server22:16:21.484 INFO - Java: Sun Microsystems Inc. 17.1-b0322:16:21.500 INFO - OS: Windows XP 5.1 x8622:16:21.515 INFO - v2.21.0, with Core v2.21.0. Built from revision 1655222:16:21.859 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub22:16:21.875 INFO - Version Jetty/5.1.x22:16:21.875 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]22:16:21.875 INFO - Started HttpContext[/selenium-server,/selenium-server]22:16:21.875 INFO - Started HttpContext[/,/]22:16:22.062 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@5d17322:16:22.062 INFO - Started HttpContext[/wd,/wd]22:16:22.093 INFO - Started SocketListener on 0.0.0.0:444422:16:22.093 INFO - Started org.openqa.jetty.jetty.Server@32fb4f
2.4 代碼測試
[java] view plaincopyprint?
import com.thoughtworks.selenium.DefaultSelenium;
public class SeleniumDemo01
{
public static void main(String[] args)
{
String host = "localhost";
int port = 4444;
String url = "http://www.baidu.com/";
String browserType = "*firefox";
String keyWordsLocator = "document.getElementById('kw')";
String search = "document.getElementById('su')";
DefaultSelenium selenium = new DefaultSelenium(host,port,browserType,url);
selenium.start();
selenium.open(url);
selenium.type(keyWordsLocator,"java selenium");
selenium.click(search);
selenium.waitForPageToLoad("50000");
selenium.stop();
}
}
運行結果:
1.firefox瀏覽器期待
2.打開百度主頁
3.在搜索框中鍵入了"java selenium"
4.點擊"百度一下"按鈕
5.等等頁面加載50s
6.關閉瀏覽器