新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Calabash-Android用法入門

Calabash-Android用法入門

作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

本文所用的源代位于:https://github.com/bigconvience/HackerNews

本文引用地址:http://2s4d.com/article/201609/304698.htm

下載完代碼后,進入工程目錄中,在命令行中輸入:calabash-android gen,此命令會在工程目錄下生成目錄features,目錄結構如下圖:

?

1
2
3
4
5
6
7
8
9
features
|_support
| |_app_installation_hooks.rb
| |_app_life_cycle_hooks.rb
| |_env.rb
| |_hooks.rb
|_step_definitions
| |_calabash_steps.rb
|_my_first.feature

step_definions目錄中存放用戶自定義的features, my_first.feature用來書寫測試的步驟。

基本用法之截屏

在my_first.feature中寫下如下代碼

?

1
2
3
4
Feature: Startup feature
Scenario: I can start my app
Then I wait for 15 seconds
Then I take a screenshot

第一行表示功能測試的名稱,第二行表示應用場景,第三行和第四行為該應用場景所做的事:先等15秒,然后在截屏。

在命令行輸入 calabash-android run HackNews.apk,應用程序會被安裝到手機或模擬器中,15秒之后,會自動截屏,圖片保存在當前工程目錄下。也可以自定義截圖保存的路徑:

?

1
code>SCREENSHOT_PATH=/tmp/foo/ calabash-android run/code>

以這種方式啟動測試,圖片保存在目錄/tmp/foo/下面。

基本用法之自定義feature

在step_definitions中新建文件touch_steps.rb,添加代碼如下:

?

1
2
3
4
5
# -- Touch --#
Then /^I (?:press|touch) on screen (d+) from the left and (d+) from the top$/ do |x, y|
touch(nil, {:offset => {:x => x.to_i, :y => y.to_i}})
sleep(3)
end

自定義的feature會被測試框架解析。功能名稱寫在了/^ /當中,參數(shù)列表位于 | | 中。Then和end中間的代碼為執(zhí)行的語句。然后在my_first.feature中添加代碼:

?

1
Then I touch on screen 100 from the left and 150 from the top

上面代碼表示點擊圖中的廣告條



關鍵詞:

評論


相關推薦

技術專區(qū)

關閉