appium+python自動化代碼

# coding=utf-8

from appium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
import time
import pytest
import allure


desired_caps = {
    "platformName": "Android",
    # 安卓-版本
    "platformVersion": "12.0.0",
    "deviceName": "M2012K11C",
    # 設備名稱
    "appPackage": "com.juanvision.EseeNetProj",
    # app包名
    "appActivity": "com.juanvision.modulelogin.activity.SplashActivity",
    # cmd查看獲取 啓動包
    "noReset": True
    # 不清緩存,登錄
    }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
wait=WebDriverWait(driver,30)


@allure.feature('設備進入設備預覽')  # feature定義功能
@pytest.mark.repeat(50)




class Test_set():

  def test_1(self):
    var=1
    ifshebei=False
    while var==1 :
            time.sleep(2)
            try:
                driver.find_element_by_xpath(
                "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.FrameLayout/androidx.viewpager.widget.ViewPager/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout[1]/android.widget.ImageView")
                print("True")
                ifshebei = True

            except:
                print("False")
            if ifshebei==True:
                print("app成功使用!")
                # com.juanvision.EseeNetProj:id/dev_rb
                break
            else:
                print("重啓app失敗,繼續重")
                driver.start_activity("com.juanvision.EseeNetProj","com.juanvision.modulelogin.activity.SplashActivity")

    try:
            # textvalue = driver.find_element_by_xpath(
            #  "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.FrameLayout/androidx.viewpager.widget.ViewPager/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout[1]/android.widget.ImageView").text
            # print("---------------" + textvalue + "---------------")
            el1 = driver.find_element_by_xpath(
                "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.FrameLayout/androidx.viewpager.widget.ViewPager/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout[1]/android.widget.ImageView")
            el1.click()
            # allure.attach(driver.get_screenshot_as_png(), "成功截圖", allure.attachment_type.PNG)
            # wait.until(lambda x: x.find_element_by_id("com.juanvision.EseeNetProj:id/item_play_iv")).click()#播放
            time.sleep(3)
            wait.until(lambda x: x.find_element_by_id("com.juanvision.EseeNetProj:id/title_back_iv")).click()#返回
    except:
            time.sleep(3)
            allure.attach(driver.get_screenshot_as_png(), "運行失敗截圖", allure.attachment_type.PNG)

            assert False




        # 超時時間爲30s,每隔1秒搜索一次元素是否存在,如果元素存在返回定位對象並退出
        #time.sleep(2)
        #driver.tap([(761,372)])
        #wait.until(lambda x: x.find_element_by_id("com.juanvision.EseeNetProj:id/common_title_back_fl")).click()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章