精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

復雜業務場景下如何進行iOS端自動化測試

開發 開發工具 自動化
目前來說,分布式運行并不是難點,亟需解決的問題是針對特殊平臺和復雜場景下的測試,例如復雜業務場景下iOS平臺的自動化測試。

之前寫過一篇文章,提到了一些分布式自動化測試和容器化技術結合的架構設想。但是目前來說,分布式運行并不是難點,亟需解決的問題是針對特殊平臺和復雜場景下的測試,例如復雜業務場景下iOS平臺的自動化測試。

[[189159]]

移動應用特點是簡單易用和UI簡潔,以便用戶在移動端完成一件事的路徑盡可能短。所以一般情況下,我們遇到的iOS APP場景相對于Web應用要簡單一些。所以一般情況下iOS自動化測試并不會遇見復雜場景,測試反饋時間短,效率相對較高。對運行環境來說,只需要相應版本macOS系統以及Xcode環境即可。

但是,對于大型企業的移動應用,例如電商平臺、共享出行平臺等,牽扯到的主要幾個問題:

1. 大規模的測試用例導致測試反饋時間太長

說到這個問題,就要說到現在主流的移動端自動化測試框架Appium和Calabash。我所經歷過的大部分項目,無外乎使用其一。

但在Xcode 7之后,iOS Simulator變得越來越慢(做iOS的同學們應該都有體會),更不幸的是,在iOS 10、Xcode 8之后,Apple棄用了UIAutomation,導致大量高效、常用的API無法使用。

并且迄今為止,Appium沒有針對iOS 10平臺發布一個正式版本的lib和APP,這就導致一些用戶無法使用inspector定位元素(使用ARC的用戶除外),雖然官方建議不要使XPath進行元素定位,但有的時候我們不得不這么做。***殺器是iOS自動化受到Apple的單例限制(一臺物理主機同一時間有且僅有一個Instrument)。

這些種種最終導致了iOS自動化測試時間太長,更不用談及多種iOS設備的兼容性問題了,自動化實現過程成本過高,令大部分組織和團隊食之無味、棄之可惜。

iOS自動化測試時間太長

2. 復雜場景無法在一臺機器上進行測試

對于復雜場景的應用來說,我們很難通過現有框架同時在一臺物理機上控制多個不同的模擬器,也無法隨意的切換到系統級控件去查看APP觸發的通知等等。你可以通過一些合法途徑使用虛擬化做iOS端的并發測試(切記合法途徑)。

但這樣還是逃不掉物理機龐大的開銷以及虛擬機的性能損耗問題,拋開這個問題不講,單從復雜場景來說,例如出行平臺,你需要一臺機器作為乘客發布訂單,還需要多個擁有不同地址定位的車主來測試訂單推送優先級等。對于這種復雜場景來說Appium控制起來就很難了。

使用虛擬化做iOS端的并發測試

3. 測試場景需要切換不同APP

如今很多的APP功能不單單是在應用本身,可能還需要跟系統應用以及其他應用進行交互,例如用戶在被測APP中執行某個操作之后,需要檢查notification,或者在測試的過程中需要切換無網絡環境,從而測試APP的不同行為。

想到這些復雜場景和各種坑之后,估計打算做iOS測試的同學心里開始打退堂鼓了。下面我們來一步步逐一解決這些問題:

問題一:解決Instrument單例的限制

對于這個問題困擾了很久,那業界領先的互聯網公司又是怎么做的呢?有一次看到Uber的Showcase,在一臺機器上啟動了5、6臺模擬器,用不同類型的賬號登錄(乘客、車主)每個模擬器做不同的行為。由于是在物理機上的對iOS模擬器的操作,速度和性能都得到了很好的保證。他們是怎么解決Instrument的限制呢?

我們可以通過使用Apple私有API,同時操作不同型號的模擬器,對多個不同的Simulator進行批量化操作,例如啟動、重置、安裝、運行等操作:

使用Apple私有API

問題二:解決復雜場景下控制不同iOS模擬器的不同行為

xcodebuild命令使我們可以把WebDriverAgent運行在我們想要的設備上,但如果使用Apple的命令,還是只能在單個設備上安裝運行,之前運行的多臺設備都會自動關掉,而只會保留命令中的destination,默認啟動8100端口去檢測這臺設備:

