1. 程式人生 > >Appium元素定——xpath定位(交易寶)

Appium元素定——xpath定位(交易寶)

Jiaoyibao_capability1_.py 備註:由於交易寶登入時與kyb不同,這是裡是跳過了跳過,首頁的個人頭像,彈出的更新軟體包提示,切換密碼登入按鈕!

from appium import webdriver    #匯入appium包
from selenium.common.exceptions import NoSuchElementException

desired_caps={}     #定義一個字典,用來儲存capablity的相關資訊
desired_caps['platformName']='Android'      #裝置平臺的名稱
desired_caps['deviceName']='127.0.0.1:62025'        #裝置名稱
desired_caps['platforVersion']='5.1.1'      #裝置的版本號


desired_caps['app']=r'C:\Users\bella\Desktop\20180922\jiaoyibao.apk'        #獲取包路徑
desired_caps['appPackage']='com.konsonsmx.iqdii'        #獲取包名
desired_caps['appActivity']='com.konsonsmx.market.module.base.ui.FlashADActivity'   #獲取activity啟動

desired_caps['noReset']='true'  #模擬使用者非首次啟動
desired_caps['unicodeKeyboard']="true"  #登入用了中文,程式碼要做配置
desired_caps['resetKeyboard']="true"    #重置鍵盤也要設定為true

driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)    #啟動服務
driver.implicitly_wait(2)   #啟動後等待2秒

def check_skipBtn():
    print("check_skipBtn:檢查是否有跳過這個按鈕")
    try:
        skipBtn = driver.find_element_by_id('com.konsonsmx.iqdii:id/tvCountDown')
    except NoSuchElementException:
        print('no skipBtn:沒有跳過這個按鈕')  #當沒有這個元素就打印出no cancelBtn
    else:
        skipBtn.click()  #存在這個元素就去點選

def check_loginBtn():
    print("check_loginBtn:檢查是否有個人頭像這個按鈕")
    try:
        loginBtn = driver.find_element_by_id('com.konsonsmx.iqdii:id/ib_title_left')
    except NoSuchElementException:
        print('no loginBtn:沒有個人頭像這個按鈕')  #當沒有這個元素就打印出no cancelBtn
    else:
        loginBtn.click()  #存在這個元素就去點選

def check_updateBtn():
    print('check_updatBtn:檢查是否有新包的更新')
    try:
        updateBtn=driver.find_element_by_id('com.konsonsmx.iqdii:id/ll_updatesure')
    except NoSuchElementException:
        print('no updatBtn:沒有新包的更新這個按鈕')
    else:
        updateBtn.click()

def check_passwordBtn():
    print('check_passwordBtn:檢查是否有密碼登入這個按鈕')
    try:
        passwordBtn=driver.find_element_by_id('com.konsonsmx.iqdii:id/tvMMDL')
    except NoSuchElementException:
        print('no passwowrdBtn:沒有密碼登入這個按鈕')
    else:
        passwordBtn.click()

check_skipBtn()
check_loginBtn()
check_updateBtn()
check_passwordBtn()

Jiaoyibao_by_xpath.py

from jiaoyibao.jiaoyibao_capability1 import driver

driver.find_element_by_xpath('//android.widget.EditText[@text="請輸入使用者名稱或手機號碼登入"]').send_keys('suwen20')#使用者名稱
driver.find_element_by_xpath('//*[@class="android.widget.EditText" and @index="0"]').send_keys('123456') #得到密碼,有兩個屬性class和index
driver.find_element_by_xpath('//android.widget.Button').click()#登入按鈕

元素獲取 在這裡插入圖片描述