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

使用macaca進(jìn)行移動(dòng)端hybird自動(dòng)化測試(一)

移動(dòng)開發(fā) 自動(dòng)化
以模塊為單元,測試你代碼的本身,確保你編寫的模塊還有邏輯正確。只要輸入的值不變,輸出的值也應(yīng)該不發(fā)生改變。

[[174581]]

部分基本概念及內(nèi)容:

單元測試:

以模塊為單元,測試你代碼的本身,確保你編寫的模塊還有邏輯正確。只要輸入的值不變,輸出的值也應(yīng)該不發(fā)生改變

前端自動(dòng)化測試:

  • 界面回歸測試 測試界面是否正常,包括文案,圖片等。
  • 功能測試 包括交互邏輯和功能模塊是否符合預(yù)期。
  • 性能測試 頁面性能越來越受到關(guān)注,并且性能需要在開發(fā)過程中持續(xù)關(guān)注,否則很容易隨著業(yè)務(wù)迭代而下降。

本文主要的內(nèi)容集中在界面回歸測試和功能測試。這2部分的測試工作是通過模擬用戶進(jìn)行頁面操作,通過查看頁面狀態(tài)的變化,從而檢測功能是否運(yùn)行正常:它的測試流程是:

  1. DOM元素選取
  2. 觸發(fā)DOM元素綁定事件
  3. 查看綁定事件結(jié)果是否符號預(yù)期

如何去做前端UI自動(dòng)化測試

要完成前端UI自動(dòng)化測試至少需要測試框架,斷言庫。

工具的選擇

Headless無界面:

  1. PhantomJS.包含了WebKit瀏覽器引擎和JavaScript API的腳本解釋器,因此可以去運(yùn)行js代碼。只不過不提供圖形界面,其他的功能都和瀏覽器一樣。比如一些爬蟲爬了網(wǎng)站,這個(gè)網(wǎng)站并不是靜態(tài)的,那么需要執(zhí)行Js才行。因此PhantomJS提供了執(zhí)行頁面中的代碼功能。
  2. casperjs.基于PhantomJS進(jìn)行開發(fā),提供的功能也和PhantomJS,不過語法更加簡練。不像PhantomJS callback hell那樣惡心。同時(shí)和PhantomJS不同的地方還在于它直接提供了測試的功能,比如對遠(yuǎn)程DOM的斷言測試,還能編寫功能測試套件。具體的API文檔參見casperjs的官網(wǎng)。
  1. casper.start('http://www.google.fr/'function() {                                          //打開谷歌主頁,添加頁面加載完成時(shí)的回調(diào)函數(shù) 
  2.     this.test.assertTitle('Google''google homepage title is the one expected');           //檢測頁面標(biāo)題是否是'Google',如果是,輸出第二個(gè)參數(shù)指定的字符串 
  3.     this.test.assertExists('form[action="/search"]''main form is found');                 //檢測頁面中是否存在選擇器指定的元素,如果存在輸出第二個(gè)參數(shù)指定的字符串 
  4.     this.fill('form[action="/search"]', {                                                   //填充表單并提交,執(zhí)行搜索操作 
  5.         q: 'foo' 
  6.     }, true); 
  7. }); 
  8.  
  9. casper.then(function() { 
  10.     this.test.assertTitle('foo - Recherche Google''google title is ok');                  //檢測搜索結(jié)果頁的頁面標(biāo)題是否正確     
  11.     this.test.assertUrlMatch(/q=foo/, 'search term has been submitted');                    //檢測搜索結(jié)果頁的網(wǎng)址是否匹配指定的正則表達(dá)式 
  12.     this.test.assertEval(function() { 
  13.         return __utils__.findAll('h3.r').length >= 10;                                      //自定義一個(gè)檢測函數(shù) 
  14.     }, 'google search for "foo" retrieves 10 or more results'); 
  15. }); 
  16.  
  17. casper.run(function() { 
  18.     this.test.renderResults(true);                                                          //輸出檢測結(jié)果 
  19. });  

UI測試

