1. 程式人生 > >我的第一個Python+Appium指令碼之APP登入指令碼

我的第一個Python+Appium指令碼之APP登入指令碼

#coding:utf-8
from appium import webdriver
import time
import unittest
import os
import HTMLTestRunner
from selenium.webdriver.support.ui import WebDriverWait


class LoginTest(unittest.TestCase):
    def setUp(self):
        desired_caps={}
        desired_caps['platformName'] = 'Android' #Android系統 or IOS系統
desired_caps['deviceName']='D1CGAPE6C2902581' #真機或模組器名 desired_caps['platformVersion'] = '7.1.1' #Android系統版本 desired_caps['appPackage']='com.appPackage' #APP包名 desired_caps['appActivity']='com.appPackage.WelcomeActivity' #APP啟動Activity desired_caps['noReset'
]=True #每次開啟APP不開啟重置,否則每次都進入四個歡迎頁 desired_caps['resetKeyboard'] = True #隱藏鍵盤 self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) #啟動APP def test_login(self): driver = self.driver # 進入首頁後點擊我的按鈕 time.sleep(5) driver.find_element_by_id('ActivityMainTabMe'
).click() time.sleep(2) # 跳轉到登入介面清空賬號輸入框並輸入使用者名稱 driver.find_element_by_id('LoginUserED').clear() #APP有儲存使用者名稱功能 driver.find_element_by_id('LoginUserED').set_value('18888888888') # 清空密碼輸入框並輸入密碼 driver.find_element_by_id('LoginPwdED').clear() driver.find_element_by_id('LoginPwdED').set_value('123456') # 點選登入按鈕 driver.find_element_by_id('LoginBtn').click() time.sleep(5) # 我的的APP登入成功後會返回到首頁,需要再次點選我的進入個人中心頁面 driver.find_element_by_id('ActivityMainTabMe').click() # 獲取登入後的暱稱 name = driver.find_element_by_id('MeNameTv').text # 新增斷言,若暱稱不正確,則列印錯誤資訊 try: assert '黃大大' in name print('loginUser is right') except AssertionError as e: print('loginUser is Error') # 點選右上角設定,進入設定頁面 driver.find_element_by_id('MeSetting').click() # 點選退出按鈕 driver.find_element_by_id('SettingExitLoginBtn').click() # 彈出退出提示介面,點選確定 driver.find_element_by_id('android:id/button1').click() def tearDown(self): self.driver.quit() if __name__ == '__main__': #構造測試套件 suite=unittest.TestSuite() suite.addTest(LoginTest("test_login")) #按照一定格式獲取當前時間 now=time.strftime("%Y-%m-%d %H_%M_%S") ##將當前時間加入到報告檔名稱中,定義測試報告存放路徑 filename='F:\ ' + now + 'result.html' #定義測試報告 fp=open(filename,'wb') runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='測試報告',description='用例執行情況:') runner.run(suite) #關閉報告 fp.close()

指令碼自動生成的報告