Categories
Working

RAPI Start 遠端啟動時帶入含空白參數

昨天的文章提到了使用 RAPI Start 這個命令來遠端啟動行動裝置上面的 MortScript,最後的範例沒錯,可帶入 Foo=foo 參數指定。但是,當 .mscr 檔案在某個帶有空白的路徑下,或者我們需要帶入 Foo=foob blank 參數時卻遇上一些麻煩。

這是不能 work 的:

rapistart.exe "\Program files\MortScript\MortScript.exe" \SD Card\foo.mscr Foo=foo blank

一般加上雙引號「”」的作法,不行:

rapistart.exe "\Program files\MortScript\MortScript.exe" "\SD Card\foo.mscr" "Foo=foo blank"

嘗試加上兩個雙引號「””」也不行:

rapistart.exe "\Program files\MortScript\MortScript.exe" ""\SD Card\foo.mscr"" ""Foo=foo blank""

全部被 RAPI Start 給過濾掉,嗯…M$ 的命令列指令還真難用。難道工程師這樣子就要區服屈服了嗎?當然不!而且還要把這問題解決,嗯!

加上三個雙引號「”””」就好了…囧rz:

rapistart.exe "\Program files\MortScript\MortScript.exe" """\SD Card\foo.mscr""" """Foo=foo blank"""
Categories
Working

自桌面透過連線啟動行動裝置上面的 MortScript

測試過程中,我們很希望每個環節都可以做到自動化,讓人工介入的時間減到最低。MortScript 在行動裝置上真的功能強大,許多基本的動作都可以透過它來完成。

這兩天嘗試寫了幾隻腳本,很不錯,但我們又想到一個問題:「 要怎麼從 PC 端啟動那些腳本程式呢?」我們有限的知識知道一些事情,Windows Mobile Developer Power Toys 裡頭所附的工具們有幾個在這自動化環境很好用,如:

  • ActiveSync Remote Display – 把行動裝置的畫面顯示在 PC 桌面上,還可以滑鼠點選以及鍵盤輸入。
  • CECopy – 將檔案自 PC 拷貝至行動裝置上面。
  • RAPI Start – 遠端啟動行動裝置上的應用程式。

於是,我們想 RAPI Start 可以啟動應用程式,那可不可以叫 MortScript?關鍵字:Rapistart MortScript 果然出現在論壇中的討論,原來變通組合一下就好,讚!(論壇關閉中,可透過咕狗快取觀看)下面是範例:

>rapistart.exe "\Program files\MortScript\MortScript.exe" \foo.mscr Foo=foo
Categories
Working

MortScript—行動裝置自動化的好幫手

工作上我們為了自動化測試努力尋找各式解決方案,個人電腦的自動化有許多商業及開源的解決方案可以使用,例如:Software Testing Automation Framework (STAF)

但桌面系統只是一部分,產品的重點在於行動裝置(Smartphone, PPC, PDA, etc.),各個大廠牌的商務機型大概都會測試。我們很想讓所有的行動裝置都可以自動地把測試工作做完(這樣就不用工作了…),但天底下沒有這麼好的事情,光是不同的作業系統就要有不同的方案。

Windows Mobile 是主力,能找到的資料比較豐富,於是在上禮拜某封美國人的信件中,他使用 MortScript 這個簡單的批次語言處理器來做一些自動化,並可以產生測試執行時間與記憶體狀況的文字檔案,讓後續的工作有更多資料可以進行分析,看起來實在是很方便的東西。

MortScript 可以做到的功能如下(亂翻自它的英文功能說明):

  • 執行、喚醒、隱藏、關閉程式或刪除程式行程。
  • 等待功能:例如幾秒內某個視窗是否啟動等。
  • 模擬按鍵送出、游標點選或是點 OK, Cancel 等一般按鈕。
  • 檔案操作:複製、更名、移動、刪除、產生捷徑與讀寫文字檔還有產生 ZIP 壓縮檔。
  • 讀寫 COM 埠。
  • 產生與刪除目錄。
  • 讀寫機碼(Registry)。
  • 開啟與關閉連線,自網路上讀取檔案。
  • 幾種條件式與迴圈表示式 (If, Switch, Choice dialog, While, ForEach, …) 。
  • 系統功能,例如:轉畫面、調聲音、調背光、重置(soft reset)、電量等…
  • 副程式 (Call, Sub/EndSub) 。
  • 變數、數字與字串操作,以及許多整合函式。

這工具不需要高深的 hack 技巧,適合不太會寫程式,懂基本的程式邏輯,想讓行動裝置(Windows Mobile 作業系統,其實 PC 也可以)可以替您自動執行一些動作的人。網站上還有提供不同的範例供人參考,此外它也獲得 Smartphone & Pocket PC 雜誌 2007 年 Pocket PC: Utilities: Command Prompt and Scripting 類別的最佳工具程式獎項呢!

最後,您若是認為這個工具非常方便,不妨贊助一下那位德國佬嚕! 🙂

Categories
Working

讓 ActiveSync 不建立合作關係

最近在做一些自動化測試工作,遇到每次裝置透過 ActiveSync 連線時,都會跳出精靈畫面幫我們替裝置與系統建立合作關係。建立合作關係可以讓裝置與系統方便同步資料,由於我們的產品現在跟同步功能沒有關係,為了減少變數,一律跳過該步驟。

於是,我們遇到一個問題:「如何不讓 ActiveSync 不跳出那個煩人的精靈視窗?」

一開始的想法很簡單,讓自動化程式自己去點那個精靈的按鈕就好了嘛!但工程師是不會因此而滿足,去問看看咕狗有什麼好方法。使用「ActiveSync Partnership Only」當關鍵字去搜尋微軟技術支援網站就可以找到解法,原來加個機碼即可,以後就不用煩惱,很讚!

作法請參考文章:How To Avoid New Partnership Wizard in ActiveSync

Categories
Working

工作時程

標題應該取—「專案時程與測試」吧…

去年底就大致上瞭解今年會有哪些工作,排程如何等等,就這麼一個專案,嗯…

開始接觸這個產品的相關技術是 2004 年夏季時,掐指算算也將近四年。這四年中,產品名稱持續改變,連品牌也換過一輪,有時候會搞混。不過,那些都是 marketing 的事情,基礎架構一直都相同。

一起工作的客戶從菜鳥變成測試小組長或是產品開發人員,想起來挺有趣的,原來有這麼久時間啊!?

其實這個產品以體積來算很小,因為是設計在有限資源的裝置上面執行,大約 10~30MB 左右…啊!要說明我的工作範圍—測試員。而這個產品有給桌上型電腦用的版本,以及有給「有限資源的裝置」的版本,最後則是相關的開發工具…歐!還有伺服端的管理版本。我這個測試員的工作就是測試「有限資源的裝置」的版本以及開發工具中與該版本相關的功能。

今年是我參與這個產品的第五個版本測試專案,以往每次的時程從兩個月到半年不等,做各種不同的測試,有功能相關的、語言相關的、裝置相關的、整合性的、產品釋出前或者回歸測試等等…這次也不會差太多吧!?

重點是,一個產品在推出之前要做這麼多這麼久的測試,國內廠商大概沒幾家可以做得到…噗~