亚洲欧美日本韩国_久久久久亚洲AV片无码V_亚洲AV片不卡无码一_H漫全彩纯肉无码网站

 
 
當(dāng)前位置: 首頁 » 新聞資訊 » 最新資訊 » 正文

利用instrument中的Automation實(shí)現(xiàn)ios自動(dòng)化測試

分享到:
放大字體  縮小字體    發(fā)布日期:2019-08-31  來源:儀器信息網(wǎng)  作者:Mr liao  瀏覽次數(shù):349
核心提示:iOS工具Instrument的使用如何用Instruments 檢驗(yàn)app Xcode的instruments中的Automation是為了實(shí)現(xiàn)自動(dòng)化測試的一個(gè)工具。1.實(shí)現(xiàn)方式有兩種:它提供了兩種實(shí)現(xiàn)方式,一種是通過JS腳本語言來執(zhí)行自動(dòng)化測試(普通自動(dòng)化測試),另一種是通過錄制(高級自動(dòng)化測試)操作的方式自動(dòng)生成腳本(不過這種方式生成的腳本容易產(chǎn)生bug,需要自己修改一下)。2.需要的知識:最好懂JS語言,了解UIAElement層次結(jié)構(gòu)(好吧,不懂也沒有關(guān)系,可以現(xiàn)看,都是很簡單的操作就夠了)3
iOS工具Instrument的使用如何用Instruments 檢驗(yàn)app

Xcode的instruments中的Automation是為了實(shí)現(xiàn)自動(dòng)化測試的一個(gè)工具。

1.實(shí)現(xiàn)方式有兩種:

 它提供了兩種實(shí)現(xiàn)方式,一種是通過JS腳本語言來執(zhí)行自動(dòng)化測試(普通自動(dòng)化測試),另一種是通過錄制(高級自動(dòng)化測試)操作的方式自動(dòng)生成腳本(不過這種方式生成的腳本容易產(chǎn)生bug,需要自己修改一下)。

2.需要的知識:

 最好懂JS語言,了解UIAElement層次結(jié)構(gòu)(好吧,不懂也沒有關(guān)系,可以現(xiàn)看,都是很簡單的操作就夠了)

3.需要的設(shè)備:

 有一臺安裝好Xcode的Mac就OK了

4.運(yùn)行方式有兩種:

 1 打開要測試的程序,選擇Product -- Profile(這個(gè)時(shí)候就打開了instrument) / com + i -- 選擇Automation

   

 2 右鍵Xcode選擇Open Developer Tool -- Instruments -- Automation -- 不過這種方式,需要在左上角選擇你要測試的工程(如果你要真機(jī)測試,只能測試你的測試項(xiàng)目,原因你應(yīng)該清楚)

 

5.現(xiàn)在來簡單的用腳本語言了解一下當(dāng)前頁面的層級結(jié)構(gòu)吧:

 var target = UIATarget.localTarget();

 UIALogger.logStart( Logging element tree ...

 UIATarget.localTarget().logElementTree();

 UIALogger.logPass();

 你會得到如下圖所展示的

 

上方有五欄,就是你看到的字面意思(這種東西原諒我的懶惰)。其中要注意的是Log Messages(詳情) 和 Log Type(運(yùn)行結(jié)果) 以及Screenshot(截圖)。

 1 你可以根據(jù)Log Messages 或者使用模擬器上的Accessibility檢測器,開啟方法Settings -- General -- Accessibility -- Accessibility Inspector更改它的狀態(tài)為“打開”就可以了,它的運(yùn)行效果如下

 

獲得詳細(xì)信息(PS:不用的時(shí)候點(diǎn)X),通過這兩種方式獲取坐標(biāo),你可以根據(jù)這個(gè)坐標(biāo)來寫腳本指定點(diǎn)擊位置或者控件。

 2 Log Type 就是一個(gè)結(jié)果

 3 Screenshot 截圖還是有用的,可以讓你清晰的查看,查看方式如下圖

 

點(diǎn)擊小眼睛之后就OK了。

    官方給的樹形結(jié)構(gòu)如下(掌握它,你的自動(dòng)化實(shí)現(xiàn)起來就會很簡單了)

 

6.先來介紹一下幾個(gè)基本的功能(其它的看文檔吧):

 1

 

 右側(cè)的就是選擇模擬器,以及模擬器上的項(xiàng)目,紅色的原點(diǎn)就是運(yùn)行該項(xiàng)目并執(zhí)行腳本,暫停按鈕不用說了。

    2

 

 這個(gè)是一個(gè)狀態(tài)圖,具體的我的理解并不是很深,也就不誤導(dǎo)了,可以看文檔

 3

  

 Trace Log就是查看運(yùn)行結(jié)果的界面

 Editor Log就是執(zhí)行腳本的時(shí)候操作的每一步,已經(jīng)運(yùn)行狀態(tài)和錯(cuò)誤反饋

 script是用來寫腳本,或者錄制時(shí)自動(dòng)生成腳本的地方

    4

 

 這是在script界面下方的按鈕,三角鍵是執(zhí)行腳本,紅色的是開始錄制,方塊是停止

    5

 

 在設(shè)置頁面,你可以導(dǎo)入腳本,增加新腳本,有很多的內(nèi)容,深究的話可以看一下官方文檔

7.基本功夠了,可以開始簡單的使用了,先來一個(gè)錄制:

 上面介紹過了,點(diǎn)擊script界面的紅色按鈕開始錄制,然后在模擬器中執(zhí)行動(dòng)作就行了,這里注意一下,如果是從網(wǎng)絡(luò)獲取狀態(tài)信息執(zhí)行下一步,一定要注意網(wǎng)絡(luò)狀態(tài),還有就是在生成的腳本中加一句代碼

UIATarget.localTarget().delay(2); // 延時(shí)操作2s

這個(gè)是因?yàn)橄到y(tǒng)在執(zhí)行腳本的時(shí)候速度很快,當(dāng)push或者pop的時(shí)候如果有延時(shí)會崩潰。

