当前所在位置: 首页 > 教程大全 > 正文

android自动化测试教程 android 自动化测试

日期:2023-11-07    作者:康康 浏览量:0    【 字体:

大家好,关于android自动化测试教程很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于自动化测试的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录:

  1. 如何使用python做android的自动化测试
  2. Android移动应用自动化测试都需要哪些环境
  3. 怎样使用Appium进行Android自动化测试
  4. Android 手机自动化测试工具有哪几种

如何使用python做android的自动化测试

寮€濮嬬涓€涓畝鍗曠殑AndroidUI鑷姩鍖栨祴璇?br/>1.浣跨敤adb鍛戒护杩炴帴鐪熸満鎴栨ā鎷熷櫒

2.鎵撳紑uiautomatorviewer宸ュ叿

3.浣跨敤uiautomatorviewer宸ュ叿鑾峰彇搴旂敤鐨勫厓绱犺繘琛屽畾浣?br/>4.绠€鍗曚粙缁島nittest妗嗘灦鐨勪娇鐢ㄦ柟娉?br/>5.浣跨敤Python缂栧啓鐚畞鑰冨嫟搴旂敤娉ㄥ唽妯″潡鐨勮嚜鍔ㄥ寲娴嬭瘯

1.浣跨敤adb鍛戒护杩炴帴鐪熸満鎴栨ā鎷熷櫒锛?br/>鎵嬫満USB杩炴帴鐢佃剳锛岃繘鍏ュ紑鍙戣€呮ā寮忥紱
cmd鍛戒护锛歛dbdevices锛屾煡鐪嬫墜鏈烘槸鍚﹁繛鎺?br/>杩欓噷鍐欏浘鐗囨弿杩?br/>鏄剧ず閿欒

杩欐槸鍥犱负adb鐨勭鍙h鍗犵敤锛屾垜浠渶瑕佹煡鐪嬫槸浠€涔堝簲鐢ㄥ崰鐢ㄤ簡杩欎釜绔彛锛?037涓篴db榛樿绔彛锛?br/>cmd鍛戒护:netstat-aon|findstr鈥?037鈥?br/>杩欓噷鍐欏浘鐗囨弿杩?br/>鍙互鐪嬪埌鍗犵敤5037绔彛瀵瑰簲鐨勭▼搴忕殑PID鍙蜂负8388;

cmd鍛戒护:tasklist|findstr鈥?388鈥?br/>杩欓噷鍐欏浘鐗囨弿杩?br/>鍙互鐪嬪嚭8388瀵瑰簲鐨勭▼搴忎负kadb.exe锛岃鏄庤绋嬪簭姝e湪浣跨敤5037绔彛;

杩欐椂鎴戜滑闇€瑕佸湪浠诲姟绠$悊鍣ㄤ腑缁撴潫kadb.exe杩涚▼锛屾寜蹇嵎閿€淐trl+Shift+Esc鈥濊皟鍑篧indows浠诲姟绠$悊鍣紝鎵惧埌鈥渒adb.exe鈥濓紝鍗曞嚮涓嬫柟鐨勭粨鏉熻繘绋嬪嵆鍙紒

杩欓噷鍐欏浘鐗囨弿杩?br/>鎴戜滑鍐嶆杩愯cmd鍛戒护锛歛dbdevices

杩欓噷鍐欏浘鐗囨弿杩?br/>杩欎竴姝ユ垚鍔熷悗鎴戜滑鎵嶈兘杩愯sdk鑷甫鐨剈iautomatorviewer锛?br/>鎴戜滑闇€瑕佺敤uiautomatorviewer宸ュ叿鏉ヨ幏鍙栧厓绱狅紝鐢ㄤ簬瀹氫綅銆?br/>cmd鍛戒护锛歶iautomatorviewer锛屾墦寮€uiautomatorviewer鐣岄潰

杩欓噷鍐欏浘鐗囨弿杩?br/>鎴栬€呮壘鍒皊dk鐩綍锛歴dk\tools涓壘鍒皍iautomatorviewer.bat鏂囦欢鍙屽嚮杩愯

杩欓噷鍐欏浘鐗囨弿杩?br/>2.鎵撳紑uiautomatorviewer宸ュ叿

杩欓噷鍐欏浘鐗囨弿杩?br/>鎴戜滑鍙互鏍规嵁text锛宺esource-id锛宑lass绛夊厓绱犺繘琛屽畾浣?br/>3.浣跨敤uiautomatorviewer宸ュ叿鑾峰彇搴旂敤鐨勫厓绱犺繘琛屽畾浣?br/>杩欓噷鎴戜娇鐢╬ython鑷甫鐨処DLE杩涜缂栧啓娴嬭瘯鑴氭湰锛屾墦寮€python鏂囦欢鎵惧埌IDLE锛坧ythonGUI锛夊弻鍑绘墦寮€锛屽鍥撅細
杩欓噷鍐欏浘鐗囨弿杩?br/>4.绠€鍗曚粙缁島nittest妗嗘灦鐨勪娇鐢ㄦ柟娉?br/>#-*-coding:utf-8-*-

fromuiautomatorimportdeviceasd

importunittest

classMytest(unittest.TestCase):

#鍒濆鍖栧伐浣?br/>defsetUp(self):

print"--------------鍒濆鍖栧伐浣?quot;

#閫€鍑烘竻鐞嗗伐浣?br/>deftearDown(self):

print"--------------閫€鍑烘竻鐞嗗伐浣?quot;

#娴嬭瘯鐐瑰嚮鐚畞鑰冨嫟case

deftest_login(self):

d(text="鐚畞鑰冨嫟").click()

print"--------------娴嬭瘯1"

#娴嬭瘯2

deftest_z(self):

print"--------------娴嬭瘯2"#杩欓噷浣犲彲浠ュ啓浣犵殑绗簩涓祴璇曠敤渚嬶紝

#娴嬭瘯3

deftest_w(self):

print"--------------娴嬭瘯3"#杩欓噷浣犲彲浠ュ啓浣犵殑绗笁涓祴璇曠敤渚嬨€傘€傘€傘€傘€傘€傘€傘€傘€傘€傘€傘€傘€?br/>if__name__=='__main__':

unittest.main()

缁撴灉濡備笅锛?br/>Testingstartedat21:14鈥?br/>鈥斺€斺€斺€斺€撳垵濮嬪寲宸ヤ綔

鈥斺€斺€斺€斺€撴祴璇?

鈥斺€斺€斺€斺€撻€€鍑烘竻鐞嗗伐浣?br/>鈥斺€斺€斺€斺€撳垵濮嬪寲宸ヤ綔

鈥斺€斺€斺€斺€撴祴璇?