如果這樣的話,那我們之前做的所有工作不就沒有任何意義了嗎?別急,我們已然可以通過Apple提供的資源,對不同的設備啟動不同的進程端口進行監聽。

這時我們可以通過curl命令launch我們需要的進行測試的APP,可以輕而易舉的拿到當前運行APP的session:

  1. curl -X POST '-H "Content-Type: application/json"' -d "{\"desiredCapabilities\":{\"bundleId\":\"com.apple.Preferences\"}}" http://localhost:8101/session 
  2.  
  3. response:{ 
  4.   "value" : { 
  5.     "sessionId" : "94A6580F-1F0F-4411-AC64-3E2525BBA5E1", 
  6.     "capabilities" : { 
  7.       "device" : "iphone", 
  8.       "browserName" : "Settings", 
  9.       "sdkVersion" : "10.1", 
  10.       "CFBundleIdentifier" : "com.apple.Preferences" 
  11.     } 
  12.   }, 
  13.   "sessionId" : "94A6580F-1F0F-4411-AC64-3E2525BBA5E1", 
  14.   "status" : 0} 

同時,對于不同的設備,我們可以通過HTTP server啟動inspector來幫助我們進行APP中的元素定位,即使是系統應用:

通過HTTP server啟動inspector

問題三:解決不同測試場景需要APP的切換

有了第二個問題的解決方案,只要執行相似的curl命令,就可以拿到不同的APP以及不同的sessionId。

執行相似的curl命令

是時候放棄Appium了?

通過Uber的Octopus框架以及Appium正在使用的WebDriverAgent, 不難發現此方案的推廣速度以及樂觀的前景。我們可以使用不同curl命令對不同的Simulator以及APP進行query、tap、typing以及touch id等操作,這與Appium提供的那些我們最常使用的API的等價的,并且由于不需要先去調Appium API 而直接去通過WebDriverAgent與元素進行交互,使得測試執行速度上有不同程度的提高,又由于自身強大的控制力以及靈活性,使其可以輕松進行并發操作和復雜業務場景支持,我們只需要把不同的curl命令進行封裝,結合各自APP的業務場景便可以輕松完成。

帶來的成本?

可以說大部分團隊沒有引入移動端自動化的原因,最主要的無外乎編寫成本高,UI變化快。個人認為這個方案帶來的成本比其帶來的價值要大得多。不再需要QA再去學習新的語言來編寫腳本,所有與APP元素的交互都可通過HTTP請求來完成,元素信息通過易讀的JSON來呈現。我們可以通過任何語言和框架用編寫后端自動化測試的方式完成iOS的自動化測試。

下面通過測試ThoughtWorks的StartKit做一個簡單的登錄頁面的測試Demo(請在原文里點擊鏈接),并且我們已經在超過三個項目中使用過該測試方案。

總結

由于項目因素,我們實踐的場景會相對受限,長時間如此可能會影響我們解決問題的思路,我們應該不時的跳出自己工作之外去思考,把簡單的事情做的復雜,這樣才可以在碰到復雜問題的時候,做的簡單。

【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2024-11-21 15:24:49

2021-04-28 16:49:27

自動化設備制藥

2010-03-30 09:38:58

2016-10-26 22:16:48

macaca自動化測試javascript

2016-10-26 22:24:00

macaca自動化測試javascript

2016-10-26 22:07:06

macaca自動化測試javascript

2016-10-26 22:29:13

macaca自動化測試javascript

2020-09-27 14:24:58

if-else cod業務

2024-11-01 15:05:12

2011-05-16 15:36:00

軟件測試

2022-01-14 11:51:00

測試工具自動化

2009-08-19 09:00:48

單元測試框架自動化測試

2022-07-21 08:43:01

功能測試測試

2020-08-03 15:40:57

Web自動化工具測試

2014-04-16 14:15:01

QCon2014

2022-07-04 19:02:06

系統業務思考

2017-04-10 12:25:32

iOS自動化測試

2014-09-11 15:05:40

驅動設計驅動開發

2023-01-04 13:41:23

RPA自動化機器人

