Automation tests 3 — installations



當然,先把東西裝一裝吧...



首先,安裝 ruby,可以看這個連結:
https://ihower.tw/rails/installation.html
我建議使用 mac,ruby 對 windows 的支援不是很好。
然後就可以使用 gem 來安裝所需要的 framework 了:
  • calabash-android
  • calabash-cucmber
  • selenium-cucumber
  • selenium-webdriver
  • selenium
  • selenium-client

安裝後的注意事項:(這裡坑很多)

Android


你需要裝好 Android sdk,這部分就請參考 Android 自己的網站了。基本上照著做就可以了,你可能還會需要灌 java 的 sdk,也是照著做就可以了。

mWeb


如果你需要在手機上跑 mobile web 的測試,你有兩個選擇:

一是,直接在桌機上跑,用桌機的瀏覽器來開行動版的網頁,我推薦這條路。
二是,使用 appium。假如你選擇了這條路,請去安裝 appium
如果你選了第二條路,然後某一天,你需要用新版的 Android 來跑你的測試,或許那天你會需要換掉電腦端的 chromedriver,是這樣做的:
請先去下載 chromedriver
然後我們要把 Appium 裡面的 chromedriver 換成最新版的,打開 appium 後,會長這樣:


點開右上角的 Android,然後點 Advanced


你就可以把你剛剛下載的最新版的 chromedriver 的路徑填進去了。


iOS


iOS 是很雞巴的平台,calabash-ios 因為某些原因,會跟 json 的 gem 相沖,必須把 json 降版,由 json-2.0.2 降版到 json-1.8.6。
(或許你看到這一篇的時候,jmoody 哥已經把這相容性問題解決了,你就可以不用理我了。)
以 mac 為例,是這樣做的:
Users/administrator/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/specifications/default
裡面有個 json-2.0.2.gemspec,把它移出去到上一層的 specifications 裡面,然後就可以把 2.0.2 移除,並安裝 1.8.6 版本,你可以參考這個連結

另外,你會需要請 iOS 的工程師幫忙把 calabash-ios framework 擺進 xcode 做,這樣編譯出來的 iOS App 才可以使用 calabash-ios 做自動化測試。
首先你要先在 console 內打入:
calabash-ios download

你就可以拿到 calabash.framework
再把這個檔案拿去給 iOS 工程師,請他們匯入,就可以了。

Jenkins


要把自動測試安裝在 Jenkins 上,在iOS 會遇到問題,Tony 這篇文章寫得很棒:
https://tonyspostitnote.wordpress.com/2017/05/26/1344/#more-496

留言