鈥斺€斺€斺€斺€撻€€鍑烘竻鐞嗗伐浣?br/>鈥斺€斺€斺€斺€撳垵濮嬪寲宸ヤ綔

鈥斺€斺€斺€斺€撴祴璇?

鈥斺€斺€斺€斺€撻€€鍑烘竻鐞嗗伐浣?br/>Processfinishedwithexitcode0

浠庣粨鏋滀腑鎴戜滑鍙互鐪嬪嚭unittest妗嗘灦鐨勮繍琛屾柟寮忎负锛?br/>setUp娴嬭瘯1tearDown

setUp娴嬭瘯2tearDown

setUp娴嬭瘯3tearDown

5.浣跨敤Python缂栧啓鐚畞鑰冨嫟搴旂敤娉ㄥ唽妯″潡鐨勮嚜鍔ㄥ寲娴嬭瘯

#-*-coding:utf-8-*-

fromuiautomatorimportdeviceasd

importtime

importunittest

classMyTestSuite(unittest.TestCase):

#鍒濆鍖栧伐浣?br/>defsetUp(self):

print"--------------鍒濆鍖栧伐浣?quot;

#閫€鍑烘竻鐞嗗伐浣?br/>deftearDown(self):

print"--------------閫€鍑烘竻鐞嗗伐浣?quot;

#***************************鏂规硶**************************************

#鍒ゆ柇鎺т欢鏄惁瀛樺湪&text

defcheck_controls_exists(self,controls_text):

ifd(text=controls_text).exists:

return1

else:

return0

#鍒ゆ柇鎸夐挳鏄惁缃伆&text&clickable

defcheck_controls_click_text(self,controls_text):

ifd(text=controls_text).info.get("clickable")isTrue:

return1

else:

return0

#assertIn(a,b)ainb

defcheck_ainb(self,resourceid,b):

ifd(resourceId=resourceid).info.get("text")inb:

return1

else:

return0

#***********************************************************

#娉ㄥ唽妯″潡

deftest_Aregister(self):

try:

time.sleep(2)

#鐚畞鑰冨嫟寮€鍚叏鏂版椂浠?br/>self.assertEqual(self.check_controls_click_text("娉ㄥ唽"),1,u"鐚畞鑰冨嫟寮€鍚叏鏂版椂浠?quot;)

#鐚畞鑰冨嫟寮€鍚叏鏂版椂浠?-銆嬬偣鍑绘敞鍐屾寜閽繘鍏ユ敞鍐岀尗瀹佺晫闈?br/>d(text="娉ㄥ唽").click()

time.sleep(3)

#娉ㄥ唽鐚畞鐣岄潰

