• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 開源控件查詢類庫iQuery Android版使用說明

    發表于:2012-09-12來源:不祥作者:知平軟件點擊數: 標簽:Android
    開源控件查詢類庫iQuery Android版使用說明,iQuery是一個通用的跨平臺的控件查詢類庫,其語法類似jQuery,但你可以在iOS、Android、selenium、甚至是桌面GUI 程序上使用它。在iQuery之前,要在界面中查詢一個控件,特別是自動化測試用例程序中,是比較麻煩的事情,而i

      iQuery是一個通用的跨平臺的控件查詢類庫,其語法類似jQuery,但你可以在iOS、Android、selenium、甚至是桌面GUI 程序上使用它。在iQuery之前,要在界面中查詢一個控件,特別是自動化測試用例程序中,是比較麻煩的事情,而iQuery不僅可以用一段簡潔的文本精準定位控件,還為使用同一個查詢語句執行跨平臺控件查詢提供可能。

      繼上周發布iQuery iOS版發布之后,我們再接再厲完成Android版的開發,你可以在Android應用里使用iQuery批量處理和操作界面控件,有興趣的朋友可以在這里下載

      https://github.com/vowei/iQuery/downloads

      源碼位置:

      https://github.com/vowei/iQuery

      要在Android程序以及Android自動化測試程序中使用iQuery,你需要引入下面幾個包:

      antlr-runtime-3.4.jar:用于詞法解析。

      iQA.Runtime.jar:iQuery語法解析主程序包。

      iQA.Runtime.Instrument.jar:iQuery android插件。

      如果你需要編寫android instrument的UI自動化測試用例的話,還需要在測試用例工程里添加:

      robotium-solo-3.1.jar:用于抓取android UI控件的類庫。

      運行iQuery所需要的依賴包都可以在下面這個地方下載:

      https://github.com/vowei/iQuery/tree/master/java/lib

      下面逐步介紹在eclipse的android自動化UI測試工程中使用iQuery的方法:

      首先創建一個android自動化測試工程,并在AndroidManifest.xml里指明要測試的Android程序的package名和應用的主Activity名。

      

      

      package="cc.iqa.studio.demo.test"

      android:versionCode="1"

      android:versionName="1.0" >

      

      

      android:name="android.test.InstrumentationTestRunner"

      android:targetPackage="cc.iqa.studio.demo" />

      

      android:icon="@drawable/ic_launcher"

      android:label="@string/app_name" >

      

      

      

      將antlr和robotium的依賴包加入Build Path:

    無標題

      新建一個類(測試用例或者其它都可以),在源文件里加入以下幾個命名空間:

      import org.antlr.runtime.*;

      import cc.iqa.iquery.*;

      import cc.iqa.iquery.android.*;

      上面,org.antlr.runtime用于引入詞法解析的一些類(可選引用);cc.iqa.iquery用于引入iQuery for Java的主程序;而cc.iqa.iquery.android則用于引入iQuery android插件的相關類型。

      如果你是編寫自動化的Instrument測試用例,可能還需要引入下面的命名空間:

      import com.jayway.android.robotium.solo.*;

      com.jayway.android.robotium.solo是用來引入基于Instrument的UI自動化的類庫。

      使用iQuery.query靜態函數從一個控件開始執行iQuery查詢,iQuery的語法說明請參見文章類jQuery selector的控件查詢iQuery開源類庫介紹:

      List result = iQuery.query(

      new SoloTreeNode(_solo.getCurrentViews().get(0)),

      "LinearLayout >> TextView [mText = 'Down Under']");

      parser.query返回的結果即是滿足第5步中iQuery過濾條件的控件集合:

      Assert.assertEquals(2, result.size());

      完整的測試用例代碼如下:

      public void test簡化后的API() throws Exception {

      List result = iQuery.query(

      new SoloTreeNode(_solo.getCurrentViews().get(0)),

      "LinearLayout >> TextView [mText = 'Down Under']");

      Assert.assertEquals(2, r1.size());

      }

      如果有語法錯誤的話,iQuery.query會拋出一個iQueryParseException異常,捕捉該異常,調用其getErrors函數獲取語法錯誤的詳細描述。

      e.getErrors();

      在eclipse里右鍵單擊測試工程,選擇Run As -> Android JUnit Test執行測試用例:

    無標題

      更詳細的例子,請參看源碼里附帶的測試用Android工程和其相關的測試用例。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>