2010-09-07 61 views
0

標題說幾乎全部。我擁有的是短期服務器進程,它爲基於Web的JavaScript測試套件提供服務,並可選擇隨附的後端進行集成測試(請參閱here瞭解它是如何完成的)。我正在尋找一種更好的方式將iPhone Emulator的Safari導向到給定的URL。乾淨的方式來編程控制iPhone上的Safari?

更多,可能是可選的背景:

直到iOS版SDK 4.0我已經成功使用AppleScript啓動控制的XCode專門準備PhoneGap項目以這種方式:

  1. 的AppleScript(簡稱「AS」)啓動XCode(稱爲「XC」)
  2. AS指示XC加載之前設置的PhoneGap項目。
  3. AS指示XC啓動PhonePap項目。
  4. PhoneGap項目將重定向到服務於測試套件的服務器,並運行測試套件。

在iOS 4.0 SDK中,這隻能在第一輪中運行,下次測試套件運行程序嘗試使XC執行上述例程時,它會失敗,請求停止上一次運行。而且我不能在我的生活中找到一種停止與AS [1]的調試會話的方式,所以我只能運行一個測試套件而無需人工干預,對於我們來說,女巫非常適合我們,因爲我們依靠很多每晚進行測試運行。

現在,我真正想要做的只需啓動iPhone Emulator,然後在模擬器上啓動Safari,並可以將任意URL發送到仿真的Safari。

我到目前爲止發現的是iphonesim,但我遇到了this問題,無法讓它正確啓動預編譯的應用程序。一種在iphonesim中規避這個問題的方法也是一個很好的前進方向。

[1]我會接受一種方法來做到這一點,作爲一個有效的答案。

回答

1

我對你有一個非常不同的解決方案。

編寫一個只包含Web視圖的自定義iPhone應用程序。它的行爲幾乎與MobileSafari相同。然後,在應用程序中嵌入一個小型Web服務器。

然後,您可以通過調用該服務器上的特定網址來控制您的應用程序。

這是一個非常簡單的應用程序。將帶你30分鐘放在一起。

這很容易集成到Xcode或更大的(Apple)腳本中。您可以使用curl等命令打開URL。

+0

有趣。在XCode + PhoneGap方法的概念上類似的方法,但我的印象是你不允許在iOS中打開偵聽套接字?我會做一些試驗並看看。 – 2010-09-07 20:37:48

+0

行動,似乎我的印象確實是非常錯誤的:http://github.com/face/MongooseDaemon – 2010-09-07 20:45:50

+0

該模擬器只是一個OS X應用程序。你想做什麼,就可以做什麼。包括調用OS X特定的東西。或使用OS X服務。 – 2010-09-07 21:04:39

0

帖子稿:最終如何解決它。

過了一會兒,我問到這個問題,在github上用戶加入issue 3評論,你需要iphonesim正常工作是什麼給予​​絕對路徑來啓動應用程序。因此,現在我們有一個預構建的PhoneGap項目,其中腳本修改build/Debug-iphonesimulator/PhoneGap.app中的www目錄的內容。然後將此目錄的絕對路徑發送到iphonesim,啓動現在指向正確服務器的項目。沒有AppleScript和沒有XCode(除了最初的構建)。測試套件現在需要1/7的時間才能運行。

相關問題