1. 程式人生 > >APPIUM+Python 簡單的自動化測試DEMO

APPIUM+Python 簡單的自動化測試DEMO

一、下載Appium
http://appium.io/
我安裝的是1.6.3
二、下載Python
我安裝的是2.7
三、java環境和Android環境我之前就已經安裝存在
四、下載PyCharm–(Python的程式設計工具)
以上四步均是下載方面的內容。
五、開始測試
5.1、在用Python寫指令碼之前,我們還需要開啟uiautomatorviewer.bat,他的路徑是:
(C:\Users\xxx\AppData\Local\Android\Sdk\tools\bin)
點選左上角的手機圖示,選擇手機型號,就可以去獲取手機的介面內容,如下圖
這裡寫圖片描述

可以看到右下角有resource-id、class、package、content-desc、bounds等,這些值都是定位用的,之後寫python程式碼的時候有用到。
5.2、開啟Appium (Appium可以理解為伺服器,python程式碼就是要把真機或者模擬器與Appium連線)
5.3、簡單的Python測試用例
開啟PyCharm

import os
import unittest
import time
from appium import webdriver

PATH = lambda p: os.path.abspath(
    os.path.join(os.path.dirname(__file__), p)
)

class ContactsAndroidTests(unittest.TestCase):
    def setUp(self):
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        #測試機的版本
desired_caps['platformVersion'] = '8.0.0' # desired_caps['deviceName'] = 'Android Emulator' #測試機的型號 desired_caps['deviceName'] = 'Samsung SM-G9500' # apk的絕對路徑 desired_caps['app'] = PATH( 'F:/Program/TestAPP/AutoTest/xxx.apk' ) #包名 desired_caps['appPackage'
] = 'com.xxx' #啟動WelcomeActivity desired_caps['appActivity'] = 'com.xxx.WelcomeActivity' print("連線中...") #連線Appium self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) print("連線完成!") time.sleep(5) def tearDown(self): self.driver.quit() def test_add_contacts(self): # "com.xxx:id/user_experience" 這個就是用uiautomatorviewer定位到的 el = self.driver.find_element_by_id("com.xxx:id/user_experience") el.click() time.sleep(5) self.driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button").click() time.sleep(2) self.driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button").click() time.sleep(2) self.driver.find_element_by_name("一樓").click(); alert = self.driver.switch_to_alert() if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromTestCase(ContactsAndroidTests) unittest.TextTestRunner(verbosity=2).run(suite)

程式碼中可能會引用

import selenium
import time
from appium import webdriver

像selenium、webdriver等,可以通過pycharm自動下載。

初次接觸,很多方法都不懂,之後會繼續更新,直到寫一個完整的app自動化測試用例。
引入一篇部落格:講 find_element_by_id 等的用法 https://www.cnblogs.com/miniren/p/7365885.html