一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

2021-08-30 00:21淺醉櫻花雨 Python

這篇文章主要介紹了Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

2020年4月補(bǔ)充

鑒于配置自動(dòng)化測(cè)試這套框架確實(shí)稍微有點(diǎn)麻煩,許多小伙伴在配置的過(guò)程中總是踩坑,最近寫(xiě)了篇簡(jiǎn)化版的入門(mén)教程,不想折騰Android SDK的小伙伴可以移步到那篇文章:http://m.ythuaji.com.cn/article/143497.html


概述

本文主要分為以下幾個(gè)部分

  1. 安裝Python3
  2. 安裝Python3的Appium庫(kù)
  3. 安裝Android SDK
  4. 安裝JDK
  5. 安裝Appium
  6. 安裝模擬器
  7. 編寫(xiě)測(cè)試腳本并生成測(cè)試報(bào)告

項(xiàng)目示例下載地址: https://github.com/lixk/apptest

正文

一、安裝Python3

直接登錄Python官網(wǎng)https://www.python.org/,下載最新版本即可。

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

然后安裝的時(shí)候注意一下安裝路徑,比如我的安裝路徑D:\Python37,接下來(lái)會(huì)用到這個(gè)安裝路徑。

二、安裝Python3的Appium庫(kù)

打開(kāi)Python安裝目錄,找到Scripts文件夾,點(diǎn)進(jìn)去,示例:

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

在地址欄上輸入cmd,然后回車(chē),打開(kāi)控制臺(tái):

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

在控制臺(tái)里輸入命令pip install Appium-Python-Client,然后回車(chē)

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

看到下圖的提示就表明安裝成功了

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

三、安裝Android SDK

我懶得折騰,所以就直接下載了Android Studio
下載地址
https://developer.android.com/studio/#downloads

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

下載完成開(kāi)始安裝

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

如果需要安裝自帶的模擬器,就把這一項(xiàng)勾選上,然后Next,接下來(lái)選擇安裝路徑,比如我的同樣放在D盤(pán)

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

接下來(lái)一路Next,到了選擇SDK的頁(yè)面注意一下

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

選擇Custom,這樣可以只安裝自己喜歡的部分,接下來(lái)選擇主題,當(dāng)然這個(gè)以后可以在Android Studio里邊改

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

繼續(xù)Next,到達(dá)定制組件頁(yè)面,如下圖

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

設(shè)置一下SDK的安裝路徑,比如我的是D:\Android\SDK,接下來(lái)繼續(xù)Next…finish。然后就進(jìn)入了緩慢的下載環(huán)節(jié),讓它在這兒慢慢的下載吧,下載完成后就好了。我們可以進(jìn)入下一節(jié)了。

四、安裝JDK

這里我使用的是JDK8,下載地址
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

接受協(xié)議,然后選擇對(duì)應(yīng)平臺(tái)下載即可

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

接下來(lái)安裝過(guò)程比較簡(jiǎn)單,也是一路Next,注意選擇一下安裝路徑,比如我的安裝路徑D:\Java\jdk1.8

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

五、安裝Appium

官網(wǎng)地址 http://appium.io/

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

點(diǎn)擊下載按鈕會(huì)到GitHub的下載頁(yè)面,選擇對(duì)應(yīng)平臺(tái)下載

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

Windows就選這個(gè)(快捷下載)

安裝完成后,啟動(dòng)Appium,host和port默認(rèn)的即可,然后編輯下配置信息

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告
Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

然后點(diǎn)下邊那個(gè)保存并重啟的按鈕,然后點(diǎn)第一個(gè)Start Server按鈕,將會(huì)看到

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

如果使用真機(jī)測(cè)試,插上手機(jī)就可以開(kāi)始編寫(xiě)腳本測(cè)試了。但是呢,由于手邊沒(méi)有數(shù)據(jù)線,就采用模擬器了,所以有了下一節(jié)。

六、安裝模擬器

