<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      簡(jiǎn)介

      在實(shí)際自動(dòng)化項(xiàng)目運(yùn)行過(guò)程中,很多時(shí)候App可以會(huì)出現(xiàn)各種異常,為了更好的定位問(wèn)題,除了捕捉日志我們還需要對(duì)運(yùn)行時(shí)的設(shè)備狀態(tài)來(lái)進(jìn)行截屏。從而達(dá)到一種“有圖有真相
      ”的效果。

      截圖方法

      方法1

      save_screenshot() 該方法直接保存當(dāng)前屏幕截圖到當(dāng)前腳本所在文件位置。

      driver.save_screenshot('login.png')

      查看方法1源碼:



      方法2

      get_screenshot_as_file(self, filename)

      將截圖保留到指定文件路徑

      driver.get_screenshot_as_file('./images/login.png')

      查看方法2源碼:



      實(shí)踐案例

      測(cè)試場(chǎng)景

      在考研幫App登錄頁(yè)面輸入用戶(hù)名和密碼之后截圖,分別保存到當(dāng)前文件和指定的文件路徑。

      代碼實(shí)現(xiàn)



      參考代碼

      ?
      # coding=utf-8 # 1.先設(shè)置編碼,utf-8可支持中英文,如上,一般放在第一行 # 2.注釋?zhuān)喊ㄓ涗泟?chuàng)建時(shí)間,創(chuàng)建人,項(xiàng)目名稱(chēng)。 '''
      Created on2019-8-21 @author: 北京-宏哥 QQ交流群:707699217 Project:學(xué)習(xí)和使用appium自動(dòng)化測(cè)試-屏幕截圖
      '''# 3.導(dǎo)入模塊 from appium import webdriver from selenium.common.exceptions import
      NoSuchElementException desired_caps={} desired_caps['platformName']='Android'
      desired_caps['deviceName']='127.0.0.1:62025' desired_caps['platforVersion']='
      5.1.1' desired_caps['automationName']='uiautomator2' desired_caps['app']=r'
      C:\Users\DELL\Downloads\kaoyanbang.apk' desired_caps['appPackage']='
      com.tal.kaoyan' desired_caps['appActivity']='
      com.tal.kaoyan.ui.activity.SplashActivity' desired_caps['noReset']='False'
      desired_caps['unicodeKeyboard']="True" desired_caps['resetKeyboard']="True"
      driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
      driver.implicitly_wait(2) #定義的點(diǎn)擊“取消”按鈕方法 def check_cancelBtn(): print('check
      cancelBtn') try: cancelBtn = driver.find_element_by_id('android:id/button2')
      except NoSuchElementException: print('no cancelBtn') else: cancelBtn.click()
      #定義的點(diǎn)擊“跳過(guò)”按鈕方法 def check_skipBtn(): print('check skipBtn') try: skipBtn =
      driver.find_element_by_id('com.tal.kaoyan:id/tv_skip') except
      NoSuchElementException: print('no skipBtn') else: skipBtn.click() #調(diào)用點(diǎn)擊“取消”按鈕方法
      check_cancelBtn() #調(diào)用點(diǎn)擊“跳過(guò)”按鈕方法 check_skipBtn() driver.find_element_by_id('
      com.tal.kaoyan:id/login_email_edittext').clear() driver.find_element_by_id('
      com.tal.kaoyan:id/login_email_edittext').send_keys('55555')
      driver.find_element_by_id('com.tal.kaoyan:id/login_password_edittext'
      ).send_keys('zxw2018') driver.save_screenshot('login.png')
      driver.get_screenshot_as_file('./images/login.png') driver.find_element_by_id('
      com.tal.kaoyan:id/login_login_btn').click()
      注意:如果指定路徑出現(xiàn)中文字符時(shí),需要加上u’文件路徑’進(jìn)行轉(zhuǎn)碼

      App三種類(lèi)型與區(qū)別

      原生應(yīng)用程序:(Native App)

      原生APP是什么?原生APP就是利用Android、iOS平臺(tái)官方的開(kāi)發(fā)語(yǔ)言、開(kāi)發(fā)類(lèi)庫(kù)、工具進(jìn)行開(kāi)發(fā)。比如安卓的java語(yǔ)言,iOS的object-c
      語(yǔ)言。在應(yīng)用性能上和交互體驗(yàn)上應(yīng)該是最好的。

      優(yōu)點(diǎn):

      1、可訪問(wèn)手機(jī)所有功能、可實(shí)現(xiàn)功能最齊全;

      2、運(yùn)行速度快、性能高,絕佳的用戶(hù)體驗(yàn);

      3、支持大量圖形和動(dòng)畫(huà)。不卡,反應(yīng)快。

      4、比較快捷地使用設(shè)備端提供的接口,處理速度上有優(yōu)勢(shì)。

      缺點(diǎn):

      1、在過(guò)去主要是成本高、周期長(zhǎng),Android和iOS都需要單獨(dú)開(kāi)發(fā)。

      2、更新版本需要重新下載安裝包。

      混合應(yīng)用程序(Hybrid App)

      即利用了原生APP的開(kāi)發(fā)技術(shù)還應(yīng)用了HTML5開(kāi)發(fā)技術(shù),是原生和HTML5技術(shù)的混合應(yīng)用?;旌媳壤幌?。

      優(yōu)點(diǎn):

      1、開(kāi)發(fā)周期短;

      2、功能更新發(fā)布快;

      缺點(diǎn):

      1、用戶(hù)體驗(yàn)不如本地應(yīng)用;

      2、性能稍慢(需要連接網(wǎng)絡(luò));

      Web版APP (Web App)

      本質(zhì)就是瀏覽器功能的疊加,用普通Web開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)的,通過(guò)瀏覽器運(yùn)行。

      優(yōu)勢(shì):

      1、支持范圍廣;

      2、開(kāi)發(fā)成本低、周期短。

      缺點(diǎn):

      1、對(duì)聯(lián)網(wǎng)要求高,離線不能做任何操作;

      2、功能有限;

      3、運(yùn)行速度慢,頁(yè)面不能承載太多東西;

      4、圖片和動(dòng)畫(huà)支持性不高;

      5、如果用戶(hù)使用更多的新型瀏覽器,那么就會(huì)出現(xiàn)運(yùn)行問(wèn)題。

      Web App、Hybrid App、Native App 技術(shù)特性



      手游app與手機(jī)App

      手游一般使用引擎開(kāi)發(fā),現(xiàn)在著名的有
      cocos2d和unity3d。兩者都是使用引擎自帶的語(yǔ)言進(jìn)行開(kāi)發(fā),主流的分別是c++和c#,雖然在開(kāi)發(fā)過(guò)程中也有按鈕等控件的概念,但當(dāng)運(yùn)行時(shí)由引擎渲染后就變成了一副簡(jiǎn)單的圖片:

      手機(jī)App一般使用Android
      SDK開(kāi)發(fā),使用Java編寫(xiě)。通過(guò)Android提供的服務(wù),我們可以獲取App當(dāng)前窗口的視圖信息,進(jìn)而查找和操作按鈕等控件,以完成自動(dòng)化測(cè)試,如Uiautomator。這個(gè)過(guò)程是標(biāo)準(zhǔn)化的,從技術(shù)上來(lái)說(shuō)沒(méi)有任何難度,因此各個(gè)公司各個(gè)App自動(dòng)化測(cè)試的方法都大同小異。

      小結(jié)

      ?  好了,這部分的內(nèi)容比較簡(jiǎn)單,小伙伴們和同學(xué)們掌握上邊的兩個(gè)截圖的方法,了解一下Android APP的類(lèi)型就可以。

      您的肯定就是我進(jìn)步的動(dòng)力。如果你感覺(jué)還不錯(cuò),就請(qǐng)鼓勵(lì)一下吧!記得點(diǎn)波?推薦?哦?。。。c(diǎn)擊右邊的小球即可!(^__^)?嘻嘻……)



      ?

      ? ? ? ?個(gè)人公眾號(hào)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?微信群
      ?(微信群已滿(mǎn)100,可以加宏哥的微信拉你進(jìn)群,請(qǐng)備注:進(jìn)群)? ? ? ? ??

      ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問(wèn)題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          国产艹b视频 | 精品露脸国偷精品产拍 | bdsm折磨bdsm乳铐 | 69香蕉视频 | 又粗又硬又爽又爱成人的视频 | 爱射网 | 国产精品毛片视频 | 午夜av在线电影 午夜伦欧美伦电影理论片 69国产精品视频 京香一区二区三区 | 操的好舒服啊 | 国产男女做爰猛烈叫床 |