国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Android UI測試框架zinc30

移動開發 Android
Zinc30是一個強大的Android UI自動化測試框架,支持建立健壯、可維護的黑盒測試用例。RD或者QA能夠基于場景設計功能級和系統級測試。

Zinc30是一個強大的Android UI自動化測試框架,支持建立健壯、可維護的黑盒測試用例。RD或者QA能夠基于場景設計功能級和系統級測試。Zinc30符合Webdriver的 API規范,以更好地面向對象編程的方式來操作Android控件,同時全面支持Web UI測試中流行的PageFactory模式。

項目地址:https://code.google.com/p/zinc30/

GettingStart

使 用Zinc30需要將zinc.jar包放入Android Test Project中并加入到build path之中,同時需要在AndroidManifest.xml的manifest元素下加入:

對于使用Zinc30的示例項目請在downloads區下載 zinc30-sample.zip包,里面包含兩個項目,zinc30-sample是被測項目,采用mvp模式書寫;zinc30-sample- test是測試項目,采用PageFactory模式來書寫測試用例。兩個項目導入到eclipse即可直接運行。

示例演示

這里以測試登陸功能為例,假如有兩個Activity,其中一個為LoginView,主要是登陸頁面,另一個為MainView,主要是登陸成功后跳轉的頁面。這里也采用PageFactory模式來書寫,先寫ActivityPage:

  1. public class LoginViewPage extends BaseActivityPage { 
  2.  
  3.         public LoginViewPage(Zinc zinc) { 
  4.                 super(zinc); 
  5.         } 
  6.  
  7.         @FindBy(id = R.id.username) 
  8.         private AndroidElement usernameEdit; 
  9.  
  10.         @FindBy(type = AndroidElementType.EditText, index = 1
  11.         private AndroidElement passwordEdit; 
  12.  
  13.         @FindBy(type = AndroidElementType.Button, text = "登陸"
  14.         private AndroidElement loginButton; 
  15.  
  16.         public MainViewPage login(String username, String password) { 
  17.                 usernameEdit.clear(); 
  18.                 usernameEdit.sendKeys(username); 
  19.  
  20.                 passwordEdit.clear(); 
  21.                 passwordEdit.sendKeys(password); 
  22.  
  23.                 loginButton.click(); 
  24.                 return new MainViewPage(zinc); 
  25.         } 
  26.  

可以看到,這個Page頁面主要包括測試過程中需要操作的元素以及動作,其中元素查找有3個方法:

1、根據id來查找,即自動生成的R文件中的id值;

2、根據文本來查找,需要帶上元素類型。比如@FindBy(type = AndroidElementType.Button, text = "登陸")為查找寫有登陸文字的Button控件。如果元素類型不確定可以使用Unkown類型;

3. 根據索引來查找,需要帶上元素類型。比如@FindBy(type = AndroidElementType.EditText, index = 1)為查找第二個EditText控件。這里index以0標識***個元素。

接下來我們來看Test Case如何來書寫,其實Test case主要組合已有的ActivityPage類:

  1. public class LoginViewTest extends ZincTestCase { 
  2.  
  3.         public LoginViewTest() { 
  4.                 super("com.baidu.zinc30.sample", LoginView.class); 
  5.         } 
  6.  
  7.         public void testLoginSuccess() { 
  8.                 LoginViewPage loginViewPage = new LoginViewPage(zinc); 
  9.                 MainViewPage mainViewPage = loginViewPage.login("zinc""zinc"); 
  10.  
  11.                 Assert.assertTrue("should login success"
  12.                                 mainViewPage.isActivityPresent(MainView.class)); 
  13.         } 

我們寫測試用例的時候需要繼承ZincTestCase,它主要完成zinc對象的初始化。雖然在Test Case這層可以使用zinc對象,但我們鼓勵將操作封裝在ActivityPage層。

總結

Zinc30是全面支持PageFactory模式的(可以參考:http://chon.techliminal.com/page_object/#/intro),因為它有3方面的優點:

1)減少重復代碼,將頁面狀態的改變和遷移封裝在頁面對象之中;

2)UI的變動只會影響到相應頁面對象而不會影響到上層的test case;

3)能夠在不同的test case中重用頁面對象。

對于某些操作不在WebDriver的API中,比如滑動屏幕、點擊Listview中的某一行或者返回上一頁等操作,我們在ActivityPage層直接zinc對象,它完全兼容Robotium的所有動作。

責任編輯:徐川 來源: OSChina
相關推薦

2020-11-13 18:59:51

UIAndroidJetBrains

2009-04-21 08:46:02

GoogleAndroid移動OS

2011-05-28 14:25:57

設計技巧UIAndroid

2011-10-11 09:56:59

PhoneGapSelenium

2021-08-10 09:31:54

鴻蒙HarmonyOS應用

2016-09-07 13:49:11

AppiumAndroid UI應用

2016-10-20 19:27:00

開源項目bootstrapcss框架

2023-01-04 15:24:46

ACE組件UI布局

2021-08-09 14:32:34

鴻蒙HarmonyOS應用

2022-05-20 11:09:15

Flybirds多端測試UI 自動化測試

2017-03-28 12:25:36

2009-06-22 15:52:15

JSF測試框架

2011-03-30 16:54:13

JUnit

2014-04-08 14:19:06

Android開發UI線程

2015-06-09 14:23:43

CSS收藏CSS框架

2013-09-22 11:08:14

App測試Android

2012-06-14 17:06:38

JavaScript

2019-01-31 11:11:30

前端開發框架

2022-07-27 10:36:13

前端UI框架

2009-07-22 14:49:18

ibmdwPython測試
點贊
收藏

51CTO技術棧公眾號

色老头一区二区三区| 999国产在线视频| 久久777国产线看观看精品| 欧美日韩综合不卡| 国产农村妇女毛片精品久久莱园子 | 欧美日韩久久一区二区| 久久久综合视频| 国产成都精品91一区二区三| 亚洲国产一区二区精品专区| 一本到12不卡视频在线dvd| 成人自拍在线| 中文字幕系列一区| 国产极品在线观看| 18+视频在线观看| 国产在线观看黄| yiren22综合网成人| 伪装者在线观看完整版免费| 欧美二区三区| 精品中文字幕人| 精品国产免费久久久久久尖叫| 国产精品揄拍500视频| 久久久亚洲国产天美传媒修理工| 中文字幕日韩精品有码视频| 国产婷婷97碰碰久久人人蜜臀 | 欧美日韩免费在线视频| 色老汉一区二区三区| 亚洲成人在线观看视频| 亚洲丝袜自拍清纯另类| 亚洲伦理在线精品| 伊人一区二区三区| 精品久久在线播放| 欧美极品在线观看| 亚洲免费在线观看视频| 色婷婷av在线| 日韩一级理论片| 在线观看av的网址| 91啪国产在线| 国产美女精品视频| 国产精品久久久久久网站| 青青草成人在线| 97香蕉久久超级碰碰高清版| 日韩中文理论片| 在线播放日韩av| 亚洲第一在线视频| 欧美精品久久一区| 欧美电影免费提供在线观看| 日韩欧美国产一区二区在线播放| 日韩三级在线免费观看| 在线影院国内精品| 欧美一级在线免费| 日韩高清中文字幕| 久久久久久伊人| 日韩女优人人人人射在线视频| 国产91在线播放精品91| 日韩视频在线你懂得| 在线观看成人免费| 色视频网站在线观看| 性欧美ⅴideo另类hd| 日韩成人动漫在线观看| 久久高清免费观看| 亚洲午夜在线观看视频在线| 亚洲国产另类 国产精品国产免费| 欧美在线视频一区| 免费网站在线观看视频 | 免费看啪啪网站| 国产专区视频| 国产精品久久久久久av公交车| 伊人久久大香线蕉综合热线 | 久久久av免费| 麻豆一区二区三区在线观看| 黄色一级大片在线免费看产| 亚洲人亚洲人色久| 中文字幕亚洲字幕| 久久99视频免费| 中文字幕av久久| 高h视频在线观看| 久久伊人亚洲| 日韩欧美国产骚| 国产精品高精视频免费| 国产深夜男女无套内射| 性爽视频在线| 精品一区二区三区在线观看 | 尤物tv在线精品| 久久久综合视频| 久久精品中文字幕| 成人av在线不卡| se01亚洲视频| av在线播放成人| 萌白酱国产一区二区| 大陆极品少妇内射aaaaa| 欧美激情福利| 久久久久亚洲综合| 91av视频在线播放| 嫩草视频在线观看| 自拍偷拍欧美专区| 亚洲精品一区二区三区精华液| 久久久免费视频网站| 免费黄色成人| 在线综合视频播放| 久久这里只有精品8| 免费观看性欧美大片无片| 亚洲va韩国va欧美va精品 | 麻豆tv在线| 91福利资源站| www.色综合| 秋霞在线观看一区二区三区| 上原亚衣加勒比在线播放| 日韩伦理三区| 国产一区视频在线看| 91麻豆精品91久久久久同性| 国产盗摄xxxx视频xxx69| 日韩a在线播放| 日韩免费电影| 国产精品羞羞答答xxdd| 亚洲国产精品久久久久秋霞蜜臀 | av在线亚洲一区| 一区二区国产视频| 九九精品视频在线| 无码人妻h动漫| 粉嫩精品导航导航| 亚洲精品综合在线| 国产精品人人做人人爽| 黄网站app在线观看下载视频大全官网| 久久精品中文字幕电影| 欧美精品在线一区| av2020不卡| 超碰精品在线| 国产精品国模大尺度视频| 国内精久久久久久久久久人| gogogo影视剧免费观看在线观看| 成人激情免费视频| 色屁屁一区二区| 国产亚洲精品自在久久| 黄色在线看片| 久久先锋影音av鲁色资源网| 亚洲综合中文字幕在线| 亚洲妇熟xxxx妇色黄| 欧美深夜福利| 国产丝袜一区视频在线观看| 日本日本19xxxⅹhd乱影响| 青草久久视频| 精品国产一区二区三区av性色| 四季av一区二区| 国产日本精品| 欧美一级电影免费在线观看| 德国一级在线视频| 久久国产精品99国产| 欧美成人精品一区| 日韩偷拍一区二区| 日韩午夜视频在线| 一本在线高清不卡dvd| 成人一区二区三| 国产一区二区女| 欧美极品色图| 欧美日韩国产亚洲一区| 911国产网站尤物在线观看| av高清一区| 精品国产伦一区二区三区免费 | 欧美久久99| 国产精品电影网| 青青一区二区| 国内精品久久久| 亚洲精品v亚洲精品v日韩精品| 国产91精品入口17c| 亚洲一区制服诱惑| 亚洲日本视频在线| 影院欧美亚洲| 正在播放一区二区三区| 三级精品视频| 久久久亚洲精选| 国产亚洲人成a在线v网站| 在线看国产一区二区| 久草视频在线播放| 日本一区二区视频在线观看| 亚洲国产精品无码观看久久| 久久国产精品区| 亚洲二区三区四区| 一区二区精品| 日本一区二区三区四区高清视频| 99国产精品私拍| 国产精品中文在线| 国产一区二区区别| 久久天天躁狠狠躁夜夜躁2014 | 黄色影视在线观看| 国产激情偷乱视频一区二区三区| 91成人在线视频观看| 国产高清在线观看免费不卡| 久久久天堂国产精品| 91视频在线看| 福利网址在线| 欧美精品高清视频| 国产剧情av在线播放| 久久精品久久久久电影| 欧美手机在线视频| 日韩加勒比系列| 5566中文字幕一区二区电影| 在线免费看h| 欧洲精品毛片网站| 欧美国产日本| 青青草国产精品视频|