概述
本文主要分為以下幾個部分
- 安裝Python3
- 安裝Python3的Appium庫
- 安裝Android SDK
- 安裝JDK
- 安裝Appium
- 安裝模擬器
- 撰寫測驗腳本并生成測驗報告
正文
一、安裝Python3
直接登錄Python官網https://www.python.org/,下載最新版本即可,

然后安裝的時候注意一下安裝路徑,比如我的安裝路徑D:\Python37,接下來會用到這個安裝路徑,
二、安裝Python3的Appium庫
打開Python安裝目錄,找到Scripts檔案夾,點進去,示例:

在地址欄上輸入cmd,然后回車,打開控制臺:

在控制臺里輸入命令pip install Appium-Python-Client,然后回車

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

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

下載完成開始安裝

如果需要安裝自帶的模擬器,就把這一項勾選上,然后Next,接下來選擇安裝路徑,比如我的同樣放在D盤

接下來一路Next,到了選擇SDK的頁面注意一下

選擇Custom,這樣可以只安裝自己喜歡的部分,接下來選擇主題,當然這個以后可以在Android Studio里邊改

繼續Next,到達定制組件頁面,如下圖

設定一下SDK的安裝路徑,比如我的是D:\Android\SDK,接下來繼續Next…finish,然后就進入了緩慢的下載環節,讓它在這兒慢慢的下載吧,下載完成后就好了,我們可以進入下一節了,
四、安裝JDK
這里我使用的是JDK8,下載地址
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
接受協議,然后選擇對應平臺下載即可

接下來安裝程序比較簡單,也是一路Next,注意選擇一下安裝路徑,比如我的安裝路徑D:\Java\jdk1.8

五、安裝Appium
官網地址 http://appium.io/

點擊下載按鈕會到GitHub的下載頁面,選擇對應平臺下載

Windows就選這個(快捷下載) 安裝完成后,啟動Appium,host和port默認的即可,然后編輯下配置資訊


然后點下邊那個保存并重啟的按鈕,然后點第一個Start Server按鈕,將會看到

如果使用真機測驗,插上手機就可以開始撰寫腳本測驗了,但是呢,由于手邊沒有資料線,就采用模擬器了,所以有了下一節,
六、安裝模擬器
這里使用的是夜神模擬器下載地址 https://www.yeshen.com/,之所以不用Android自帶的,是因為記得多年前啟動一次要好久,然后就再也沒用過,
這個也沒有什么好說的,也是注意一下安裝路徑,然后一路下一步就好了,
安裝完成后要進行一下簡單修改:
- 打開安裝目錄,進入到
bin目錄(比如:D:\Nox\bin) - 把第三節里安裝好的Android SDK里的
adb.exe檔案(比如我的在D:\Android\SDK\platform-tools目錄下)復制到該目錄覆寫掉該目錄已存在的adb.exe檔案 - 刪掉該目錄的
nox_adb.exe檔案,再復制一份adb.exe并重命名為nox_adb.exe - 啟動模擬器
- 再該目錄打開控制臺,執行
nox_adb.exe connect 127.0.0.1:62001,然后執行adb devices,看到如下資訊就表示成功了

在模擬器里安裝測驗apk檔案,這里以一個計算器為例,直接將apk檔案拖到模擬器里即可

繼續在剛剛的控制臺視窗里輸入aapt dump badging D:\apk\com.youdao.calculator-2.0.0.apk,其中D:\apk\com.youdao.calculator-2.0.0.apk是測驗apk的完整路徑,

可以看到安裝包的資訊都列印出來了,記錄下紅框里這兩個名稱,待會兒寫測驗腳本的時候要用,
注意,如果模擬器重啟了,需要執行第5步的nox_adb.exe connect 127.0.0.1:62001
七、撰寫測驗腳本并生成測驗報告
創建測驗用例目錄testcase,在該目錄下創建test_app.py檔案
import time
import unittest
from appium import webdriver
class MyTests(unittest.TestCase):
# 測驗開始前執行的方法
def setUp(self):
desired_caps = {'platformName': 'Android', # 平臺名稱
'platformVersion': '4.4.2', # 系統版本號
'deviceName': '127.0.0.1:62001', # 設備名稱,如果是真機,在'設定->關于手機->設備名稱'里查看
'appPackage': 'com.youdao.calculator', # apk的包名
'appActivity': 'com.youdao.calculator.activities.MainActivity' # activity 名稱
}
self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps) # 連接Appium
self.driver.implicitly_wait(8)
def test_calculator(self, t=500, n=4):
"""計算器測驗"""
time.sleep(3)
window = self.driver.get_window_size()
x0 = window['width'] * 0.8 # 起始x坐標
x1 = window['width'] * 0.2 # 終止x坐標
y = window['height'] * 0.5 # y坐標
for i in range(n):
self.driver.swipe(x0, y, x1, y, t)
time.sleep(1)
self.driver.find_element_by_id('com.youdao.calculator:id/guide_button').click()
for i in range(6):
self.driver.find_element_by_accessibility_id('Mathbot Editor').click()
time.sleep(1)
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'
self.driver.find_element_by_xpath(btn_xpath.format(7)).click()
self.driver.find_element_by_xpath(btn_xpath.format(10)).click()
self.driver.find_element_by_xpath(btn_xpath.format(8)).click()
time.sleep(3)
# 測驗結束后執行的方法
def tearDown(self):
self.driver.quit()
創建run.py檔案
import os
import time
import unittest
from HTMLTestRunner import HTMLTestRunner
test_dir = './testcase'
discover = unittest.defaultTestLoader.discover(start_dir='./testcase', pattern="test*.py")
if __name__ == "__main__":
report_dir = './test_report'
os.makedirs(report_dir, exist_ok=True)
now = time.strftime("%Y-%m-%d %H-%M-%S")
report_name = '{0}/{1}.html'.format(report_dir, now)
with open(report_name, 'wb')as f:
runner = HTMLTestRunner(stream=f, title="測驗報告", description="本測驗報告內容包含超級計算器的簡單測驗")
runner.run(discover)
匯出測驗報告用到了HTMLTestRunner,但是Python3的好像有問題,在網上找了兩個修改后支持Python3的, 需要的話可以在本文尾部的示例專案中下載,
運行run.py檔案
等程式運行完之后即會在test_report目錄下生成測驗報告

在瀏覽器里打開即可看到報告內容,示例

到此,全部完成,希望本文能幫到初學自動化測驗的同學,如果你對軟體測驗、介面測驗、自動化測驗、面試經驗交流感興趣可以加入我們,642830685,免費領取最新軟體測驗大廠面試資料和Python自動化、介面、框架搭建學習資料!技術大牛解惑答疑,同行一起交流,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/196049.html
標籤:其他