這里使用的是夜神模擬器下載地址 https://www.yeshen.com/,之所以不用Android自帶的,是因?yàn)橛浀枚嗄昵皢?dòng)一次要好久,然后就再也沒(méi)用過(guò)。
這個(gè)也沒(méi)有什么好說(shuō)的,也是注意一下安裝路徑,然后一路下一步就好了。
安裝完成后要進(jìn)行一下簡(jiǎn)單修改:

  • 打開(kāi)安裝目錄,進(jìn)入到bin目錄(比如:D:\Nox\bin
  • 把第三節(jié)里安裝好的Android SDK里的adb.exe文件(比如我的在D:\Android\SDK\platform-tools目錄下)復(fù)制到該目錄覆蓋掉該目錄已存在的adb.exe文件
  • 刪掉該目錄的nox_adb.exe文件,再?gòu)?fù)制一份adb.exe并重命名為nox_adb.exe
  • 啟動(dòng)模擬器
  • 再該目錄打開(kāi)控制臺(tái),執(zhí)行nox_adb.exe connect 127.0.0.1:62001,然后執(zhí)行adb devices,看到如下信息就表示成功了

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

在模擬器里安裝測(cè)試apk文件,這里以一個(gè)計(jì)算器為例,直接將apk文件拖到模擬器里即可

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

繼續(xù)在剛剛的控制臺(tái)窗口里輸入aapt dump badging D:\apk\com.youdao.calculator-2.0.0.apk,其中D:\apk\com.youdao.calculator-2.0.0.apk是測(cè)試apk的完整路徑。

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

可以看到安裝包的信息都打印出來(lái)了,記錄下紅框里這兩個(gè)名稱,待會(huì)兒寫(xiě)測(cè)試腳本的時(shí)候要用。
注意,如果模擬器重啟了,需要執(zhí)行第5步的nox_adb.exe connect 127.0.0.1:62001 七、編寫(xiě)測(cè)試腳本并生成測(cè)試報(bào)告

1.創(chuàng)建測(cè)試用例目錄testcase,在該目錄下創(chuàng)建test_app.py文件

  1. import time
  2. import unittest
  3.  
  4. from appium import webdriver
  5.  
  6. class MyTests(unittest.TestCase):
  7. # 測(cè)試開(kāi)始前執(zhí)行的方法
  8. def setUp(self):
  9. desired_caps = {'platformName': 'Android', # 平臺(tái)名稱
  10. 'platformVersion': '4.4.2', # 系統(tǒng)版本號(hào)
  11. 'deviceName': '127.0.0.1:62001', # 設(shè)備名稱。如果是真機(jī),在'設(shè)置->關(guān)于手機(jī)->設(shè)備名稱'里查看
  12. 'appPackage': 'com.youdao.calculator', # apk的包名
  13. 'appActivity': 'com.youdao.calculator.activities.MainActivity' # activity 名稱
  14. }
  15. self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps) # 連接Appium
  16. self.driver.implicitly_wait(8)
  17.  
  18. def test_calculator(self, t=500, n=4):
  19. """計(jì)算器測(cè)試"""
  20. time.sleep(3)
  21. window = self.driver.get_window_size()
  22. x0 = window['width'] * 0.8 # 起始x坐標(biāo)
  23. x1 = window['width'] * 0.2 # 終止x坐標(biāo)
  24. y = window['height'] * 0.5 # y坐標(biāo)
  25. for i in range(n):
  26. self.driver.swipe(x0, y, x1, y, t)
  27. time.sleep(1)
  28. self.driver.find_element_by_id('com.youdao.calculator:id/guide_button').click()
  29. for i in range(6):
  30. self.driver.find_element_by_accessibility_id('Mathbot Editor').click()
  31. time.sleep(1)
  32.  
  33. btn_xpath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.support.v4.widget.DrawerLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.LinearLayout[3]/android.view.View/android.widget.GridView/android.widget.FrameLayout[{0}]/android.widget.FrameLayout'
  34. self.driver.find_element_by_xpath(btn_xpath.format(7)).click()
  35. self.driver.find_element_by_xpath(btn_xpath.format(10)).click()
  36. self.driver.find_element_by_xpath(btn_xpath.format(8)).click()
  37. time.sleep(3)
  38.  
  39. # 測(cè)試結(jié)束后執(zhí)行的方法
  40. def tearDown(self):
  41. self.driver.quit()

