selenium+java+eclipce+test NG的環(huán)境搭建
1、安裝jdk、eclipse瓜喇、test NG 、selenium rc(谷歌的插件)炊汤、瀏覽器蜗搔、iedirverserver(selenium 2后不需要單獨(dú)執(zhí)行)
2渔工、在eclipse中執(zhí)行selenium 的java實(shí)例(新建project豫柬、引入slenium相關(guān)包【selenium-server-alone】告希、新建類)
3、在test NG中執(zhí)行selenium 的java實(shí)例
第一步 安裝JDK
JDk1.7.
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
一路猛擊‘下一步’烧给,OK燕偶。安裝完成后配置環(huán)境變量:
JAVA_HOME = E:\Java\Java\jdk1.7.0_15
PATH = %JAVA_HOME%\bin
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
配置完環(huán)境變量后,CMD命令行輸入:java -version础嫡,返回如下結(jié)果杭跪,則表示安裝成功:
第二步 下載Eclipse
下載地址:http://www.eclipse.org/download/
最新的Eclipse Standard 4.3, 198 MB,下載的都是不用安裝的驰吓,解壓出來(lái)后直接用涧尿。
第三步 下載Selenium IDE、SeleniumRC檬贰、IEDriverServer
下載地址:http://www.seleniumhq.org/download/
1姑廉、? Selenium IDE:selenium-ide-2.5.0.xpi 用來(lái)在Firefox上錄制腳本。
2翁涤、? Selenium RC:selenium-server-standalone-2.40.0.jar 模擬服務(wù)器端桥言,selenium 1.0執(zhí)行腳本時(shí)需要單獨(dú)啟動(dòng)該jar包, selenium webdriver無(wú)需單獨(dú)啟動(dòng)。
3葵礼、? IEDriverServer:IEDriverServer_Win32_2.40.0.zip IE驅(qū)動(dòng)
這里号阿,我將下載得到的所有文件,全存放在E:\eclipse\selenium下面鸳粉,方便管理:
第四步 下載Firefox
下載地址:http://www.firefox.com.cn/download/
下載得到文件:Firefox-latest.exe扔涧,最好是下載Firefox 25簡(jiǎn)體中文版,后續(xù)版本有人說(shuō)通過(guò)Selenium會(huì)啟動(dòng)不了Firefox届谈。
第五步 安裝IDE枯夜、Firebug、Xpath checker艰山、Xpath finder
安裝完Firefox后湖雹,打開(kāi)Firefox,把前面下載的selenium-ide-2.5.0xpi拖放到Firefox曙搬,彈出下圖后摔吏,安裝即可。
Firebug纵装、Xpath checker征讲、Xpath finder,打開(kāi)firefox瀏覽器搂擦,選擇工具――附加組件稳诚,打開(kāi)附加組件管理器頁(yè)面,搜索firebug瀑踢、Xpath扳还。
將查詢到的firebug、xpath checker橱夭、xpath finder都裝上氨距,重啟瀏覽器后生效:
SeleniumIDE、Firebug和xpath的用法棘劣,可以百度Selenium私房菜(新手入門教程).pdf俏让,里面有很好的說(shuō)明。
第六步 啟動(dòng)SeleniumRC
注意:selenium 1.0需要啟動(dòng)單獨(dú)rc,webdriver則不需要啟動(dòng)首昔。
啟動(dòng)seleniumRC的方法:
cmd命令行進(jìn)入selenium-server-standalone-2.40.0.jar存放目錄寡喝,輸入如下命令
java -jar selenium-server-standalone-2.40.0.jar
為了方便,可以將啟動(dòng)命令寫一個(gè)bat來(lái)執(zhí)行勒奇,Run_selenium.bat预鬓,內(nèi)容如下:
@echo off
cd E:\eclipse\selenium
E:
java -jar selenium-server-standalone-2.40.0.jar
第七步 Eclipse執(zhí)行Selenium的Java實(shí)例
-----7.1
打開(kāi)Eclipse,新建一個(gè)工程File—new—Java Project
-----7.2
輸入工程名:Selenum赊颠,next
-----7.3
接下來(lái)格二,窗口進(jìn)入Java Settings,選擇Libraries竣蹦,點(diǎn)擊Addlibrary顶猜。
引用Junit4的Jar包(E:\eclipse\plugins\org.junit_4.11.0.v2XXXX)。
然后點(diǎn)擊Add External Jars..痘括,
引用Selenium相關(guān)的包(E:\eclipse\selenium),最終Libraries如下:
完成后长窄,Java視圖如下:
-----7.4
右擊src,new->package新建一個(gè)包Selenium_Test远寸,
再右擊包Selenium_Test抄淑,new->class,新建一個(gè)Class類Case1.java,最終效果如下:
-----7.5
下面我們來(lái)用IE瀏覽器執(zhí)行一個(gè)實(shí)例驰后,修改Case1.java肆资,這里我們用selenium webdriver來(lái)寫代碼,代碼如下:
package Selenium_Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Case1 {
public static void main(String[] args) {
System.setProperty("webdriver.ie.driver",
"E:\\eclipse\\selenium\\IEDriverServer.exe");//注意這里IEDriverServer.exe的文件存放路徑
DesiredCapabilities ieCapabilities = DesiredCapabilities
.internetExplorer();
ieCapabilities
.setCapability(
InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
//new一個(gè)webdriver對(duì)象
WebDriver driver = new InternetExplorerDriver(ieCapabilities);
//上面這一段是用來(lái)解決IE安全設(shè)置提示的
//通過(guò)webdriver的get方法調(diào)用瀏覽器灶芝,打開(kāi)網(wǎng)頁(yè):http://www.google.com.hk
driver.get("http://www.google.com.hk");
//通過(guò)頁(yè)面元素的name=q定位到查詢輸入框
WebElement element = driver.findElement(By.name("q"));
//在輸入框輸入‘hello Selenium!’
element.sendKeys("hello Selenium!");
//提交查詢
element.submit();
//等待郑原,超時(shí)則拋出錯(cuò)誤
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//輸出當(dāng)前頁(yè)面的title
System.out.println("Page title is: " + driver.getTitle());
//關(guān)閉所有webdriver進(jìn)程,退出
driver.quit();
}
}
-----7.6
右擊Case1.Java夜涕,Run As—>Java Application犯犁,執(zhí)行成功結(jié)果如下:
-----7.7
接著,我們換成用selenium 1.0來(lái)寫代碼女器,Case1_1.java代碼如下:
package Selenium_Test;
import com.thoughtworks.selenium.*;
public class Case1_1 {
public static void main(String[] args)
{
DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://www.baidu.com/");
selenium.start();
selenium.open("/");
selenium.type("id=kw1", "selenium");
selenium.click("id=su1");
System.out.println("Page title is: " + selenium.getTitle());