jojo's blog--快樂憂傷都與你同在
          為夢想而來,為自由而生。 性情若水,風起水興,風息水止,故時而激蕩,時又清平……
          posts - 11,  comments - 30,  trackbacks - 0
          Part One --- Selenium IDE


              Selenium IDE 是selenium測試工具中的其中一個,是一個基于FireFox的Web測試開發環境,可以錄制、編輯和調試測試。Selenium IDE包含了Selenium Core,因此可以輕易地在瀏覽器中錄制和回放測試。
            Selenium IDE不僅僅是一個測試錄制工具,而是一個IDE,可以錄制測試,也可以手工編輯測試,可設置斷點進行調試,可把測試保存到HTML、Ruby、C#、Java其他腳本格式,然后使用Selenium RC來實現并運行更加靈活和強大的測試。
             Selenium IDE是一個firfox插件,錄制相當方便,而且效果不錯,很多錄制后不需要修改即可回放.編輯也相當簡單,一行就是一個完整的命令.十分適合于編程基 礎較薄的測試人員使用.但是由于所用的語言是selenese即是類html腳本語言而非程式語言,于組織腳本不夠靈活,所形成的功能不如 selenium RC 強大,而且對腳本組織也不方便.更重要的是暫時只支持 firefox瀏覽器.所以一般情況下是以selenium IDE 來熟悉 selenium功具.然后利用IDE 來錄制腳本作為selenium core的腳本文件或更多的是用IDE錄制而保存為drive腳本即是程式語言腳本如java 腳本.但無論如何 selenium IDE是學習selenium的必修課,因為日后錄制腳本需要它,即使用selenium rc也可用它錄制部分腳本并可方便用于調試.下面將簡單介紹Selenium IDE的整個使用過程.
              1> Selenium IDE 安裝. 從其官方網站下載安裝:http://selenium-ide.openqa.org/,跟普通frifox 插件安裝沒有什么兩樣(注意是firefox安裝插件不是IE哦..).安裝完成后,在瀏覽器"工具"菜單欄即可見Selenium IDE 工具.
              2>Selenium IDE錄制腳本.安裝完成后當然是開始錄制腳本了.打開IDE工具后,類似一個小瀏覽器(此時默認是錄制狀態),在Base URL 中輸入你要錄制的網站網址如www.google.com.然后在Firefox 中打開google 網站,輸入"Selenium ide",再點擊搜索.然后點擊IDE工具的停止錄制按鈕停止錄制.此時你會發現在"Table"中有了一些命令行,每一有三個部分組成.   command:命令如單擊click, Target:目標即是命令的對象如單擊按鈕(用xpath或是其它定位方法表示),Value即是值如向輸入框輸入東西即在這里設置.而在"Sourse"中可看到類似html 的腳本,保存后就這樣了,呵呵.
              3> Selenium IDE編輯腳本.你可以在Table中修改,點擊相應命令行,所在行內部便會出現在下方,即可方便修改,如選擇相應的command.當然你也可以在 Sourece中修改,但人必須對 Selenium命令很熟悉. 現在修改下剛才錄制的腳本,將第二行命令的value 修改為Selenium.
              4>Selenium IDE腳本運行. 修改完后即可點擊運行按鈕運行.運行剛才修改過的腳本,你會發現其迅速打開google瀏覽器并輸入"Selenium"并點擊進行搜索.此時運行結束.
              5>Selenium IDE腳本保存.保存時可保存為html腳本或是其它程式語言腳本,初步學習還是保存為html腳本吧.
              6>打開 seleniumIDE腳本并運行.這個就非常簡單了....
              到此,Selenium IDE錄制并修改運行整個過程完成了,你已經可以輕松方便使用selenium IDE進行錄制運行腳本了.但是要運用到測試中去尚需要時間熟悉,如都有什么命令啊,如何進行定位啊,如何用assert來驗證驗證點啊,這也是 selenium 測試主要學習的三點.如果這三占都搞明白了,熟悉了,恭喜你,你已經可以用selenium進行測試了.
              作為使用selenium IDE 工具并不復雜,而在于如何更熟悉它并用于測試中去.況且如前面提到只用Selenium IDE 進行測試局限性太高,所以建議借學習selenium IDE 了解并熟悉selenium工具,然后用其錄制腳本并用 selenium 其它工具進行測試如selenium Core, selenium RC,selenium Grid.于本人使用經驗而言,建議使用selenium RC.當然并不是說其它不好,其它有自己的優勢或是功能也是RC不具備的.從學習與使用方面考慮是先學習 selenium IDE, 然后轉向Selenium RC. 所以接下來將介紹Selenium RC.





          Part Two --- Selenium Introduction 1

          其實幾天前就看了一下Selenium,不過因為之前寫別的東西,就拖到了今天。 Selenium包括三部分,Selenium core,Selenium IDE和Selenium RC。Selenium core自然就是他的核心代碼,Selenium IDE是用JavaScript寫成的Firefox插件,可以錄制腳本,轉換成其他語言,并且回放等。但是喵喵在這里主要想說的是Selenium RC,即Selenium Remote Control,以及它和ant的集成使用。

          Selenium Remote Control現在最新的是0.9.2,可以在http://www.openqa.org/selenium-rc/下 載。Selenium Remote Control可以允許你使用編程語言(Java, .NET, Perl, Python, and Ruby)實現自動化web應用UI的測試,它提供了一個Selenium Server,它可以自動的start/stop/control所有支持的瀏覽器(Windows平臺上為Internet Explorer 6.0 and 7.0, Firefox 1.5.0.8 and 2.0, Opera 8.5.4 and 9.0.2)。

          Selenium Server必須跑在JRE1.5以上版本,可以通過java -version查看當前的JRE版本。

          啟動Selenium Server:java -jar selenium-server.jar

          可以通過-interactive參數使之以interactive mode啟動,當然,在此喵喵不采用這種方式,而是用java編寫testcase來進行測試。

          代碼如下:

          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();
              }
          }

          啟 動Selenium Server以后,就可以運行上面的testcase了。相信大家也都看到了,這個testcase是繼承了junit的testcase。所以下面要講 的用ant進行自動化的編譯和測試就和前面的ant學習筆記(一)中提到的<junit>task完全一樣了。

          ant腳本片段如下:

          <!--  編譯selenium test文件 -->
          <target name="compileselenium">
              <mkdir dir="${dist.selenium}"/>
              <javac destdir="${dist.selenium}" deprecation="on">
                  <src path="${src.selenium}"/>
                  <classpath refid="classpath"/>
                  <classpath refid="proj.libs"/>
              </javac>       
          </target>
          <!--  運行selenium  -->
          <target name="selenium" depends="compileselenium">
              <junit printsummary="yes" haltonfailure="yes">
                  <classpath>
                      <path refid="classpath"/>
                      <pathelement location="${dist.selenium}"/>
                  </classpath>
                  <formatter type="plain"/>
                  <test name="GoogleTest" haltonfailure="no" outfile="result"/ >
              </junit>
          </target>



          Part Three -- Selenium學習筆記

          最近準備用Selenium自動化錄制測試腳本,稍微總結一下。
          Selenium的主頁是http://seleniumhq.org
          Selenium包括很多組件,其中我現在用的是Selenium RC和Selenium IDE。Selenium IDE是Firefox的一個插件,我們可以使用它錄制頁面操作。
          Selenium IDE安裝完畢之后,可以從工具菜單中激活,然后我們就可以在firefox中訪問需要測試的網頁,進行各種頁面操作,Selenium IDE在這個過程中會記錄我們的頁面控件和動作。完成錄制之后,Selenium IDE生成一個HTML文件保存腳本,比如

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
          <head profile="http://selenium-ide.openqa.org/profiles/test-case">
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <link rel="selenium.base" />
          <title>baidu</title>
          </head>
          <body>
          <table cellpadding="1" cellspacing="1" border="1">
          <thead>
          <tr><td rowspan="1" colspan="3">baidu</td></tr>
          </thead><tbody>
          <tr>
                  <td>open</td>
                  <td>/</td>
                  <td></td>
          </tr>
          <tr>
                  <td>type</td>
                  <td>kw</td>
                  <td>ckword</td>
          </tr>
          <tr>
                  <td>clickAndWait</td>
                  <td>sb</td>
                  <td></td>
          </tr>
          </tbody></table>
          </body>
          </html>

          我們可以導出成Java文件,比如:

          package com.example.tests;

          import com.thoughtworks.selenium.*;
          import java.util.regex.Pattern;

          public class NewTest extends SeleneseTestCase {
                  public void setUp() throws Exception {
                          setUp("http://www.baidu.com/", "*chrome");
                  }
                  public void testNew() throws Exception {
                          selenium.open("/");
                          selenium.type("kw", "ckword");
                          selenium.click("sb");
                          selenium.waitForPageToLoad("30000");
                  }
          }

          只要導入相應的selenium和Junit包就可運行。
          有一點需要注意的是在回放腳本時,應該添加setSpeed方法,參數是ms,因為Selenium IDE雖然可以選擇回放速度(慢——中——快),但實際上即使選擇慢速,Selenium IDE仍然運行的有些快,導致其在順序執行用戶操作時,可以發生沒等到頁面加載完畢就執行下一個命令的現象,導致下一個命令找不到響應的頁面控件。除了 setSpeed之外,Selenium IDE還可以添加大量的命令。具體見Selenium IDE界面。
          另外一個關鍵是如何識別頁面控件。自動化的核心是錄制的控件識別方法可以復用,Selenium IDE支持的識別格式包括ID、Name、XPath:attributes、DOM index和XPath : position,而且允許正則表達式,所以非常靈活,根據我使用的情況來看,對于富客戶端應用,控件ID通常都增加了一個隨機數,不適合做識 別,Name還不錯,但是如何這個控件Name帶有版本信息,比如控件在不斷升級,從1.3升到1.4,那么Name可以會失效,要小心。XPath: position我用的最多,也覺得定位最準。但是Selenium IDE有時抓不到某些操作,比如,可以某一個Logout鏈接,是由span來實現的,此時Selenium IDE抓不到,此時可以XPath:attributes識別,這樣寫://span[text()='Log out'],搞定。
          對于Selenium IDE,還有很多細節需要學習,比如正則表達式的應用,如何寫出通用的識別方法,等等。我準備使用Selenium IDE錄制腳本,然后導出成java文件,做一些修改之后用Selenium RC驅動。

          原文 http://www.ckword.com/blog/?p=36

          Part Four --- About Selenium

          優勢:

          1. 記錄測試過程中,所見 即是所得,selenium 的所有內部程序都是用Javascipt編寫的。

          [Javascrīpt: 由Netscape Communications 和Sun Micorsystems公司共同開發的一種描述語言,與Java 的關系比較松散。Javascrīpt 能為Web頁添加基本的聯機應用程序和功能,但它不是一種真正的面向對象語言。

          它的工作特點是,當client端發出一個JS的請求時,它不必從web server下載,而直接由瀏覽器做出響應。]

          2. 支持多種操作系統,如windows, Mac, Linux,也支持多種瀏覽器,如IE,Firefox, Mozilla.

          若使用Selenium IDE進行web 自動記錄測試用例錄制,只能是在Firefox (筆者還沒試過Mozilla,嘿嘿)是先錄制好腳本,再在其它瀏覽器執行測試用例,進行測試。

          3. 執行兩種開發腳本,test runner,需要安裝Selenium Core,執行的文件為.HTML后綴名。另一種是driven(腳本語言編寫),支持多種語言:JAVA,.NET, Perl, Python, Ruby.(在下用的是ruby, 沒辦法,誰叫它既簡潔又明了呢!^ ^)

          劣勢:

          較難處理邏輯關系強的業務測試。

          Selenium 實質:

            通過HTTP協議,發送請求來完成測試用例的。

          Selenium 命令只有兩種

          1. 操作(action):用于模擬用戶與web的交互。

          2. 斷言(assertion):驗證一個命令的預期結果。(類似于watir^ ^)

          Selenium 的組成:

          Selenium IDE:firefox 的 plug-in。 是瀏覽器的工具,不能安裝在IE上。

          Selenium Core:純粹由Javascrīpt組成的,有assertion機制的test suit runnner.

          Selenium Remote Control:

          一個代理與控制端, 可代替Selenium core 和IDE 的client端。

          下載地址:http://www.openqa.org/

          一個使用Selenium IDE的測試例子腳本:

          class NewTest
            def test_foo
              open "/intl/zh-CN/"
              assertTitle "Google"
              type "q", "selenium"
              clickAndWait "btnG"
              assertTitle "selenium - Google 搜索"
              clickAndWait "link=高級搜索"
              assertTitle "Google 高級搜索"
              type "as_epq", "iccer"
              select "lr", "label=簡體中文"
              clickAndWait "btnG"
              assertTitle "selenium "iccer" - Google 搜索"
              click "link=測試| 軟件測試| 軟件缺陷跟蹤| 軟件配置工具| 測試用例設計| Web測試 ..."
            end
          end

          將腳本拷下,存為.HTML文檔,再在firefox的selenium IDE工作中打開,執行就OK了。(執行不了就多試幾次吧。^ ^)

          遲點要添加用selenium core的例子。


          Part Five -- Selenium RC測試案例

              《Selenium簡介》 中講過,Selenium RC支持多種語言編寫測試案例,如:C#,Python。在工作中,我傾向于是用Python這類動態語言編寫測試案例,因為這樣的測試案例無需編 譯:>,試想如果你有1000個測試案例,每個都要編譯,那會給編譯服務器很大的壓力,而且案例修改后,還得重新編譯才能運行:<。但在本系 列的文章中,我還是打算使用C#編寫示范例子。

          Selenium RC下載:http://seleniumhq.org/download/

          寫Selenium RC的測試案例

               上一篇《Selenium IDE的使用》中,提到了Selenium IDE可以把錄制的腳本轉為其他語言的腳本,所以我繼續用上一篇的腳本為例子,下面是把腳本語言轉換為C#后的代碼:

          using System;
          using System.Text;
          using System.Text.RegularExpressions;
          using System.Threading;
          using NUnit.Framework;
          using Selenium;

          namespace SeleniumTests
          {
              [TestFixture]
              
          public class NewTest
              {
                  
          private ISelenium selenium;
                  
          private StringBuilder verificationErrors;
                  
                  [SetUp]
                  
          public void SetupTest()
                  {
                      selenium 
          = new DefaultSelenium("localhost"4444"*chrome""http://change-this-to-the-site-you-are-testing/");
                      selenium.Start();
                      verificationErrors 
          = new StringBuilder();
                  }
                  
                  [TearDown]
                  
          public void TeardownTest()
                  {
                      
          try
                      {
                          selenium.Stop();
                      }
                      
          catch (Exception)
                      {
                          
          // Ignore errors if unable to close the browser
                      }
                      Assert.AreEqual(
          "", verificationErrors.ToString());
                  }
                  
                  [Test]
                  
          public void TheNewTest()
                  {
                      selenium.Open(
          "/");
                      selenium.Type(
          "kw""hyddd");
                      selenium.Click(
          "sb");
                      selenium.WaitForPageToLoad(
          "30000");
                      
          try
                      {
                          Assert.IsTrue(selenium.IsTextPresent(
          "hyddd - 博客園"));
                      }
                      
          catch (AssertionException e)
                      {
                          verificationErrors.Append(e.Message);
                      }
                      selenium.Click(
          "//table[@id='1']/tbody/tr/td/a/font");
                  }
              }
          }

          在這里,轉換后的腳本使用了NUnit測試框架,為了簡化,我用VS的Test Project代替(當然你也可以用Console Application建立測試工程的),步驟如下:
          1.建立Test Project

          2.導入DLL引用

              把selenium-dotnet-client-driver-1.0-beta-2目錄中的ThoughtWorks.Selenium.Core.dllThoughtWorks.Selenium.IntegrationTests.dllThoughtWorks.Selenium.UnitTests.dll加入項目:

          3.把上面自動生成的代碼再改一下

          using System;
          using System.Text;
          using System.Collections.Generic;
          using Microsoft.VisualStudio.TestTools.UnitTesting;
          using Selenium;

          namespace SeleniumTest
          {
              [TestClass]
              
          public class UnitTest1
              {
                  [TestMethod]
                  
          public void Test()
                  {
                      
          //127.0.0.1為Selenium測試服務器位置。
                      
          //4444為Selenium測試服務器監聽端口。
                      
          //*iexplore為啟動瀏覽器類型,我把它改為了IE瀏覽器。
                      
          //http://www.baidu.com為源地址
                      ISelenium selenium = new DefaultSelenium("127.0.0.1"4444"*iexplore""http://www.baidu.com");
                      selenium.Start();
                      selenium.Open(
          "/");
                      selenium.Type(
          "kw""hyddd");
                      selenium.Click(
          "sb");
                      selenium.WaitForPageToLoad(
          "30000");
                      Assert.IsTrue(selenium.IsTextPresent(
          "hyddd - 博客園"));
                      selenium.Click(
          "//table[@id='1']/tbody/tr/td/a/font");
          selenium.Close();
                      selenium.Stop();
                  }
              }
          }

          4.啟動Selenium測試服務器
              打開cmd進入selenium-server-1.0-beta-2目錄,輸入“java -jar selenium-server.jar”
          (需要先安裝JRE),啟動Selenium測試服務器。

          5.運行測試案例
          (1).運行測試案例:

          (2).測試結果:


          恩,案例Pass了,如果案例失敗的話,Error Meesage會說明失敗的原因。
          (注 意:和Firefox一樣,IE下也有屏蔽彈出網頁功能,修改設置方法:MenuBar->Tools->Popup Blocker->Turn off Popup Blocker,或者在Popup Blocker Settings里面配置。)


          Part Six -- 配置 selenium rc for HTTPS 測試

          1。選擇工具
          selenium有好幾種,首先需要確定的是哪種工具適合

          * selenium IDE: 是一個firefox的plug-in,這個基本上對任何測試都有用,主要是因為可以省下大量的手寫測試的時間。根據我的經驗,最新的版本(1.0 beta)在RHEL 5.0上不能用,所以我用的是0.87版本。
          在這里下載:http://selenium-ide.openqa.org/download.jsp不過它只能在firefox上用

          * selenium rc : 這個是用來遙控的。(rc = remote controller)如果你需要在一臺電腦上控制其它幾臺電腦進行測試,我用的就是這個。不過我用它的主要原因是它支持比較多的腳本語言(perl,python。。。)寫自動測試程序比較容易

          * selenium core : 只能支持Selenese語言(a simple scrīpting language. Selenese has a number of strict limitations: it has no conditionals (no "if" statements), and it has no loops (no "for" statements). This can make writing complicated tests difficult or even impossible.)如果需要知道比較具體的區別的話,還是看它們自己的文件:http://wiki.openqa.org/pages /viewpage.action?pageId=7632

          2。配置
          配置有很多步驟和方面,首先需要了解的是selenium rc的工作流程

          圖片看起來好像復雜,但是實際上我們可以將所有的部件放到一臺機器上。我們需要了解的是它的工作流程。
          selenium包含三個部件:
          測試程序(testing scrīpt)
          selenium rc (selenium server)
          browser (firefox, in my case)
          他們之間的關系如下
          testing scrīpt <=>selenium server <=> browser
          (1)測試程序將HTTP/HTTPS請求發給selenium server
          (2)selenium server將請求轉發(also called proxing)給browser,
          (3)browser 執行請求,得到執行結果,然后回復給selenium server
          (4)selenium server 將回復轉發給測試程序*
          (5)測試程序檢驗測試結果,記錄之,然后執行下一個測試
          這個過程中,selenium server和browser必須要在同一臺機器上,但是測試程序可以隨意。我的配置是三者都在同一臺機器上。

          測試環境配置 (testing environment configuration)
          * perl (我使用的是perl)
          用perl寫selenium的測試程序需要首先安裝必要的module: Test::WWW::Selenium
          我的安裝方式如下:
          $> yum install perl.CPAN.386   
                -- yum 是linux里面的程序包安裝程序
          $> perl -MCPAN -e "install Test::WWW::Selenium"  
                --安裝Selenium會同時要求你同時安裝一些其它的module,比如Test::Mock Test::MockObject Test::More Test::Exception Test::Mock:LWP Test::Pod. 如果你的CPAN配置好了的話,這些安裝都是自動的,安裝過程中如果有提問,直接回車就好,一般不會有太多問題 (如果需要重新配置perl CPAN,比如說我
             $> perl -MCPAN -e "shell"  
             CPAN> o conf init

          * JAVA
          Selenium server 是用Java寫的,所以你需要有JAVA。我開始用的是IBM JAVA 1.5后來才發現不行,就轉到了SUN的JRE1.6

          * Selenium Core : 在selenium rc 的網站上說需要 selenium core,但是我的經驗是不必管它

          * Selenium Server:
          ** 下載: Selenium 1.0Major release
          ** unzip selenium-remote-control-1.0-beta-1-dist.zip
          ** 到這里其實就可以了,但是讓程序跑起來,這里需要一個額外的配置: 將firefox-bin放到系統路徑里面去
             $> export PATH=$PATH:/usr/lib/firefox-1.5.0.9*

          * HTTPS
          前面的都很簡單。如果你不需要測試HTTPS,那么前面的配置就足夠了。但是要讓selenium server用HTTPS,還需要將一個專門用于測試的cert放到firefox里面去。步驟如下:
          ** open firefox
          ** import certificates:
          *** go to "Edit->Preference"
             -> open "Advanced" tab
             -> click "Security" (or "Encryption" )  
             -> click "view certificates", a new window will open,
             -> then select "Web Sites" tab
             -> then click "import"(圖片如下)



          3。最后一步,就是怎么讓程序跑起來。這里有三個問題需要注意:
          1> selenium rc beta 1。0 的SSL cert已經過期了(4/18/2008),所以我們需要將我們的系統時間改回到過期之前。
          $> date 041800002007
          2> 需要用讓selenium server使用剛剛設定好的firefox profile
          3> 需要設置一個特定的參數(trustAllCertificates),讓所有的SSL請求能夠順利通達。[這條在selenium正式的網站上沒有寫出來,是通過看源程序找到的]


          我的命令如下:

          讓selenium server跑起來:
          java -jar ~/server/selenium-server.jar "
               -log /tmp/selenium.log "
               -trustAllSSLCertificates "
               -multiWindow "
               -firefoxProfileTemplate /opt/ipatest.profile

          15:52:10.698 INFO - Writing debug logs to /tmp/selenium.log
          15:52:10.699 INFO - Java: Sun Microsystems Inc. 10.0-b19
          15:52:10.699 INFO - OS: Linux 2.6.18-8.el5 i386
          15:52:10.702 INFO - v1.0-beta-1 [2201], with Core v1.0-beta-1 [1994]
          15:52:10.758 INFO - Version Jetty/5.1.x
          15:52:10.760 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
          15:52:10.762 INFO - Started HttpContext[/selenium-server,/selenium-server]
          15:52:10.763 INFO - Started HttpContext[/,/]
          15:52:10.772 INFO - Started SocketListener on 0.0.0.0:4444
          15:52:10.773 INFO - Started org.mortbay.jetty.Server@5ac072

          讓測試程序跑起來:
          perl test.pl

          我的test.pl 程序開頭部分如下:
          ----------------------------
          #!/usr/bin/perl

          use strict;
          use warnings;
          use Time::HiRes qw(sleep);
          use Test::WWW::Selenium;
          use Test::More "no_plan";
          use Test::Exception;

          my $sel = Test::WWW::Selenium->new( host => "localhost",
                                              port => 4444,
                                              browser => "*firefox",
                                              browser_url => "https://some.com");

          $sel->open_ok("/testpage");
          $sel->click_ok("link=Add User");
          $sel->wait_for_page_to_load_ok("30000");
          $sel->type_ok("form_title", "auto001");
          $sel->type_ok("form_givenname", "selenium");
          $sel->type_ok("form_sn", "001");
          $sel->type_ok("form_krbprincipalkey", "redhat123");
          $sel->type_ok("form_krbprincipalkey_confirm", "redhat123");
          $sel->click_ok("document.form.submit[1]");
          $sel->wait_for_page_to_load_ok("30000");
          $sel->is_text_present_ok("s001 added!");
          $sel->click_ok("link=Find Users");
          $sel->wait_for_page_to_load_ok("30000");
          $sel->type_ok("uid", "s101");
          $sel->click_ok("http://input["@value='Find Users']");
          $sel->wait_for_page_to_load_ok("30000");
          $sel->type_ok("uid", "s001");

          ---------------------------
          我其實沒有寫什么東西,上面的程序都是selenium IDE自動錄的。




          posted on 2009-07-14 13:58 Blog of JoJo 閱讀(3396) 評論(0)  編輯  收藏 所屬分類: 每日一記測試相關

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 百色市| 盐城市| 无极县| 四会市| 册亨县| 信宜市| 临高县| 安图县| 梁山县| 威信县| 额济纳旗| 莲花县| 阿合奇县| 偏关县| 蓬莱市| 桓台县| 琼海市| 武隆县| 沅陵县| 广昌县| 临安市| 池州市| 左云县| 赤城县| 易门县| 新安县| 福鼎市| 天气| 贵阳市| 磐安县| 康平县| 梁平县| 霍山县| 新宾| 孟津县| 抚远县| 雅江县| 突泉县| 通山县| 宜君县| 岳普湖县|