self.assertEqual(self.check_text("com.isentech.attendancet:id/regis_phone","璇疯緭鍏ユ墜鏈哄彿鐮?quot;),

1,u"娉ㄥ唽椤甸潰-銆嬭杈撳叆鎵嬫満鍙风爜")

self.assertEqual(self.check_text("com.isentech.attendancet:id/regis_verifycode","璇疯緭鍏ラ獙璇佺爜"),

1,u"娉ㄥ唽椤甸潰-銆嬭杈撳叆楠岃瘉鐮?quot;)

self.assertEqual(self.check_controls_click_text("鑾峰彇楠岃瘉鐮?quot;),0,u"娉ㄥ唽椤甸潰-銆嬭幏鍙栭獙璇佺爜")

self.assertEqual(self.check_controls_click_text("銆婁腑绉戠埍璁湇鍔″崗璁€?quot;),1,u"娉ㄥ唽椤甸潰-銆嬨€婁腑绉戠埍璁湇鍔″崗璁€?quot;)

self.assertEqual(self.check_controls_click_text("娉ㄥ唽"),0,u"娉ㄥ唽椤甸潰-銆嬫敞鍐?quot;)

time.sleep(2)

#銆婁腑绉戠埍璁湇鍔″崗璁€?br/>d(text="銆婁腑绉戠埍璁湇鍔″崗璁€?quot;).click()

time.sleep(2)

self.assertEqual(self.check_ainb("com.isentech.attendancet:id/title","鏈嶅姟鍗忚"),1,u"娉ㄥ唽椤甸潰-銆嬫湇鍔″崗璁?quot;)

time.sleep(1)

d(resourceId="com.isentech.attendancet:id/title_back").click()

time.sleep(1)

#鎵嬫満鍙蜂笉杈撳叆鏄惁鑳芥敞鍐?br/>d(text="娉ㄥ唽").click()

time.sleep(3)

#鎵嬫満鍙峰彧杈撳叆1涓暟瀛楁槸鍚﹁兘娉ㄥ唽&鍙緭鍏?涓暟瀛楁槸鍚﹁兘鑾峰彇楠岃瘉鐮?br/>d(resourceId="com.isentech.attendancet:id/regis_phone").set_text("1")

self.assertEqual(self.check_controls_click_text("鑾峰彇楠岃瘉鐮?quot;),0)

time.sleep(1)

d(text="娉ㄥ唽").click()

time.sleep(1)

d(resourceId="com.isentech.attendancet:id/regis_phone").clear_text()

time.sleep(1)

#鍙緭鍏?涓暟瀛楁槸鍚﹁兘鑾峰彇楠岃瘉鐮?br/>d(resourceId="com.isentech.attendancet:id/regis_phone").set_text("11111")

self.assertEqual(self.check_controls_click_text("鑾峰彇楠岃瘉鐮?quot;),0)

time.sleep(1)

d(resourceId="com.isentech.attendancet:id/regis_phone").clear_text()

time.sleep(1)

#鍙緭鍏ユ墜鏈哄彿鏄惁鑳芥敞鍐?br/>d(resourceId="com.isentech.attendancet:id/regis_phone").set_text(phone_number)

self.assertEqual(self.check_controls_click_text("娉ㄥ唽"),0)

time.sleep(1)

d(text="娉ㄥ唽").click()

time.sleep(1)

#杈撳叆姝g‘鐨勯獙璇佺爜&鑾峰彇楠岃瘉鐮佹槸鍚﹂珮浜?br/>d(resourceId="com.isentech.attendancet:id/regis_verifycode").set_text("5648")

time.sleep(1)

self.assertEqual(self.check_controls_click_text("鑾峰彇楠岃瘉鐮?quot;),1)

time.sleep(2)

#瀵嗙爜鍙緭鍏?涓暟瀛楁槸鍚﹁兘娉ㄥ唽&娉ㄥ唽鎸夐挳鏄惁楂樹寒

d(resourceId="com.isentech.attendancet:id/regis_pass").set_text("1")

d(resourceId="com.isentech.attendancet:id/regis_passAgain").set_text("1")

time.sleep(1)

self.assertEqual(self.check_controls_click_text("娉ㄥ唽"),0,u"瀵嗙爜鍙緭鍏?涓暟瀛楁槸鍚﹁兘娉ㄥ唽")

time.sleep(1)

d(resourceId="com.isentech.attendancet:id/regis_pass").clear_text()

d(resourceId="com.isentech.attendancet:id/regis_passAgain").clear_text()

time.sleep(1)

#杈撳叆涓嶇浉鍚岀殑瀵嗙爜鏄惁鑳芥敞鍐?br/>d(resourceId="com.isentech.attendancet:id/regis_pass").set_text("123456")

d(resourceId="com.isentech.attendancet:id/regis_passAgain").set_text("12345")

time.sleep(1)

self.assertEqual(self.check_controls_click_text("娉ㄥ唽"),0,u"杈撳叆涓嶇浉鍚岀殑瀵嗙爜鏄惁鑳芥敞鍐?quot;)

time.sleep(1)

d(resourceId="com.isentech.attendancet:id/regis_pass").clear_text()

d(resourceId="com.isentech.attendancet:id/regis_passAgain").clear_text()

time.sleep(1)

#杈撳叆姝g‘鐨勫瘑鐮佹槸鍚﹁兘娉ㄥ唽&鎴戝凡鍚屾剰鏄惁鎵撻挬

d(resourceId="com.isentech.attendancet:id/regis_pass").set_text("123456")

d(resourceId="com.isentech.attendancet:id/regis_passAgain").set_text("123456")

time.sleep(1)

self.assertEqual(self.check_controls_click_resourceId("com.isentech.attendancet:id/regis_agree"),1)

self.assertEqual(self.check_controls_click_text("娉ㄥ唽"),1)

time.sleep(2)

d(text="娉ㄥ唽").click()

time.sleep(8)

exceptException,e:

printu"Error:娉ㄥ唽妯″潡鏈夐棶棰?#92;n",e

deftest_app():

test_unit=unittest.TestSuite()

test_unit.addTest(MyTestSuite("test_Aregister"))

if__name__=="__main__":

#娴嬭瘯app

unittest.main()

Android移动应用自动化测试都需要哪些环境

鎵€闇€鐜锛欽ava锛圝DK锛夈€丄ndroid-sdk銆乤ndroid妯℃嫙鍣?/a>(鍙敤瀹夊崜鐪熸満)銆丄ppium銆乸ython/Java

1.Java鐜锛氱Щ鍔?ahref="https://zhidao.baidu.com/search?word=搴旂敤绋嬪簭"highlight="true">搴旂敤绋嬪簭鏄痡ava绋嬪簭寮€鍙戯紝瑕佽繍琛宩ava璇█寮€鍙戠殑绋嬪簭灏遍渶瑕佹惌寤簀ava杩愯鐜锛岀洿鎺ュ畨瑁匤DK鎴朖RE鍗冲彲銆?br/>2.Android-sdk:Android绋嬪簭寮€鍙戙€佽皟璇曞伐鍏峰寘锛岄渶瑕佷娇鐢ㄥ伐鍏峰寘鍐呯殑ADB鍛戒护鍜孶iautomatorwebview鏌ョ湅鍏冪礌灞炴€у伐鍏?br/>3.android妯℃嫙鍣細寮€鍙戣皟璇曞畨鍗撳簲鐢紝灏遍渶瑕佷竴閮?ahref="https://zhidao.baidu.com/search?word=瀹夊崜鎵嬫満"highlight="true">瀹夊崜鎵嬫満锛屼娇鐢ㄦā鎷熷櫒浠f浛瀹夊崜鐪熸満锛屼篃鍙互浣跨敤鐪熸満锛岄渶瑕佸紑鍚?ahref="https://zhidao.baidu.com/search?word=root鏉冮檺"highlight="true">root鏉冮檺

4.Appium锛氱Щ鍔ㄥ簲鐢ㄨ嚜鍔ㄥ寲娴嬭瘯妗嗘灦锛屾彁渚涗簡甯哥敤绉诲姩鍙婂簲鐢ㄧ殑鎿嶄綔鐨凙PI鏂规硶锛屾敮鎸丄ndroid銆乮os

5.python/java:闇€瑕佷竴闂ㄨ瑷€鏉ヨ皟鐢ˋppium妗嗘灦鎻愪緵鐨凙PI鏂规硶鏉ユ搷浣滅Щ鍔ㄥ簲鐢?浼犳櫤鎾鏈夊叏濂桝ndroid绉诲姩搴旂敤鑷姩鍖栨祴璇曠殑瑙嗛鏁欑▼锛屼綘鍙互鍘诲畼缃戞壘鎵剧湅銆?

怎样使用Appium进行Android自动化测试

瀹夎JDK

鎴戞墍鐢ㄧ殑Mac绯荤粺閲岄潰宸茬粡鑷甫浜咼DK锛岀郴缁熶腑娌℃湁瀹夎鐨勶紝鍙互鍒皁racle瀹樼綉涓嬭浇锛屼笅杞藉湴鍧€瑙佹枃鍚庡弬鑰冭祫鏂欍€?br/>鎵撳紑~/.bash_profile鏂囦欢锛岃缃甁AVA_HOME鐜鍙橀噺锛?br/>exportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/jre

璺緞璁剧疆涓鸿嚜宸辩殑JDK鎵€鍦ㄧ殑鐩綍銆?br/>瀹夎AndroidSDK

瑙e帇android-sdk_r24.4.1-macosx.zip鍒版湰鍦扮洰褰曪紝鎴戞斁缃殑鐩綍鏄細~/E/_develop/android-sdk

娣诲姞ANDROID_HOME鐜鍙橀噺锛?br/>exportANDROID_HOME=/Users/ryan/E/_develop/android-sdk

瀹夎node

瑙e帇node-v4.4.7-darwin-x64.tar.gz鍒版湰鍦扮洰褰曪細~/E/_develop/node-v4.4.7-darwin-x64

娣诲姞鐜鍙橀噺锛?br/>exportNODE_HOME=/Users/ryan/E/_develop/node-v4.4.7-darwin-x64

exportPATH=$PATH:$NODE_HOME/bin

鎺у埗鍙拌繍琛屽懡浠わ細

node--version

Android 手机自动化测试工具有哪几种

Feb232012鏇存柊:杩樻湁Sikuli(http://sikuli.org)锛屽熀浜庝紭绉€鐨勫浘鍍忓姣斿簱opencv鐨勬祴璇曞伐鍏凤紝娴嬭瘯鑴氭湰浣跨敤Python缂栧啓锛岄潪甯稿己澶с€傚鏋滀綘鐨刟pp娌℃湁婧愮爜锛屽彲浠ラ€夋嫨瀹冿紱鎴栬€呬綘鎯冲仛绯荤粺娴嬭瘯锛堣法app鐨勬祴璇曪級锛屼篃鍙互閫夋嫨瀹冦€傚叾瀹冪殑杩樻槸鐢ㄤ笅闈㈣鐨勯偅浜涗釜鍚с€?br/>鎴戦€氳繃鍏舵牳蹇冨寘sikuli-script.jar瀹炵幇浜哸ndroid鐨剆ikuli鍖栵紝鏆傛椂涓嶆墦绠楀紑婧愩€傚叾瀹炲師鐞嗘尯绠€鍗曠殑锛岃鐪熺湅杩噑ikuli婧愮爜鐨勫簲璇ラ兘鑳藉啓鍑烘潵銆?br/>

鐪媗z鐨勬剰鎬濆簲璇ュ彧鏄兂闂簲鐢ㄥ眰鐨勶紝鎴戞潵璇寸偣搴旂敤灞傜殑

鍏堣璇村紑婧愮殑鍚э細

Robotium

Monkeyrunner

Robolectric

CTS

杩樻湁涓柊鍏寸殑娴嬭瘯宸ュ叿锛屼互鍓嶅湪GitHub鐪嬪埌锛岀幇鍦ㄦ壘涓嶅埌浜嗭紝濂藉儚鏄疊DD绫诲瀷鐨勮娉曪紱鐜板湪杩樹笉鎴愮啛銆?

鍙﹀鍩轰簬web鐨勬祴璇曚篃鏈夊熀浜嶴eleniumWebdriver鐨?AndroidWebDriver锛?

鏈変袱绉嶏細

鍩轰簬RemoteServer鐨勶細瀹樻柟鎻愪緵浜唈ava鎺ュ彛鐨勶紝浣嗘槸Python鐗堢殑瀹樻柟閲岄潰鍗存病鏈夈€傛垜闈炲父鍠滄Python锛屾墍浠ヨ嚜宸卞疄鐜颁簡骞朵笖寮€婧愬埌浜咷itHub锛?ahref="https://github.com/truebit/AndroidWebDriver4Python"target="_blank"rel="nofollownoopener">https://github.com/truebit/AndroidWebDriver4Python鏈夐棶棰樺ぇ瀹跺彲浠ユ彁鍒颁笂闈?

鍩轰簬Instrumentation鐨勶細宸茬粡鍦ˋndroidSDKr14閲岄潰鍙互瀹夎浜?br/>涓嶅紑婧愮殑灏卞浜嗭紝涓嶈繃鎴戣杩囩殑涓€鑸槸浠ヤ笅鍑犵鎬濊矾锛?

1.鍩轰簬AndroidJavaInstrumentation妗嗘灦锛?br/>鍩轰簬Robotium锛屾瘮濡俠itbar鐨勪骇鍝?http://bitbar.com/products

鍩轰簬Instrumentation锛岄偅灏辨捣浜嗗幓浜嗭紝寰堝鍏徃鑷鍐欑殑宸ュ叿閮藉熀浜庤繖涓?鍙﹀Robotium灏辨槸鍩轰簬杩欎釜鐨?br/>2.鍩轰簬Androidlib灞傜殑鍚勭鍛戒护锛屾瘮濡俿endevent,getevent,monkey,service杩欎簺锛岀劧鍚庣敤鍚勭璇█灏佽

MonkeyRunner杩樻槸寰堟湁鍓嶆櫙鐨勶紝Google鑷繁寮勭殑銆傜幇鍦ㄦ渶鏂扮殑dev鐗堟湰宸茬粡鏈夋敮鎸乁I鐨刬d鎿嶄綔鐨凟asyMonkey浜嗐€傚彲浠itclonegit://http://android.kernel.org/platform/sdk.git鐪嬬湅

缂栬緫浜?2012-02-237鏉¤瘎璁?•浣滆€呬繚鐣欐潈鍒?br/>

璧炲悓23鍙嶅锛屼笉浼氭樉绀轰綘鐨勫鍚?br/>涔欓唶锛屾墦鏉傜殑......

钀藉皬闆€佽拫閲戦緳銆丷eetaL绛変汉璧炲悓

appium鏄渶杩戞垜鍏虫敞鐨勪竴涓笉閿欑殑绉诲姩绔嚜鍔ㄥ寲娴嬭瘯宸ュ叿锛屾敮鎸乤ndroid鍜宨os銆?br/>鏀句笂涓ゆ瑙嗛銆傜涓€娈垫槸璁茶Вappium鐨勫師鐞嗗強quickstart锛涚浜屾璁茶В浜哸ppium鐨勬簮鐮佺粨鏋勫拰鍏蜂綋瀹炵幇銆傛湁鍏磋叮鍙互鐪嬩竴涓嬶紝鐩镐俊搴旇鏈夋敹鑾枫€?br/>

1锛宎ppium鍘熺悊涓巕uickstart

涔欓唶鐨刟ppium瑙嗛鏁欑▼涔媋ppium鍏ラ棬鍙婂師鐞嗗墫鏋?br/>http://v.youku.com/v_show/id_XNjQzMjI4NDcy.html?firsttime=2212

2锛宎ppium婧愮爜瑙f瀽

涔欓唶鐨刟ppium婧愮爜瑙h

http://v.youku.com/v_show/id_XNjQzODIwMzA4.html?firsttime=0

鍙戝竷浜?2013-12-075鏉¤瘎璁?•浣滆€呬繚鐣欐潈鍒?br/>

璧炲悓25鍙嶅锛屼笉浼氭樉绀轰綘鐨勫鍚?br/>鐭ヤ箮鐢ㄦ埛锛孋oding/Reading/Hiking/Running

鐭ヤ箮鐢ㄦ埛銆佹浌濯涘獩銆佺煶瀛樻玻绛変汉璧炲悓

1銆丮onkey鏄疉ndroidSDK鑷甫鐨勬祴璇曞伐鍏凤紝鍦ㄦ祴璇曡繃绋嬩腑浼氬悜绯荤粺鍙戦€佷吉闅忔満鐨勭敤鎴蜂簨浠舵祦锛屽鎸夐敭杈撳叆銆佽Е鎽稿睆杈撳叆銆佹墜鍔胯緭鍏ョ瓑)锛屽疄鐜板姝e湪寮€鍙戠殑搴旂敤绋嬪簭杩涜鍘嬪姏娴嬭瘯锛屼篃鏈夋棩蹇楄緭鍑恒€傚疄闄呬笂璇ュ伐鍏峰彧鑳藉仛绋嬪簭鍋氫竴浜涘帇鍔涙祴璇曪紝鐢变簬娴嬭瘯浜嬩欢鍜屾暟鎹兘鏄殢鏈虹殑锛屼笉鑳借嚜瀹氫箟锛屾墍浠ユ湁寰堝ぇ鐨勫眬闄愭€с€?br/>2銆丮onkeyRunner涔熸槸AndroidSDK鎻愪緵鐨勬祴璇曞伐鍏枫€備弗鏍兼剰涔変笂鏉ヨMonkeyRunner鍏跺疄鏄竴涓狝pi宸ュ叿鍖咃紝姣擬onkey寮哄ぇ锛屽彲浠ョ紪鍐欐祴璇曡剼鏈潵鑷畾涔夋暟鎹€佷簨浠躲€傜己鐐规槸鑴氭湰鐢≒ython鏉ュ啓锛屽娴嬭瘯浜哄憳鏉ヨ瑕佹眰杈冮珮锛屾湁姣旇緝澶х殑瀛︿範鎴愭湰銆?br/>3銆両nstrumentation鏄棭鏈烥oogle鎻愪緵鐨凙ndroid鑷姩鍖栨祴璇曞伐鍏风被锛岃櫧鐒跺湪閭f椂鍊橨Unit涔熷彲浠ュAndroid杩涜娴嬭瘯锛屼絾鏄疘nstrumentation鍏佽浣犲搴旂敤绋嬪簭鍋氭洿涓哄鏉傜殑娴嬭瘯锛岀敋鑷虫槸妗嗘灦灞傞潰鐨勩€傞€氳繃Instrumentation浣犲彲浠ユā鎷熸寜閿寜涓嬨€佹姮璧枫€佸睆骞曠偣鍑汇€佹粴鍔ㄧ瓑浜嬩欢銆侷nstrumentation鏄€氳繃灏嗕富绋嬪簭鍜屾祴璇曠▼搴忚繍琛屽湪鍚屼竴涓繘绋嬫潵瀹炵幇杩欎簺鍔熻兘锛屼綘鍙互鎶奍nstrumentation鐪嬫垚涓€涓被浼糀ctivity鎴栬€匰ervice骞朵笖涓嶅甫鐣岄潰鐨勭粍浠讹紝鍦ㄧ▼搴忚繍琛屾湡闂寸洃鎺т綘鐨勪富绋嬪簭銆傜己鐐规槸瀵规祴璇曚汉鍛樻潵璇寸紪鍐欎唬鐮佽兘鍔涜姹傝緝楂橈紝闇€瑕佸Android鐩稿叧鐭ヨ瘑鏈変竴瀹氫簡瑙o紝杩橀渶瑕侀厤缃瓵ndroidManifest.xml鏂囦欢锛屼笉鑳借法澶氫釜App銆?br/>4銆乁iAutomator涔熸槸Android鎻愪緵鐨勮嚜鍔ㄥ寲娴嬭瘯妗嗘灦锛屽熀鏈笂鏀寔鎵€鏈夌殑Android浜嬩欢鎿嶄綔锛屽姣擨nstrumentation瀹冧笉闇€瑕佹祴璇曚汉鍛樹簡瑙d唬鐮佸疄鐜扮粏鑺傦紙鍙互鐢║iAutomatorviewer鎶撳幓App椤甸潰涓婄殑鎺т欢灞炴€ц€屼笉鐪嬫簮鐮侊級銆傚熀浜嶫ava锛屾祴璇曚唬鐮佺粨鏋勭畝鍗曘€佺紪鍐欏鏄撱€佸涔犳垚鏈紝涓€娆$紪璇戯紝鎵€鏈夎澶囨垨妯℃嫙鍣ㄩ兘鑳借繍琛屾祴璇曪紝鑳借法App锛堟瘮濡傦細寰堝App鏈夐€夋嫨鐩稿唽銆佹墦寮€鐩告満鎷嶇収锛岃繖灏辨槸璺ˋpp娴嬭瘯锛夈€傜己鐐规槸鍙敮鎸丼DK16锛圓ndroid4.1锛夊強浠ヤ笂锛屼笉鏀寔HybirdApp銆乄ebApp銆?br/>5銆丒spresso鏄疓oogle鐨勫紑婧愯嚜鍔ㄥ寲娴嬭瘯妗嗘灦銆傜浉瀵逛簬Robotium鍜孶IAutomator锛屽畠鐨勭壒鐐规槸瑙勬ā鏇村皬銆佹洿绠€娲侊紝API鏇村姞绮剧‘锛岀紪鍐欐祴璇曚唬鐮佺畝鍗曪紝瀹规槗蹇€熶笂鎵嬨€傚洜涓烘槸鍩轰簬Instrumentation鐨勶紝鎵€浠ヤ笉鑳借法App銆傞厤鍚圓ndroidStudio鏉ョ紪鍐欐祴璇曠殑绠€鍗曚緥瀛?br/>6銆丼elendroid锛氫篃鏄熀浜嶪nstrumentation鐨勬祴璇曟鏋讹紝鍙互娴嬭瘯NativeApp銆丠ybirdApp銆乄ebApp锛屼絾鏄綉涓婅祫鏂欒緝灏戯紝绀惧尯娲昏穬搴︿篃涓嶅ぇ銆?br/>7銆丷obotium涔熸槸鍩轰簬Instrumentation鐨勬祴璇曟鏋讹紝鐩墠鍥藉唴澶栫敤鐨勬瘮杈冨锛岃祫鏂欐瘮杈冨锛岀ぞ鍖轰篃姣旇緝娲昏穬銆傜己鐐规槸瀵规祴璇曚汉鍛樻潵璇磋鏈変竴瀹氱殑Java鍩虹锛屼簡瑙ndroid鍩烘湰缁勪欢锛屼笉鑳借法App銆?br/>8銆丄thrun鏄窐瀹濆嚭鐨勪竴涓Щ鍔ㄦ祴璇曟鏋?骞冲彴锛屽悓鏃舵敮鎸乮OS鍜孉ndroid銆侫ndroid閮ㄥ垎涔熸槸鍩轰簬Instrumentation锛屽湪Android鍘熸湁鐨凙ctivityInstrumentationTestCase2绫诲熀纭€涓婅繘琛屼簡鎵╁睍锛屾彁渚涗竴鏁村闈㈠悜瀵硅薄鐨凙PI銆傝繖閲屾湁璇︾粏浠嬬粛銆?br/>9銆丄ppium鏄渶杩戞瘮杈冪儹闂ㄧ殑妗嗘灦锛岀ぞ鍖轰篃寰堟椿璺冦€傝繖涓鏋跺簲璇ユ槸鏄姛鑳芥渶寮哄ぇ鐨勶紝
瀹冪殑浼樼偣锛?br/>瀹冪殑鍝茬悊鏄細

瀹冪殑璁捐鐞嗗康锛?br/>鐩稿叧闄愬埗锛?br/>鎬荤粨锛?br/>鍦╥OS閮ㄥ垎鏄皝瑁呬簡UIAutomation锛汚ndroid4.2浠ヤ笂鏄敤UiAutomator锛孉ndroid2.3~4.1鐢ㄧ殑鏄?Instrumentation锛屼篃灏辫Appium鍚屾椂灏佽浜哢iAutomator鍜孖nstrumentation銆傛墍浠ppium鎷ユ湁浜嗕互涓婂嚑澶ф鏋剁殑鎵€鏈変紭鐐癸細璺ˋpp锛屾敮鎸丯ativeApp銆丠ybirdApp銆乄ebApp锛岃繕鏀寔N绉嶈瑷€鏉ョ紪鍐欎綘鐨勬祴璇曡剼鏈€?br/>濡傛灉浣犲湪Windows浣跨敤Appium锛屼綘娌℃硶浣跨敤棰勭紪璇戜笓鐢ㄤ簬OSX鐨?app鏂囦欢锛屽洜涓篈ppium渚濊禆OSX涓撶敤鐨勫簱鏉ユ敮鎸乮OS娴嬭瘯锛屾墍浠ュ湪Windows骞冲彴浣犱笉鑳芥祴璇昳OSApps銆傝繖鎰忓懗鐫€浣犲彧鑳介€氳繃鍦∕ac涓婃潵杩愯iOS娴嬭瘯銆?br/>Client/Server鏋舵瀯锛岃繍琛岀殑鏃跺€橲erver绔細鐩戝惉Client绔彂杩囨潵鐨勫懡浠わ紝缈昏瘧杩欎簺鍛戒护鍙戦€佺粰绉诲姩璁惧鎴栨ā鎷熷櫒锛岀劧鍚庣Щ鍔ㄨ澶囨垨妯℃嫙鍣ㄥ仛鍑哄搷搴旂殑鍙嶅簲銆傛鏄洜涓鸿繖绉嶆灦鏋勶紝鎵€浠lient鍙互浣跨敤Appiumclientlibraries澶氱璇█鐨勬祴璇曡剼鏈紝鑰屼笖Server绔畬鍏ㄥ彲浠ラ儴缃插湪鏈嶅姟鍣ㄤ笂锛岀敋鑷充簯鏈嶅姟鍣ㄣ€?br/>Session锛屾瘡涓狢lient杩炴帴鍒癝erver浠ュ悗閮戒細鏈変竴涓猄essionID锛岃€屼笖Client鍙戦€佸懡浠ゅ埌Server绔兘闇€瑕佽繖涓猄essionID锛屽洜涓鸿繖涓猻eesionid浠h〃浜嗕綘鎵€鎵撳紑鐨勬祻瑙堝櫒鎴栬€呮槸绉诲姩璁惧鐨勬ā鎷熷櫒銆傛墍浠ヤ綘鐢氳嚦鍙互鎵撳紑N涓猄ession锛屽悓鏃舵祴璇曚笉鍚岀殑璁惧鎴栨ā鎷熷櫒銆?br/>DesiredCapabilities锛屽叾瀹炲氨鏄竴涓敭鍊煎锛岃缃竴浜涙祴璇曠殑鐩稿叧淇℃伅鏉ュ憡璇塖erver绔紝鎴戜滑闇€瑕佹祴璇昳OS銆佽繕鏄疉ndroid锛屾垨鑰呮崲鏄疻ebApp绛変俊鎭€?br/>AppiumServer鏄疦ode.js鍐欑殑锛屾墍浠ュ彲浠ョ洿鎺ョ敤NPM鏉ヨ繘琛屽畨瑁呫€?br/>AppiumClients锛孧acOS鍜學in涓嬫彁渚汫UI锛屼笉闇€瑕佽Node.js锛屾柟渚挎祴璇曚汉鍛樻搷浣溿€?br/>鐢ˋppium鑷姩鍖栨祴璇曚笉闇€瑕侀噸鏂扮紪璇慉pp锛?br/>鏀寔寰堝璇█鏉ョ紪鍐欐祴璇曡剼鏈紝Java銆丣avascript銆丳HP銆丳ython銆丆#銆丷uby绛変富娴佽瑷€锛?br/>涓嶉渶瑕佷负浜嗚嚜鍔ㄥ寲娴嬭瘯鏉ラ噸閫犺疆瀛愶紝鍥犱负鎵╁睍浜哤ebDriver銆傦紙WebDriver鏄祴璇昗ebApps鐨勪竴绉嶇畝鍗曘€佸揩閫熺殑鑷姩鍖栨祴璇曟鏋讹紝鎵€浠ユ湁Web鑷姩鍖栨祴璇曠粡楠岀殑娴嬭瘯浜哄憳鍙互鐩存帴涓婃墜锛夛紱

绉诲姩绔嚜鍔ㄥ寲娴嬭瘯搴旇鏄紑婧愮殑锛?br/>寮€婧愶紱
鏀寔NativeApp銆丠ybirdApp銆乄ebApp锛?br/>鏀寔Android銆乮OS銆丗irefoxOS锛?br/>Server涔熸槸璺ㄥ钩鍙扮殑锛屼綘鍙互浣跨敤MacOSX銆乄indows鎴栬€匧inux锛?br/>鏄剧ず鍏ㄩ儴

缂栬緫浜?2015-03-201鏉¤瘎璁?•浣滆€呬繚鐣欐潈鍒?br/>

璧炲悓4鍙嶅锛屼笉浼氭樉绀轰綘鐨勫鍚?br/>鐭ヤ箮鐢ㄦ埛锛宧ellorabbit

閮濇€濊繙銆乵anNor銆佸緪浣崇惁绛変汉璧炲悓

褰撳墠鏈夊緢澶х殑瓒嬪娍鏄浆鍚戠Щ鍔ㄥ簲鐢ㄥ钩鍙帮紝Android鏄渶骞挎硾浣跨敤鐨勭Щ鍔ㄦ搷浣滅郴缁燂紝2014骞村ぇ绾﹀崰80%浠ヤ笂鐨勫競鍦恒€傚湪寮€鍙?Android搴旂敤鐨勬椂鍊欒杩涜娴嬭瘯锛岀幇鍦ㄥ競鍦轰笂鏈夊ぇ閲忕殑娴嬭瘯宸ュ叿銆?br/>

鏈枃鎻愬埌鐨勫紑婧?Android杞欢娴嬭瘯宸ュ叿鍖呮嫭锛欰ndroidTestKit,AndroidJUnit4,Appium,calabash-android,Monkey,MonkeyTalk,NativeDriver,Robolectric,RoboSpock,Robotium,UIAutomator,Selendroid銆?br/>

AndroidTestKit

AndroidTestKit鏄竴缁?Google寮€婧愭祴璇曞伐鍏凤紝鐢ㄤ簬 Android骞冲彴锛屽寘鍚?EspressoAPI鍙敤浜庣紪鍐欑畝娲佸彲闈犵殑AndroidUI娴嬭瘯銆?br/>

OSChinaURL:AndroidTestKit棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*AndroidapplicationtestingwiththeAndroidtestframework鈥?Tutorial

*EspressoforAndroidishere!

AndroidJUnit4

AndroidJUnit4鏄竴涓JUnit4鍙互鐩存帴杩愯鍦?Android璁惧涓婄殑寮€婧愬懡浠よ宸ュ叿銆?br/>

OSChinaURL:AndroidJUnit4棣栭〉銆佹枃妗e拰涓嬭浇

Appium

Appium鏄竴涓紑婧愩€佽法骞冲彴鐨勮嚜鍔ㄥ寲娴嬭瘯宸ュ叿锛岀敤浜庢祴璇曞師鐢熷拰杞婚噺绉诲姩搴旂敤锛屾敮鎸?iOS,Android鍜?FirefoxOS骞冲彴銆侫ppium椹卞姩鑻规灉鐨?UIAutomation搴撳拰Android鐨?UiAutomator妗嗘灦锛屼娇鐢?Selenium鐨?WebDriverJSON鍗忚銆?br/>

Appinm鐨?iOS鏀寔鏄熀浜?DanCuellar's鐨?iOSAuto.Appium鍚屾椂缁戝畾浜?Selendroid鐢ㄤ簬鑰佺殑Android骞冲彴娴嬭瘯銆?br/>

OSChinaURL:Appium棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*AppiumTutorial

*AndroidUItestingwithAppium

Calabash-android

calabash-android鏄竴涓熀浜?Cucumber鐨?Android鐨勫姛鑳借嚜鍔ㄥ寲娴嬭瘯妗嗘灦銆侰alabash鍏佽浣犲啓鍜屾墽琛岋紝鏄紑婧愮殑鑷姩鍖栫Щ鍔ㄥ簲鐢ㄦ祴璇曞伐鍏凤紝鏀寔Android鍜?iOS鍘熺敓搴旂敤銆侰alabash鐨勫簱鍏佽鍘熺敓鍜屾贩鍚堝簲鐢ㄧ殑浜や簰娴嬭瘯锛屼氦浜掑寘鎷ぇ閲忕殑缁堢鐢ㄦ埛娲诲姩銆侰alabash鍙互濯茬編SeleniumWebDriver銆備絾鏄紝闇€瑕佹敞鎰忕殑鏄?web搴旂敤鍜屾闈㈢幆澧冪殑浜や簰璺熻Е鎽稿睆搴旂敤鐨勪氦浜掓槸涓嶅悓鐨勩€侰alabash涓撲负瑙︽懜灞忚澶囩殑鍘熺敓搴旂敤鎻愪緵APIs銆?br/>

OSChinaURL:calabash-android棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*AbetterwaytotestAndroidapplicationsusingCalabash

*CalabashAndroid:querylanguagebasics

Monkey

Monkey鏄?Google寮€鍙戠殑 UI/搴旂敤娴嬭瘯宸ュ叿锛屼篃鏄懡浠よ宸ュ叿锛屼富瑕侀拡瀵瑰帇鍔涙祴璇曘€備綘鍙互鍦ㄤ换鎰忕殑妯℃嫙鍣ㄧず渚嬫垨鑰呰澶囦笂杩愯銆侻onkey鍙戦€佷竴涓敤鎴蜂簨浠剁殑 pseudo-random娴佺粰绯荤粺锛屼綔涓轰綘寮€鍙戝簲鐢ㄧ殑鍘嬪姏娴嬭瘯銆?br/>

OSChinaURL:UI/ApplicationExerciserMonkey

MonkeyTalk

MonkeyTalk鏄笘鐣屼笂鏈€寮哄ぇ鐨勭Щ鍔ㄥ簲鐢ㄦ祴璇曞伐鍏枫€侻onkeyTalk鑷姩涓?iOS鍜?Android搴旂敤杩涜鐪熷疄鐨勶紝鍔熻兘鎬т氦浜掓祴璇曘€侻onkeyTalk鎻愪緵绠€鍗曠殑 "smoketests"锛屽鏉傛暟鎹┍鍔ㄧ殑娴嬭瘯濂椾欢銆?br/>

MonkeyTalk鏀寔鍘熺敓锛岀Щ鍔ㄥ拰娣峰悎搴旂敤锛岀湡瀹炶澶囨垨鑰呮ā鎷熷櫒銆侻onkeyTalk浣垮緱鍦烘櫙鎹曡幏闈炲父瀹规槗锛屽彲浠ヨ褰曢珮绾у埆锛屽彲璇荤殑娴嬭瘯鑴氭湰銆傚悓鏍风殑鍛戒护鍙互鐢ㄥ湪iOS鍜?Android搴旂敤涓娿€備綘鍙互璁板綍涓€涓钩鍙扮殑涓€涓祴璇曪紝骞朵笖鍙互鍦ㄥ彟澶栦竴涓钩鍙板洖鏀俱€侻onkeyTalk鏀寔绉诲姩瑙︽懜鍜屽熀浜庢墜鍔夸氦浜掍负涓荤殑绉诲姩浣撻獙銆傜偣鍑伙紝鎷栨嫿锛岀Щ鍔紝鐢氳嚦鏄墜鎸囩粯鍒朵篃鍙互琚褰曞拰鍥炴斁銆?br/>

OSChinaURL:MonkeyTalk棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*UsingMonkeyTalkinAndroidStudio

NativeDriver

NativeDriver鏄?WebDriverAPI鐨勫疄鐜帮紝鏄師鐢熷簲鐢?UI椹卞姩锛岃€屼笉鏄?web搴旂敤銆?br/>

OSChinaURL:NativeDriver棣栭〉銆佹枃妗e拰涓嬭浇

Robolectric

Robolectric鏄竴娆続ndroid鍗曞厓娴嬭瘯妗嗘灦锛屼娇鐢?AndroidSDKjar锛屾墍浠ヤ綘鍙互浣跨敤娴嬭瘯椹卞姩寮€鍙?Android搴旂敤銆傛祴璇曞彧闇€鍑犵灏卞彲浠ュ湪宸ヤ綔绔欑殑 JVM杩愯銆俁obolectric澶勭悊瑙嗗浘缂╂斁锛岃祫婧愬姞杞藉拰澶ч噺Android璁惧鍘熺敓鐨?C浠g爜瀹炵幇銆?br/>

Robolectric鍏佽浣犲仛澶ч儴鍒嗙湡瀹炶澶囦笂鍙互鍋氱殑浜嬫儏锛屽彲浠ュ湪宸ヤ綔绔欎腑杩愯锛屼篃鍙互鍦ㄥ父瑙勭殑JVM鎸佺画闆嗘垚鐜杩愯锛屼笉闇€瑕侀€氳繃妯℃嫙鍣ㄣ€?br/>

OSChinaURL:Robolectric棣栭〉銆佹枃妗e拰涓嬭浇

Additionalresources

*BetterAndroidTestingwithRobolectric2.0

UsingRobolectricforAndroidtesting鈥?Tutorial

RoboSpock

RoboSpock鏄竴涓紑婧愮殑Android娴嬭瘯妗嗘灦銆傛彁渚涚畝鍗曠殑缂栧啓BDD琛屼负椹卞姩寮€鍙戣鑼冪殑鏂规硶锛屼娇鐢℅roovy璇煶锛屾敮鎸?GoogleGuice搴撱€俁oboSpock鍚堝苟浜?Robolectric鍜?Spock鐨勫姛鑳姐€?br/>

OSChinaURL:RoboSpock棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*RoboSpock鈥?BehaviorDrivenDevelopment(BDD)forAndroid

Robotium

Robotium鏄竴娆惧浗澶栫殑Android鑷姩鍖栨祴璇曟鏋讹紝涓昏閽堝Android骞冲彴鐨勫簲鐢ㄨ繘琛岄粦鐩掕嚜鍔ㄥ寲娴嬭瘯锛屽畠鎻愪緵浜嗘ā鎷熷悇绉嶆墜鍔挎搷浣滐紙鐐瑰嚮銆侀暱鎸夈€佹粦鍔ㄧ瓑锛夈€佹煡鎵惧拰鏂█鏈哄埗鐨凙PI锛岃兘澶熷鍚勭鎺т欢杩涜鎿嶄綔銆?br/>

Robotium缁撳悎Android瀹樻柟鎻愪緵鐨勬祴璇曟鏋惰揪鍒板搴旂敤绋嬪簭杩涜鑷姩鍖栫殑娴?璇曘€傚彟澶栵紝Robotium4.0鐗堟湰宸茬粡鏀寔瀵筗ebView鐨勬搷浣溿€俁obotium瀵笰ctivity锛孌ialog锛孴oast锛孧enu閮芥槸鏀寔鐨勩€?br/>

OSChinaURL:Robotium棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*Robotium鈥?TestingAndroidUserInterface

*AndroiduserinterfacetestingwithRobotium鈥?Tutorial

UIAutomator

uiautomator娴嬭瘯妗嗘灦鎻愰珮鐢ㄦ埛鐣岄潰锛圲I锛夌殑娴嬭瘯鏁堢巼锛岄€氳繃鑷姩鍒涘缓鍔熻兘 UI娴嬭瘯绀轰緥锛屽彲浠ュ湪涓€涓垨鑰呭涓澶囦笂杩愯浣犵殑搴旂敤銆?br/>

OSChinaURL:uiautomator棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*AutomaticAndroidTestingwithUiAutomator

Selendroid

Selendroid鏄竴涓?Android鍘熺敓搴旂敤鐨?UI鑷姩鍖栨祴璇曟鏋躲€傛祴璇曚娇鐢?Selenium2瀹㈡埛绔?API缂栧啓銆係elendroid鍙互鍦ㄦā鎷熷櫒鍜屽疄闄呰澶囦笂浣跨敤锛屼篃鍙互闆嗘垚缃戞牸鑺傜偣浣滀负缂╂斁鍜屽苟琛屾祴璇曘€?br/>

OSChinaURL:Selendroid棣栭〉銆佹枃妗e拰涓嬭浇

鐩稿叧璧勬簮

*MobileTestAutomationwithSelendroid

*RoadtosetupSelendroidandcreatefirsttestscriptofandroidapplication

*Upandrunningwith:Selendroid

涓€浜涘仠姝㈢淮鎶ょ殑 Android娴嬭瘯宸ュ叿

涓€浜涘嚑涔庢病鏈夌户缁淮鎶ょ殑寮€婧?Android娴嬭瘯宸ュ叿椤圭洰锛堣嚦灏戞槸鏈€杩戝嚑涓湀閮芥病鏈夋洿鏂扮殑椤圭洰锛夈€?br/>

Emmagee

Emmagee鏄洃鎺ф寚瀹氳娴嬪簲鐢ㄥ湪浣跨敤杩囩▼涓崰鐢ㄦ満鍣ㄧ殑CPU銆佸唴瀛樸€佹祦閲忚祫婧愮殑鎬ц兘娴嬭瘯灏忓伐鍏枫€侲mmagee鍚屾椂杩樻彁渚涢潪甯搁叿鐨勪竴浜涚壒鎬э紝姣斿瀹氬埗闂撮殧鏉ユ敹闆嗘暟鎹紝浣跨敤娴姩绐楀彛鍛堢幇瀹炴椂杩涚▼鐘舵€佺瓑銆?br/>

OSChinaURL:Emmagee棣栭〉銆佹枃妗e拰涓嬭浇

Sirocco

Scirocco锛坰cirocco-webdriver锛?鏄紑婧愮殑搴旂敤鑷姩鍖栨祴璇曞伐鍏凤紝鍙互浠?Eclipse璁块棶蹇呰鐨勬祴璇曡澶囥€係cirocco鎻愪緵鑷姩鍖栫殑Android搴旂敤娴嬭瘯鍔熻兘锛屼唬鏇挎墜宸ユ祴璇曘€係cirocco鏀寔璋锋瓕鐨?NativeDriver锛屾妸AndroidDriver浣滀负涓昏鐨勬祴璇曞簱銆係cirocco鍖呮嫭涓変釜閮ㄥ垎锛歂ativeDriver锛孉ndroidDriver锛宻cirocco鎻掍欢锛堜竴涓?Eclipse鎻掍欢锛涘彲浠ヨ嚜鍔ㄦ墽琛?scenario娴嬭瘯鍜屽埗浣滄祴璇曟姤鍛婃埅鍥撅級銆?br/>

OSChinaURL:Scirocco棣栭〉銆佹枃妗e拰涓嬭浇

viasoftwaretestingmagazine

鍐呭鏉ユ簮锛氬紑婧愪腑鍥界ぞ鍖烘樉绀哄叏閮?br/>

鍙戝竷浜?2015-03-27娣诲姞璇勮•浣滆€呬繚鐣欐潈鍒?br/>

璧炲悓11鍙嶅锛屼笉浼氭樉绀轰綘鐨勫鍚?br/>鐭ヤ箮鐢ㄦ埛锛屾嫢鎶辩Щ鍔ㄤ簰鑱旂綉

关于android自动化测试教程,自动化测试的介绍到此结束,希望对大家有所帮助。

阅读全文