2017-06-05 15:08:14

容量全鏈路流量
點贊
收藏

51CTO技術棧公眾號

女人十八岁毛片| 国产吃瓜黑料一区二区| 在线免费观看黄色网址| 精品一区二区三区免费| 韩日欧美一区二区| 久久午夜精品视频| 国产精品一线| 欧美日韩精品福利| 欧美老熟妇喷水| 国产区在线观看| 久久久亚洲综合| 亚洲精品免费网站| 亚洲欧美日韩激情| 欧美国产综合| 上原亚衣av一区二区三区| 农村末发育av片一区二区| 四虎4545www国产精品| 一区二区三区日韩精品视频| 日本在线免费观看一区| 亚洲AV午夜精品| 麻豆极品一区二区三区| 456亚洲影院| 久久久www成人免费毛片| 久久一本综合| 亚洲欧美日韩中文在线| 一级黄色免费视频| www.久久草.com| 在线观看91精品国产入口| 六月婷婷在线视频| 亚洲卡一卡二| 亚洲丝袜美腿综合| 亚洲电影网站| jizz在线观看| 久久久久久久综合狠狠综合| 国内精品久久国产| 亚洲精品综合网| 国产麻豆成人传媒免费观看| 国产精品福利在线| 中文字幕精品视频在线观看| 日韩一级网站| 18性欧美xxxⅹ性满足| 久久久久久久久艹| 国内一区二区三区| 欧美人在线观看| 超碰在线国产97| 中出一区二区| 久久综合久久八八| 国产日产精品一区二区三区的介绍| 欧美三级情趣内衣| 国产午夜精品全部视频播放| 国精产品一区一区三区免费视频| 国内毛片久久| 国产婷婷97碰碰久久人人蜜臀| 亚洲图片综合网| 欧美综合精品| 亚洲精品视频免费在线观看| 国产美女视频免费观看下载软件| 风间由美一区二区av101| 欧美videos中文字幕| 无码人妻一区二区三区在线| 精品国产一区二区三区成人影院| 精品国产成人系列| 亚洲一区二区三区四区五区六区| 鲁大师精品99久久久| 日韩成人av一区| 日韩精品电影一区二区| 成人3d动漫在线观看| 最近中文字幕2019免费| 国产在线一卡二卡| 亚洲午夜激情在线| 91成品人片a无限观看| 无码一区二区三区在线观看| 日本大胆欧美人术艺术动态| 国产日本欧美一区二区三区| av免费观看网址| youjizz久久| 日韩精品欧美在线| 欧美天天影院| 亚洲成av人片一区二区梦乃| av视屏在线播放| 蜜桃精品视频| 日韩精品中文字幕在线观看| 日本成人免费在线观看 | 日韩毛片在线| 7777精品伊人久久久大香线蕉的| 亚洲三级在线视频| 亚洲瘦老头同性70tv| 色噜噜狠狠狠综合曰曰曰| 麻豆chinese极品少妇| 欧美一级网站| 99r国产精品视频| 你懂的好爽在线观看| 亚洲欧美日韩中文播放 | caoporn91| 性久久久久久| 北条麻妃高清一区| 北条麻妃在线| 午夜在线电影亚洲一区| mm131国产精品| 伦理一区二区| 久久久久北条麻妃免费看| 在线观看 中文字幕| 久久精品国产免费看久久精品| 国产精品久久波多野结衣| 国产精品秘入口| 亚洲国产色一区| 香港日本韩国三级网站| 好吊妞国产欧美日韩免费观看网站| 中文字幕欧美精品日韩中文字幕| 国产污视频在线看| 精品一区二区免费看| 久久精品午夜一区二区福利| av电影高清在线观看| 日本丰满少妇一区二区三区| 国产视频精品视频| 综合国产精品| 国产日韩欧美中文| 国产精品一级伦理| 欧美午夜精品久久久久久浪潮 | 欧美人成在线视频| 在线免费观看日韩视频| 91麻豆成人久久精品二区三区| 黄色网zhan| a一区二区三区亚洲| 伊人久久免费视频| 狠狠人妻久久久久久综合| 成人污污视频在线观看| av电影一区二区三区| 开心久久婷婷综合中文字幕| 亚洲欧美日韩直播| 免费看日批视频| 91麻豆国产福利在线观看| 国产曰肥老太婆无遮挡| 7777精品| 欧美黑人性生活视频| 精品乱子伦一区二区| 日韩一区在线免费观看| www.com黄色片| 日韩a一区二区| 国产精品欧美日韩久久| 99re热久久这里只有精品34| 91久久精品日日躁夜夜躁欧美| 午夜理伦三级做爰电影| 亚洲深爱激情| 欧美精品一区在线| 欧美xnxx| 日韩在线观看免费高清| 一区二区精品视频在线观看| 国产精品国产三级国产aⅴ入口| 午夜免费看视频| 999国产精品| 91视频免费在线| 怡红院在线播放| 精品国偷自产国产一区| 日本三级中文字幕| 91年精品国产| 丁香婷婷激情网| 四虎8848精品成人免费网站| 91精品久久久久久久久久久| 黄网站免费在线观看| 777午夜精品免费视频| 久久久久97国产| 91丨porny丨国产入口| 亚洲爆乳无码专区| 色97色成人| 高清国产在线一区| 欧美少妇网站| 在线免费看av不卡| 国产乱人乱偷精品视频| 亚洲一区二区影院| 亚洲天堂久久新| 精品中文字幕一区二区小辣椒| 特级西西人体www高清大胆| 狠狠久久伊人| 国产成人自拍视频在线观看| 免费在线你懂的| 精品成人在线观看| 老熟妇一区二区三区| 中文字幕成人网| 久久av一区二区三| 视频在线观看一区二区三区| av磁力番号网| 亚洲婷婷影院| 91久久精品国产91性色| 国产夫妻在线播放| 成人毛片在线免费观看| 国产欧美日韩精品a在线观看| 激情黄色小视频| 亚洲三级免费| 中文字幕日韩一区二区三区| 一区二区三区国产好| 国产精品aaa| 女同视频在线观看| 中文字幕视频一区二区在线有码| 亚洲精品久久久久avwww潮水| 精品露脸国产偷人在视频| 国产精品suv一区二区88| 成人激情小说网站| 在线观看免费不卡av| 国产精品美女久久久| 最近免费观看高清韩国日本大全| 日韩欧美影院| 国产精品国产精品| 国产情侣一区在线| 国产精品99免视看9| 波多野结依一区| 日韩在线播放视频| 日韩在线无毛| 精品福利一区二区三区 | 天堂va在线| 神马国产精品影院av| 日本国产在线| 亚洲精品在线观看视频| 91丨porny丨在线中文 | 欧美精品免费观看二区| 精品国产亚洲一区二区在线观看 | 日本中文字幕在线观看视频| 一二三区精品视频| 国产精品嫩草影院俄罗斯| 久久精品一二三| 精品无码在线视频| 成人福利在线看| 超碰在线免费av| 免费黄网站欧美| 久章草在线视频| 亚洲制服av| 免费无遮挡无码永久视频| 午夜久久影院| 成人国产一区二区三区| 性欧美69xoxoxoxo| 一本久久a久久精品vr综合| 亚洲精品无吗| 久久99精品久久久久久久青青日本| 久久国际精品| 亚洲自拍偷拍色图| 国产精品白丝久久av网站| 国产精品一区二区三| 成人午夜sm精品久久久久久久| 日本91av在线播放| 日韩毛片免费观看| 国产97免费视| 成人国产一区| 国产欧美在线看| 国产黄色一区| 国产一区二区视频在线观看| 日本成人福利| 国产日韩在线视频| 国产美女精品视频免费播放软件 | 国产精品高潮呻吟久久久久| 国产精品三区四区| 午夜欧洲一区| 欧美综合激情| 久久福利影院| 久久福利一区二区| 亚洲国产裸拍裸体视频在线观看乱了中文| 丁香六月激情网| 亚洲影院一区| 欧美一级特黄a| 紧缚捆绑精品一区二区| 九九九久久久久久久| 成人性视频免费网站| 亚洲av成人片色在线观看高潮| 26uuu精品一区二区| 国产黄色大片免费看| 综合av第一页| 日本一级片免费看| 在线观看成人小视频| 国产永久免费视频| 精品国产人成亚洲区| 男男电影完整版在线观看| 在线观看日韩视频| 污污的网站在线看| 欧美亚洲成人精品| 国产成+人+综合+亚洲欧美| 91传媒在线免费观看| 欧美午夜18电影| 亚洲免费视频一区| 国产精品豆花视频| 成人在线观看a| 国产美女在线观看一区| 人人妻人人澡人人爽人人精品| 国产欧美日韩精品a在线观看| 亚洲视频重口味| 亚洲成人免费看| 中文字幕+乱码+中文字幕明步| 日韩欧美一区二区视频| 九色视频在线观看免费播放| 久久好看免费视频| 国产高清视频色在线www| 国产精品免费小视频| 第四色中文综合网| 亚洲最大免费| 亚洲激情欧美| 天天综合天天添夜夜添狠狠添| 成人sese在线| 天天色影综合网| 欧美视频中文字幕在线| www香蕉视频| 中文字幕九色91在线| 精品丝袜在线| 147欧美人体大胆444| 成人系列视频| 欧美黄色免费影院| 国产成人精品免费在线| 国产激情av在线| 日韩欧美亚洲综合| www.黄色片| 久久色免费在线视频| 午夜精品成人av| 国严精品久久久久久亚洲影视 | 亚洲欧美综合视频| 国产欧美日韩在线观看| 国产精品23p| 日韩一卡二卡三卡| 日韩免费网站| 国产精品91久久久久久| 日韩av系列| 国产综合中文字幕| 国产麻豆成人精品| 免费精品在线视频| 在线中文字幕一区| 四虎在线免费看| 性欧美xxxx视频在线观看| 91精品国产自产精品男人的天堂| 伊人av成人| 麻豆国产精品777777在线| 亚洲自拍偷拍图| 色悠久久久久综合欧美99| 特黄aaaaaaaaa真人毛片| 欧美高清电影在线看| 国产一区二区三区黄网站| 在线视频不卡一区二区三区| 日韩avvvv在线播放| 日本爱爱爱视频| 91国偷自产一区二区开放时间| 日本成人一区二区三区| 5566成人精品视频免费| 老牛国内精品亚洲成av人片| 成人黄色大片网站| 成人精品免费看| 国产精品30p| 日韩精品在线私人| 欧美momandson| 亚洲第一在线综合在线| 蜜桃视频一区二区三区| 免费一级suv好看的国产网站| 91极品美女在线| 第三区美女视频在线| 国产精品三级在线| 天天综合国产| 久久久久久国产精品日本| 亚洲美女一区二区三区| 亚洲国产视频一区二区三区| 欧美激情性做爰免费视频| 操欧美女人视频| 国产l精品国产亚洲区久久| 久久精品夜色噜噜亚洲aⅴ| 欧美一级黄视频| 久久精品中文字幕| 超碰成人免费| 欧美视频第三页| 国产精品毛片大码女人| 国产高清精品软件丝瓜软件| 欧美精品久久久久久久久久| 天堂俺去俺来也www久久婷婷| 亚洲乱码国产一区三区| 中文字幕一区二区三区在线观看| av中文字幕第一页| 91爱视频在线| 国产精品久久久久久麻豆一区软件 | 日韩精品电影在线观看| 国产探花在线视频| 亚洲第五色综合网| 成人免费av电影| av磁力番号网| 久久亚洲精华国产精华液| 91肉色超薄丝袜脚交一区二区| 欧美大片第1页| 精品国产一区二区三区久久久蜜臀| av中文字幕网址| 激情久久av一区av二区av三区| www.国产精品.com| 国产精品一级久久久| 丝袜美腿一区二区三区| 动漫性做爰视频| 亚洲欧美激情在线视频| 国产一区二区三区免费观看在线 | yourporn久久国产精品| 中文字幕av资源| 国内揄拍国内精品| 久久看人人摘| 波多野结衣影院| 欧美一区二区三区公司| 性欧美18xxxhd| 成人小视频在线观看免费| 国产欧美精品一区二区色综合| 亚洲大尺度网站| 91精品国产综合久久香蕉| 久久不射网站| 精品少妇theporn|