2.創(chuàng)建run.py文件

  1. import os
  2. import time
  3. import unittest
  4.  
  5. from HTMLTestRunner import HTMLTestRunner
  6.  
  7. test_dir = './testcase'
  8. discover = unittest.defaultTestLoader.discover(start_dir='./testcase', pattern="test*.py")
  9.  
  10. if __name__ == "__main__":
  11. report_dir = './test_report'
  12. os.makedirs(report_dir, exist_ok=True)
  13. now = time.strftime("%Y-%m-%d %H-%M-%S")
  14. report_name = '{0}/{1}.html'.format(report_dir, now)
  15.  
  16. with open(report_name, 'wb')as f:
  17. runner = HTMLTestRunner(stream=f, title="測(cè)試報(bào)告", description="本測(cè)試報(bào)告內(nèi)容包含超級(jí)計(jì)算器的簡(jiǎn)單測(cè)試")
  18. runner.run(discover)

導(dǎo)出測(cè)試報(bào)告用到了HTMLTestRunner,但是Python3的好像有問(wèn)題,在網(wǎng)上找了兩個(gè)修改后支持Python3的, 需要的話可以在本文尾部的示例項(xiàng)目中下載。

3.運(yùn)行run.py文件
等程序運(yùn)行完之后即會(huì)在test_report目錄下生成測(cè)試報(bào)告

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告
Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

在瀏覽器里打開(kāi)即可看到報(bào)告內(nèi)容,示例

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

到此,全部完成。如果有空的話可以再補(bǔ)充下Appium的使用,比如元素定位之類的,希望本文能幫到初學(xué)自動(dòng)化測(cè)試的同學(xué)。
項(xiàng)目示例下載地址 https://github.com/lixk/apptest
艾瑪,羅嗦這么多,都八點(diǎn)了還沒(méi)吃晚飯,好餓,今天就先到這里了。



2019/5/21 補(bǔ)充

 

如果配置跟上邊那幾步都一致,確實(shí)沒(méi)問(wèn)題,結(jié)果不能正常運(yùn)行。那么問(wèn)題可能出在模擬器配置。下邊補(bǔ)充下我這邊的模擬器配置。

Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告
Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告
Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告
Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告

代碼中的'platformVersion': '4.4.2'就是上圖中的Android版本。

如果還是有許多人跑不起來(lái),接下來(lái)可以考慮抽空錄個(gè)操作視頻,哈哈哈。

到此這篇關(guān)于Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試并生成測(cè)試報(bào)告的文章就介紹到這了,更多相關(guān)Python3 + Appium + 安卓模擬器實(shí)現(xiàn)APP自動(dòng)化測(cè)試內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/u013314786/article/details/83216390

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩亚洲一区二区三区在线观看 | 国产成人精品免费视频软件 | 亚洲娇小videos | 视频免费看 | 亚洲 小说 欧美 激情 另类 | 亚洲AV无码一区二区三区乱子伦 | 青青网在线视频 | luan小说| 99超级碰碰成人香蕉网 | 国产精品久久久久久搜索 | 亚洲日本免费 | 亚洲国产欧美目韩成人综合 | 欧美日韩国产一区二区三区伦 | 无颜之月5集全免费看无删除 | 色姑娘久久 | 天天色影视综合网 | 欧美三级做爰全过程 | 亚洲是图你懂的 | 3p文两男一女办公室高h | 韩国三级 720p | 1024国产高清精品推荐 | 胖女性大bbbbbb | 日本漫画被黄漫免费动 | 欧美一级特黄特色大片 | 深夜福利在线播放 | 九九热在线免费观看 | 91精品国产美女福到在线不卡 | 免费观看在线aa | 欧美成人午夜片一一在线观看 | 天天插伊人| 国产成人精品视频一区二区不卡 | 国产午夜精品久久理论片小说 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 日日艹| 偷拍自拍校园春色 | 国产欧美综合精品一区二区 | 69av美女| freesex 18 19处xx| 狠狠色婷婷 | 久久综合老色鬼网站 | 国产清纯白嫩大学生正在播放 |