Skip to main content

與 "Visual Studio" 標籤有關的文章

瀏覽所有標籤

誰說魚與熊掌不可兼得? 讓你的安卓模擬器與 Hyper-V 可以和平共處

· 預估閱讀時間: 6 分鐘
Ouch Liu
不務正業的架構師

前言

有在使用 Visual Studio 2017 和 Xamarin 進行開發的朋友們可能會跟我一樣遇過同樣的問題:如果使用 Visual Studio 2017 裡面內建的安卓模擬器,就得把 Hyper-V 給關掉,不然就無法啟用 Intel® Hardware Accelerated Execution Manager 來替安卓模擬器加速。

畢竟,要支援 Intel® Hardware Accelerated Execution Manager ,才能啟用 Visual Studio 2017 中內建模擬器工具裡的 Atom x86 架構安卓虛擬機,以達到媲美真機的效能(官方說法是效能會差上十倍,不信邪的朋友也可以試著開啟 ARM 架構的模擬器來比較看看,效能真的會讓人很想哭)。

但是身為一個工程師,透過 VM 來架設實驗環境應該是家常便飯的事。從微軟在 Windows 8 內建了 Hyper-V 之後,它就一直是我架設 VM 的首選工具。

所以當看到 Hyper-V 和 Intel® Hardware Accelerated Execution Manager 無法共存的訊息出現,我就一直在想:「到底有什麼其它的方式能讓我不用每次都得要為了開啟安卓模擬器就得先手動關閉 Hypervisor 功能;而在要使用虛擬機器的時候又得先手動開啟 Hypervisor?」。

在網路上爬了一些文章之後,歸納出了下面兩種解法。

解決 Visual Studio 2017 在有手寫筆的裝置上沒有回應及重啟的問題

· 預估閱讀時間: 3 分鐘
Ouch Liu
不務正業的架構師

前言

這次重灌完電腦,並且安裝好了 Visual Studio 2017 之後,一直沒什麼時間把它打開來動手寫程式。

昨天索性打開來更新到最新的版本之後,隨便開了一個之前寫好玩的專案想說來跑看看,結果一開沒多久,Visual Studio 馬上沒有回應,再過沒多久,就直接崩潰重開了。

![image-01] (01-visual-studio-2017-is-restarting.png "Visual Studio 2017 重複自動重啟")

解決 Visual Studio 2017 首次執行時卡在 We are getting things ready 的問題

· 預估閱讀時間: 3 分鐘
Ouch Liu
不務正業的架構師

前言

上星期筆電不知道是什麼原因,突然就沒辦法正常開機了,而且試過使用修復功能也沒救,只好整個重灌了。

就當安裝完 Visual Studio 2017 之後,準備首次啟動的時候,輸入完帳號按下下一步按鈕之後,畫面上就出現了 We are getting things ready 的訊息,不過因為當時已屆下班時間,我就索性放著讓它跑。

image-01

沒想到... 隔天回到公司,一看電腦,它居然還是停留在一樣的畫面!!...

使用 Visual Studio 2017 搭配 Xamarin.UITest 進行安卓應用程式的自動化測試

· 預估閱讀時間: 10 分鐘
Ouch Liu
不務正業的架構師

前言

介紹完了使用 Appium 來針對安卓應用程式進行自動化測試的方式之後。這回要跟大家分享的是更輕鬆愉快的方式--只要透過錄製的方式就能自動產生程式碼的 Xamarin.UITest。

如果要簡單的介紹一下 Xamarin.UITest ,它其實就是一個以 Calabash 為基礎,可以讓我們透過 NUnit 和 C# 來撰寫針對安卓和 iOS 原生 App 自動化測試的一個框架。

雖然它的名字前面掛了個 Xamarin ,但是它可不只能測 Xamarin 開發出來的 App 而已喔!! 原生的安卓和 iOS 應用程式也都是可以透過它來作到自動化測試的喔!!

而 Xamarin.UITest 原生支援 NUnit 2,所以建立出來的專案預設就會加入 NUnit 的參考,整個測試框架也是基於 NUnit 2 所建構的。