錄制好之后,生成的代碼如下:

 

根據(jù)層級圖一樣,規(guī)則還是很明確的

 

是不是在猶豫箭頭,他就是一個(gè)控件的不同形容,但是指的還是同一個(gè)(PS:如果你進(jìn)行的是手勢或者控件過多的情況下,這里是最容易出錯(cuò)的)。

 好了,如果沒有問題,一個(gè)簡單的錄制腳本就出現(xiàn)了,點(diǎn)擊三角按鈕或者上方的紅色播放按鈕就可以重現(xiàn)腳本了,用來做壓力測試還是比較方便的。

8.通過寫腳本的方式自動(dòng)化測試:

 腳本寫在哪里前面介紹過了,要自己寫腳本,要熟悉層級結(jié)構(gòu)和JS語言,會是很輕松的,并且他還有一個(gè)第三方tuneupjs是一個(gè)用以優(yōu)化uiautomation的第三方j(luò)s庫,網(wǎng)站地址: http://www.tuneupjs.org/。

 我的JS不怎么樣,所以我一般是在錄制的腳本上面進(jìn)行修改,下面這個(gè)是我寫的一個(gè)簡單的tableView測試腳本,比較垃圾的代碼,可以看一下

 var target = UIATarget.localTarget(); // 這個(gè)能看懂的應(yīng)該,下面可以直接替換,為了明確,下面就沒有替換 -- 可以多寫幾層

 target.logElementTree(); // 也是便利當(dāng)前界面的空間樹結(jié)構(gòu)的命令

     // 簡單的遍歷tableView點(diǎn)擊事件

 for (var i = 0;i UIATarget.localTarget().frontMostApp().windows()[0].tableViews()[0].cells().length;i++)

{

 var addButton = UIATarget.localTarget().frontMostApp().windows()[0].tableViews()[0].cells()[i];

 addButton.tap();

 

 target.delay(1);

 

 var backButton = target.frontMostApp().windows()[0].navigationBars()[0].buttons()[0];

 backButton.tap();

}

 tap -- 是單擊操作

 UIAELement -- 所有UI控件的積累

 


2017-07-10 10:04:35 511次 http://www.yiqi.com/retiao/detail_35.html 熱門標(biāo)簽:

看過《如何利用Xcode的instrument中的Automation實(shí)現(xiàn)自動(dòng)化測試》的人還看了以下文章

 
關(guān)鍵詞: 腳本 測試 的是 方式 錄制
 
打賞
[ 新聞資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報(bào) ]  [ 關(guān)閉窗口 ]
免責(zé)聲明:
本網(wǎng)站部分內(nèi)容來源于合作媒體、企業(yè)機(jī)構(gòu)、網(wǎng)友提供和互聯(lián)網(wǎng)的公開資料等,僅供參考。本網(wǎng)站對站內(nèi)所有資訊的內(nèi)容、觀點(diǎn)保持中立,不對內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。如果有侵權(quán)等問題,請及時(shí)聯(lián)系我們,我們將在收到通知后第一時(shí)間妥善處理該部分內(nèi)容。
 

利用instrument中的Automation實(shí)現(xiàn)ios自動(dòng)化測試二維碼

掃掃二維碼用手機(jī)關(guān)注本條新聞報(bào)道也可關(guān)注本站官方微信賬號:"xxxxx",每日獲得互聯(lián)網(wǎng)最前沿資訊,熱點(diǎn)產(chǎn)品深度分析!
 

 
0相關(guān)評論

 
韩国无码av片在线观看网站 | 国内精品视频一区二区三区| 亚洲国产精品一区二区第四页| 粉色午夜视频| 88国产精品欧美一区二区三区| 精品无码国产一区二区三区麻豆| 久久综合伊人77777麻豆| 日本a片大尺度高潮无码 | 豆国产96在线 | 亚洲| 日本真人做爰免费视频120秒| 日本乱偷人妻中文字幕| 伊人激情av一区二区三区| 蜜桃视频一区二区三区在线观看| 精品国产av 无码一区二区三区| 双腿张开被9个黑人调教影片| 国产精品v欧美精品∨日韩| 精品久久久久久亚洲综合网| 人妻少妇精品视频三区二区一区| 337p西西人体大胆瓣开下部 | 国内揄拍国内精品人妻浪潮av| 亚洲不卡中文字幕无码| 欧美xxxx做受性欧美88| 久久无码高潮喷水抽搐| 中国人妻与老外黑人| 成片免费观看视频大全| 黄色成人网站免费无码av| 性xxxxx欧美极品少妇| 国产精品无码无卡无需播放器| 国产精品网站在线观看免费传媒| 越南女子杂交内射bbwxz| 一出一进一爽一粗一大视频| 日韩av无码一区二区三区| 久久久久亚洲av成人无码| 欧美尺寸又黑又粗又长| 久久婷婷激情综合色综合俺也去| 丰满少妇高潮惨叫久久久| 私人毛片免费高清影视院| 成年女人毛片免费观看97| 永久黄网站色视频免费观看| 国产69精品久久久久777| 天天看片视频免费观看|