nightwatch (簡單的語法,可以快速上手使用強(qiáng)大的 Selenium WebDriver API 來在 DOM 元素上執(zhí)行命令和斷言) 

  1. module.exports = { 
  2.   'Demo test Google' : function (client) { 
  3.     client 
  4.       .url('http://www.google.com'
  5.       .waitForElementVisible('body', 1000) 
  6.       .assert.title('Google'
  7.       .assert.visible('input[type=text]'
  8.       .setValue('input[type=text]''rembrandt van rijn'
  9.       .waitForElementVisible('button[name=btnG]', 1000) 
  10.       .click('button[name=btnG]'
  11.       .pause(1000) 
  12.       .assert.containsText('ol#rso li:first-child'
  13.         'Rembrandt - Wikipedia'
  14.       .end(); 
  15.   } 
  16. };  

nightmare.js 基于phatomJS為測試封裝的的一套High level Api(非常的語義化:click, refresh, goto...).同時(shí)nightmare還基于electron,那么它也提供了GUI的界面工具,當(dāng)你使用nightmare.js進(jìn)行自動(dòng)化測試的時(shí)候就可以看到所有的模擬用戶動(dòng)作了。

  1. yield Nightmare() 
  2.   .goto('http://yahoo.com'
  3.   .type('input[title="Search"]''github nightmare'
  4.   .click('.searchsubmit');  
  1. protractor angular的親兒子,angular團(tuán)隊(duì)自己開發(fā)的e2e測試工具。同樣提供模擬用戶的操作的API,來驗(yàn)證Angular運(yùn)行狀況。
  2. selenium 暫時(shí)還沒用過,網(wǎng)上有大量的關(guān)于它的資料
  3. macaca 本系列要講的重點(diǎn)
  4. Appium 支持ios/android/firefoxos多種平臺的測試,native、h5、hybrid都支持,以及所有支持jsonWireProtocal協(xié)議的腳本語言:python,java,nodejs ruby都可以用來書寫用例.它實(shí)際上包含了: a. 基于express的server用于發(fā)送/接收client端的協(xié)議命令;
  5. 作為bootstrap客戶端用于將命令傳遞給對應(yīng)的UIAutomator/UIAutomation/Google’s Instrumentation

測試框架

測試框架的作用就是運(yùn)行測試開發(fā)人員編寫的腳本工具,測試框架會抓取到代碼拋出的AssertionError,并在控制臺或者網(wǎng)頁中輸出。測試框架提供了特定的測試語法,一般分為兩類TDD(測試驅(qū)動(dòng)開發(fā))和BDD(行為驅(qū)動(dòng)開發(fā))。測試框架通常提供TDD(測試驅(qū)動(dòng)開發(fā))或BDD(行為驅(qū)動(dòng)開發(fā))的測試語法來編寫測試用例。

TDD:是指先寫好測試代碼,然后再根據(jù)測試來寫代碼。它的步驟一般是:

  1. 寫個(gè)測試
  2. 寫出最少數(shù)量的代碼,使其保持測試通過
  3. 優(yōu)化代碼
  4. 重復(fù)前面的工作

BDD:不去針對代碼細(xì)節(jié),而是針對行為進(jìn)行測試

現(xiàn)在用的比較多的測試框架是:

  1. mocha
  2. jasmine

斷言庫

斷言的作用就是判斷源碼的實(shí)際執(zhí)行結(jié)果與預(yù)期結(jié)果是否相同,如果不一致就拋出一個(gè)錯(cuò)誤。

  • chai

chai.js提供了assert, expect, should三種風(fēng)格的斷言。可根據(jù)自己的喜好去選擇斷言風(fēng)格。具體API請查閱相關(guān)的文檔。

利用上面的工具基本上就可以開始進(jìn)行測試腳本的測試工作了。

下面一篇文章就會介紹如何使用macaca來對hybird應(yīng)用進(jìn)行測試。

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2016-10-26 22:16:48

macaca自動(dòng)化測試javascript

2016-10-26 22:24:00

macaca自動(dòng)化測試javascript

2016-10-26 22:29:13

macaca自動(dòng)化測試javascript

2024-11-21 15:24:49

2009-08-19 09:00:48

單元測試框架自動(dòng)化測試

2020-08-03 15:40:57

Web自動(dòng)化工具測試

2017-04-21 07:41:37

iOS自動(dòng)化測試容器

2011-05-16 15:36:00

軟件測試

2022-01-14 11:51:00

測試工具自動(dòng)化

2022-02-15 08:07:17

測試軟件開發(fā)

2020-10-10 06:30:07

PythonSEO自動(dòng)化測試

2023-01-09 15:20:16

2022-02-17 10:37:16

自動(dòng)化開發(fā)團(tuán)隊(duì)預(yù)測

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2012-02-27 17:34:12

Facebook自動(dòng)化

2013-05-16 10:58:44

Android開發(fā)自動(dòng)化測試

2014-04-16 14:15:01

QCon2014

2023-11-21 22:48:50

2011-12-23 17:09:57

自動(dòng)化測試

2012-12-24 22:54:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲国产精品va在线看黑人| 综合久久一区二区三区| 欧美专区在线播放| 久久久精品成人| 欧美专区视频| 色婷婷精品久久二区二区蜜臂av| 在线电影看在线一区二区三区| 99在线精品视频免费观看软件| 日韩一级精品| 少妇高潮久久77777| 精品人妻无码中文字幕18禁| 亚洲插插视频| 伊人色综合久久天天人手人婷| 久久久久se| 国产精品女人久久久| 亚洲精品黄色| 久久久国产精彩视频美女艺术照福利| 北京富婆泄欲对白| 日本久久二区| 91激情在线视频| 日本免费a视频| 麻豆传媒在线观看| 久久综合九色综合97婷婷| 91免费精品国偷自产在线| 国产午夜免费福利| 欧美日韩国产一区精品一区| 亚洲午夜未满十八勿入免费观看全集| 免费不卡av网站| 97人人做人人爽香蕉精品| 亚洲丝袜制服诱惑| 日韩国产欧美精品| 无码h黄肉3d动漫在线观看| 国内精品视频一区二区三区八戒| 欧美一级成年大片在线观看| 欧洲第一无人区观看| 欧美中文一区二区| 亚洲成人aaa| 人妻体体内射精一区二区| 日韩一区精品| 欧美日韩亚洲国产一区| 天堂8在线天堂资源bt| 理论片午午伦夜理片在线播放| 久久嫩草精品久久久精品| 国产精品日韩一区二区| 99久久精品无免国产免费| 蓝色福利精品导航| 国产精品国产亚洲伊人久久| 91video| av不卡在线看| 97视频网站入口| 日本三级网站在线观看| 欧美精品一级| 欧美俄罗斯乱妇| 强乱中文字幕av一区乱码| 91精品久久久久久久久久不卡| 在线性视频日韩欧美| 在线观看免费黄色网址| 久久美女精品| 久久精品国产综合| 国产精品国产三级国产传播| 国产精品国产三级国产在线观看| 日韩一区二区三区xxxx| 国产色无码精品视频国产| 亚洲h色精品| 九九热r在线视频精品| 九九视频在线观看| 亚洲精品资源| 欧美在线亚洲在线| 国产精品传媒在线观看| 久久精品国产精品亚洲精品| 成人网在线观看| www.黄色片| av不卡一区二区三区| 免费久久久一本精品久久区| 337p日本欧洲亚洲大胆鲁鲁| 中文字幕一区二区三区在线播放 | 亚洲午夜一区二区| 国产二级片在线观看| 人成在线免费网站| 日本韩国欧美三级| 国产精品天天av精麻传媒| 偷拍精品精品一区二区三区| 欧美在线|欧美| 99999精品| 99精品国产一区二区三区2021 | 丰满大乳国产精品| 99久久久久久| 欧美第一黄网| 91精品专区| 亚洲少妇30p| 人妻无码一区二区三区四区| 欧美1—12sexvideos| 亚洲动漫第一页| 欧美日韩在线中文| 精品久久毛片| 欧美不卡一二三| 人妻丰满熟妇av无码久久洗澡| 亚洲8888| 色哟哟网站入口亚洲精品| 九九精品视频免费| 激情婷婷亚洲| 国产精品久久久久国产a级| 久久亚洲天堂网| 日韩成人一区二区三区在线观看| 国产日韩欧美视频在线| 亚洲AV午夜精品| 91在线porny国产在线看| 色噜噜狠狠一区二区三区| 美女写真理伦片在线看| 亚洲国产精品自拍| 一区二区三区 日韩| 日韩精品视频中文字幕| 亚洲桃花岛网站| www.av视频| 久久久精品网| 亚洲999一在线观看www| 欧美视频综合| 中文字幕一区视频| 国产女大学生av| 宅男噜噜噜66国产精品免费| 欧美大片在线观看一区| 国产毛片久久久久久久| 国产精品不卡| 国产精品第二页| 精品人妻一区二区三区浪潮在线| 久久久精品免费观看| 一本色道久久88亚洲精品综合 | 亚洲午夜视频在线观看| 久久久久久三级| aaa国产精品视频| 中文字幕精品视频| 日本一级片免费看| 国产一区二区0| 日韩精品第一页| 国产91足控脚交在线观看| 欧美性大战久久久| aaaaaav| 中文在线播放一区二区 | 国产精品男女视频| 成人高清视频在线| 亚洲日本精品| 日本国产一区| 中文字幕9999| 国产99久久久| 99久久综合精品| 69sex久久精品国产麻豆| 久久精品资源| 国产一区二区三区毛片| 亚洲久久在线观看| 国产91精品一区二区麻豆网站| 亚洲精品一区国产精品| 欧美福利在线播放| 亚洲女同精品视频| 日韩 欧美 中文| 成人国产一区二区三区精品| 中文字幕人妻熟女人妻洋洋| 成人在线视频区| 久久精品小视频| 国产伦精品一区二区三区免.费| 国产精品久久久久永久免费观看 | 亚洲欧洲视频| 91精品免费| 国产理论电影在线| 欧美成人bangbros| 日本三级免费看| 不卡欧美aaaaa| 久久精品国产sm调教网站演员| 一区二区三区国产好| 欧美肥臀大乳一区二区免费视频| 国产精品视频在线观看免费| 国产精品国产自产拍在线| 久久久国产欧美| 欧美hentaied在线观看| 国产精品羞羞答答| www视频在线免费观看| 3751色影院一区二区三区| 婷婷激情四射网| 国产成人免费xxxxxxxx| 中文字幕の友人北条麻妃| 亚洲一区二区三区四区电影| 久久久久久成人| 人妻一区二区三区| 福利一区福利二区微拍刺激| 麻豆av免费观看| 久久国产三级精品| 特级黄色录像片| 北条麻妃一区二区三区在线观看| 国外成人免费在线播放| 亚州av在线播放| 在线一区二区三区四区五区| 亚洲精品天堂网| 久久成人久久爱| 丝袜人妻一区二区三区| 亚洲妇女av| 91精品久久久久久久久久| 粗大黑人巨茎大战欧美成人| 精品欧美乱码久久久久久1区2区| 91精品国产乱码久久久张津瑜| 久久奇米777| www.51色.com| 免费亚洲婷婷| 伊人色综合影院| 久久精品亚洲成在人线av网址| 欧美一级视频免费在线观看| 伊人免费在线| 91精品国产乱| 中文在线字幕av| 亚洲午夜视频在线观看| 亚洲女优在线观看| 国产精品亚洲综合一区在线观看| 精品人妻一区二区三区四区在线 | 亚洲日本欧美在线| eeuss国产一区二区三区四区| 热久久免费视频精品| 黄色免费在线看| 日韩经典第一页| 国产欧美久久久| 色婷婷香蕉在线一区二区| 国产精选第一页| 国产精品国产精品国产专区不蜜 | 日韩电影av| 欧美激情一二区| av资源在线观看免费高清| 亚洲国产精品大全| 国产又黄又猛又爽| 欧美性生交xxxxx久久久| 69xx绿帽三人行| 欧美国产日产图区| 国产精品久久久久野外| 理论电影国产精品| 久久久久人妻精品一区三寸| 午夜日韩福利| 自拍视频一区二区三区| 国产精品一区二区av交换| a级国产乱理论片在线观看99| 黄色精品视频网站| 国产国语videosex另类| 丁香花在线电影| 日韩中文娱乐网| 国产精品四虎| 亚洲男人的天堂在线| 免费看日韩av| 精品成人免费观看| 国产成人麻豆精品午夜在线| 欧美亚洲高清一区| 国产亚洲欧美在线精品| 亚洲不卡av一区二区三区| 日韩精品123区| 国产亚洲欧美一级| 超薄肉色丝袜一二三| 久久伊人中文字幕| 精品国产人妻一区二区三区| 成人国产精品免费网站| 91精品国产高清91久久久久久| 久久99国产精品尤物| 天堂一区在线观看| 蜜桃av一区二区三区| 免费激情视频在线观看| 视频在线观看一区| aaa毛片在线观看| 肉色丝袜一区二区| 我看黄色一级片| 日韩成人免费看| 亚洲人辣妹窥探嘘嘘| 日韩精品免费专区| 91在线视频观看免费| 日韩高清中文字幕一区| 国产又猛又黄的视频| 日本成人在线一区| 污污网站免费观看| 精品在线免费视频| 国内自拍第二页| 国产麻豆成人精品| 少妇一级淫免费观看| 91丨国产丨九色丨pron| 播金莲一级淫片aaaaaaa| 久久无码av三级| 黄色国产在线播放| 1000精品久久久久久久久| 欧美三级小视频| 午夜天堂影视香蕉久久| 中文字幕在线播| 欧美色手机在线观看| 国产熟女精品视频| 精品国产亚洲在线| www.久久热.com| 中文字幕九色91在线| 性网站在线观看| 91国产美女在线观看| 无遮挡爽大片在线观看视频| 国产精品视频网站| 超碰国产精品一区二页| 国产精品美女黄网| 精品一区欧美| 99热这里只有精品7| 伊人久久大香线蕉av超碰演员| 九九热只有这里有精品| 欧美aaa在线| 三上悠亚 电影| 26uuu精品一区二区| 国产传媒视频在线| 亚洲国产精品人人做人人爽| 伊人手机在线视频| 欧美一级国产精品| 肉丝一区二区| 久久综合免费视频影院| 日韩电影毛片| 国产一区二区在线免费视频| 日韩高清在线观看一区二区| 热re99久久精品国99热蜜月| 一区二区蜜桃| 黑人粗进入欧美aaaaa| 粉嫩av一区二区三区| x88av在线| 色婷婷av一区二区三区大白胸| 国产精品欧美亚洲| 亚洲精品97久久| 91porn在线观看| 91高潮精品免费porn| **精品中文字幕一区二区三区| 九九热久久66| 国产精品第十页| 欧美美女性视频| 国产视频不卡一区| 日韩美女黄色片| 欧美精品成人一区二区三区四区| 人人妻人人澡人人爽精品日本 | 久久aaaa片一区二区| 国产精品理伦片| 岛国av中文字幕| 亚洲国产精品推荐| 亚洲电影视频在线| 国产成人av在线播放| 色爱综合av| 精品成在人线av无码免费看| 国产原创一区二区| 国产破处视频在线观看| 婷婷久久综合九色综合伊人色| 国产片高清在线观看| 在线精品视频视频中文字幕| 桃色av一区二区| 国产日韩欧美一区二区| 国产精品v一区二区三区| 下面一进一出好爽视频| 中文字幕在线视频一区| 国产91av在线播放| 亚洲欧美国产一区二区三区| 成入视频在线观看| 黄色一区三区| 亚洲高清成人| 香蕉视频污视频| 亚洲五码中文字幕| 亚洲av无码国产精品久久不卡 | 精品国产91久久久久久浪潮蜜月| 精品国产一二三四区| 国产99久久久国产精品免费看| 黄色a级片在线观看| 3d成人动漫网站| av小次郎在线| 5566中文字幕一区二区| 精品91视频| 国产色视频一区二区三区qq号| 日本电影亚洲天堂一区| av大全在线免费看| 95av在线视频| 欧美日韩岛国| 黄色片子免费看| 天天色综合成人网| 欧美理论在线观看| 成人乱色短篇合集| 激情欧美亚洲| 短视频在线观看| 欧美性猛交xxxx黑人猛交| av网站在线播放| 91中文字幕一区| 欧美日韩亚洲一区三区| 亚洲最大视频网| 色综合天天综合网天天狠天天| 男女视频在线观看免费| 国产精品三级网站| 91成人网在线观看| 免费看毛片的网站| 色哟哟精品一区| 麻豆电影在线播放| 成人春色激情网| 亚洲深爱激情| 亚洲女人毛茸茸高潮| 91精品国产福利在线观看| 色www永久免费视频首页在线| 久久综合毛片| 美国欧美日韩国产在线播放| 久久r这里只有精品| 亚洲国产天堂网精品网站| 日韩午夜视频在线| 99久久免费观看| 国产欧美精品日韩区二区麻豆天美| 国产精品国产av| 日本视频久久久| 91久久久精品国产| 无码国产精品一区二区免费式直播 |