----//編輯命令
selenium爲咱們錄製的腳本不是100%符合咱們的需求的,因此,編輯錄制的腳本是必不可少的工做。html
1. 編輯一行命令或註釋。java
在Table標籤下選中某一行命令,命令由command、Target、value三部分組成。能夠對這三部份內容那進行編輯。 chrome
2. 插入命令。編程
在某一條命令上右擊,選擇「insert new command」命令,就能夠插入一個空白,而後對空白行進程編輯。瀏覽器
3. 插入註解服務器
以上面一樣的方式右擊選擇「insert new comment」命令插入註解空白行,本行內容不被執行,能夠幫助咱們更好的理解腳本,插入的內容以紫色字體顯示。dom
4. 移動命令或註解編程語言
有時咱們須要移動某行命令的順序,咱們只須要左擊鼠標拖動到相應的位置便可。工具
----//錄製咱們的第一個腳本
咱們的錄製流程:學習
用火狐瀏覽器,打開一個新的標籤-----輸入谷歌網址(http://www.google.com.hk/)----在搜索框輸入:selenium----點擊「google搜索」按鈕。
注:注意開啓和關閉selenium IDE面板上的紅色圓形的錄製按鈕。
錄製的腳本:
----//調試腳本
1. 設置斷點。
要設置斷點,先選擇一行命令,點擊鼠標右鍵,在下拉菜單中選擇「Toggle Breakpoint」命令,點擊「運行」按鈕,腳本會運行到斷點處中止。用過myecilpse的debug功能來調試腳本的同窗懂的!
2. 經過頁面源代碼來調試腳本
不少狀況下,調試自動化測試案例都離不開查看頁面源代碼,咱們能夠藉助firefox的firebug工具,關於firebug的安裝(瀏覽器菜單欄---工具---查看組件---搜索firebug---安裝並重啓瀏覽器便可)。
如:咱們不肯定或想得到谷歌搜索按鈕的屬性。在按鈕上右擊---查看元素
在瀏覽器下方打開的firebug工具裏面,就能夠查看按鈕代碼了。
3. 定位輔助
當selenium IDE錄製腳本時,它會存儲額外的信息,支持用戶挑選其餘格式的定位器來代替默認格式的定位器,這種特殊性對於學習定位器頗有用。
咱們能夠選擇其餘的命令來代替「name=btnG」 命令,固然,腳本依然是能夠運行的。
經過學習,相信咱們已經會selnium IDE的基本使用了,爲了使selenium 更強大,其實selenium 還提供了良好的擴展能力。
----//用戶擴展
用戶擴展就是使用javaScript文件來建立定製化特性,添加新功能,一般狀況下這種擴展就是定製化命令,但擴展並不只限於命令。
這裏有一些列的擴展:http://wiki.openqa.org/display/SEL/Contributed+User-Extensions
1.下面咱們利用擴展的方式,產生一個用戶隨機數字
爲了使用用戶擴展,咱們須要一個建立一個文件,固然也能夠從上面的連接中下載。文件名爲:user-extention.js
//產生隨機數 Selenium.prototype.doStoreRandom = function(variableName){ random = Math.floor(Math.random()*10000000); storedVars[variableName] = random; }
//彈出框 Selenium.prototype.doDisplayAlert = function(value, varName) { alert(value); }
//在控件中輸入當前日期 Selenium.prototype.doTypeTodaysDate = function(locator){ var dates = new Date(); var day = dates.getDate(); if (day < 10){ day = '0' + day; } month = dates.getMonth() + 1; if (month < 10){ month = '0' + month; } var year = dates.getFullYear(); var prettyDay = day + '/' + month + '/' + year; this.doType(locator, 'dddddd'); }
將上面代碼複製到一個記事本里,並另存爲一個:user-extention.js的文件
在selenium IDE 中導入此文件,以下圖:
選中文件後,點擊「肯定」按鈕。你必須關閉再重啓selenium IDE,以便於擴展文件被讀取。任何擴展的改變,都要求關閉和重啓selenium IDE.
2.轉換代碼形式
選擇Options 菜單下的Format,容許你選擇一種語言來保護和戰士測試案例。默認是HTML格式。
若是你使用selenium RC 運行測試案例。這個特性能夠幫助你將測試案例翻譯成編程語言。
咱們能夠選擇「文件」----Export test Case As...來轉換咱們須要的語言格式。具體實例請參考《selenium RC 環境搭建》
3.在不一樣瀏覽器上執行selenium IDE測試。
selenium IDE只能在friefox上運行,可是經過selenium IDE 開發的自動化測試,能夠在其餘瀏覽器上運行。只要使用一條簡單的命令喚醒 selenium RC 服務器就能夠了。
若是瀏覽器不被直接支持,那麼經過使用" *custom "運行模式,你依然能夠在瀏覽器上運行selenium 測試案例。
cmd=getNewBrowserSession&1=*custom c:\Program Files\Mozilla Firefox\MyBrowser.exe&2=http://fnng.cnblogs.com
以下一段代碼:
package com.example.tests;
import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.regex.Pattern;
public class test extends SeleneseTestCase { @Before public void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4444, "*chrome", http://fnng.cnblogs.com/);
//能夠用下面一行的代碼來替換上面一行代碼
//cmd=getNewBrowserSession&1=*custom c:\Program Files\Mozilla Firefox\MyBrowser.exe&2=http://fnng.cnblogs.com
//若是是IE瀏覽器的話,能夠直接修改瀏覽器名稱,代碼以下:
//selenium = new DefaultSelenium("localhost", 4444, " *iexplore", http://fnng.cnblogs.com/); 這種方式更爲簡便。
selenium.start(); }
@Test public void testTest() throws Exception { selenium.open("/"); selenium.click("id=homepage1_HomePageDays_DaysList_DayItem_0_DayList_0_TitleUrl_0"); selenium.waitForPageToLoad("30000"); }
@After public void tearDown() throws Exception { selenium.stop(); } }
如何配置java環境來驗證我面的一段代碼,請參考,個人《selenium RC 環境搭建》
注意:若是經過這種方式啓動瀏覽器,你必須手動配置瀏覽器,以便將selenium Server 做爲代理,一般這僅僅意味着打開你的瀏覽器參數文件,並指明「localhost:4444」做爲HTTP代理。可是,不一樣瀏覽器的指令可能徹底不同,這就須要從你的瀏覽器支持文檔中尋找更多細節。
================================================
本文參考:http://luyongxin88.blog.163.com/blog/static/9255807201181114747437/ 流口水的小豬 (他的博客測試文章不少,是我學習的榜樣)