需要特別注意的是,目前 UITest 尚未支援 NUnit 3 喔!!

好了,有了簡單的介紹之後,再來我們就直接進入重點啦~

解決透過 Appium 測試安卓裝置上的行動網站發生 ChromeDriver 版本不相容的問題

· 預估閱讀時間: 4 分鐘
Ouch Liu
不務正業的架構師

之前在使用 Appium 測試安卓裝置上的行動網站的時候,一切都很開心愉快。

但是,安卓裝置的版本眾多,總不可能只測單一版本;為了確保網站在不同的裝置上都能正常運作,使用不同版本的安卓作業系統來進行測試也是免不了得要作的。

原本以為,只要把相同的測試放到不同版本的模擬器裡面跑,應該什麼都不用多作,就可以一一通過測試才對。

但是「代誌嘸親像憨人所想的架擬簡單」,我光是把模擬器的作業系統從 4.4.2 換到 6.0 而已,然後他就死掉了...

透過 Gorilla Player 在裝置上即時預覽 Xamarin Forms 介面

· 預估閱讀時間: 10 分鐘
Ouch Liu
不務正業的架構師

前言

在使用 Visual Studio 中的 Xamarin 開發 App 的時候,雖然可以透過 Xamarin.Forms Previewer 來預覽 XAML 刻出來的畫面,不過如果能讓你直接在實機或是模擬器上直接看到畫面,是不是會更有感覺呢?

另外,雖然透過 Xamarin 目前也支援設計時期的範例資料,但是我們還是得要透過 ViewModelLocater 搭配手動刻出的 ViewModel 才能得到我們想要的結果。

最後, Xamarin.Forms Previewer 的穩定性也是很讓人垢病的一大致命傷。

image-01

基於以上幾點(其實最痛的是穩定性啦),讓我不得不尋找一個 Xamarin.Forms Previewer 的替代方案,後來,我找到了 Gorilla 。

它可以讓我上面的三個願望(在虛擬與實機即時預覽/支援設計時期的資料繫結與範例資料/穩定),一次滿足。

透過 Visual Studio 2017 與 Appium 測試安卓手機上的行動版網頁

· 預估閱讀時間: 9 分鐘
Ouch Liu
不務正業的架構師

前言

在開發行動版網站的過程中,測試仍然是很重要的一環,但是基於需要測試的裝置種類繁多,所以往往讓人又愛又怕受傷害。

雖然說,可以透過 Selemium 搭配 Chrome 進行對不同裝置的自動化測試,但是,支援的裝置種類仍然有限,而且直接透過 Chrome 進行模擬,真實度也和真的在手機上進行測試有不小的差距。

另外,以企業的解決方案這個角度來看,如果能透過一個標準化的框架,使用大部份開發者原本就熟悉的工具及程式語言,就可以同時滿足行動裝置網站與原生 App 的測試,那就更有價值了。

透過 Sikuli4Net 對 Flash UI 進行自動化測試

· 預估閱讀時間: 9 分鐘
Ouch Liu
不務正業的架構師

前言

在導入 CI/CD 的時候,能將測試自動化是很重要的一個環節。 然而,除了「工程師生出來就應該要會」的 Unit Test 之外, UI 的自動化測試也很重要。

基於大部份的工具都難以辨識以 Flash / Flex 編寫的 UI 裡面的元件的關係,因此大多數有需要針對 Flash UI 進行測試的需求時,最常使用的方式就是直接錄製滑鼠和鍵盤的動作。 這個方式固然可行,但是一來程式碼相對的複雜(可能得引用到 Windows API)、入門的門檻相對提高;二來,一旦 Flash 或是視窗的位置不小心跑掉,整個測試就會失敗了。

針對上述的兩個問題,讓我好奇是不是還有更好的方式可以讓我們以更簡單、有效率,而且更準確的方式來針對 Flash UI 進行自動化測試,而且最好能和 Selenium 混搭。 最後,總算讓我找到另一條出路啦,也就是今天要介紹的主角 -- Sikuli4Net