python+appium例子

from appium import webdriver
import datetime
import os
#模拟app,实现下棋,截图保存,apk地址https://github.com/Hesh233/java-demo/blob/master/Buttontest02/app/app-release.apk
def appinumTest():
    #设置手机设备信息
    desired_caps = {}
    desired_caps['platformName']='Android' #系统平台
    desired_caps['deviceName']='127.0.0.1:62001' #移动设备名称
    desired_caps['platformVersion']='5.1.1' #系统版本
    desired_caps['appPackage']='com.example.administrator.AndroidWZQ' #app包名
    desired_caps['appActivity']='Main2Activity' #app活动的活动名称
    desired_caps['app']=r'E:\git\java-demo\Buttontest02\app\app-release.apk' #应用程序的包
    #desired_caps['noReset']='True'  #不要停止应用程序,不要清除应用程序数据,也不要卸载apk
    driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
    driver.implicitly_wait(2)  # 等待2秒
    driver.find_element_by_id('com.example.administrator.AndroidWZQ:id/btn1').click() #点击事件
    #xpath有点长,有id尽量用id
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[1]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.Button').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.support.v7.widget.LinearLayoutCompat/android.widget.FrameLayout/android.widget.ListView/android.widget.TextView[1]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[2]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[31]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[3]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[41]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[4]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[51]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[5]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[61]').click()
    driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.ImageButton[6]').click()
    takeScreenShot(driver) 
#带日期截图函数
def takeScreenShot(driver,name = "ScreenShot"):
        '''
        method explain:获取当前屏幕的截图
        parameter explain:【name】 截图的名称
        Usage:
            device.take_screenShot(u"个人主页")   #实际截图保存的结果为:2019-01-13_17_10_58_ScreenShot.png
        '''
        day = datetime.datetime.now().strftime("%Y-%m-%d")
        fq = "screenShots\\"+day  
        #fq =os.getcwd()[:-4] +'screenShots\\'+day    根据获取的路径,然后截取路径保存到自己想存放的目录下
        tm = datetime.datetime.now().strftime("%Y-%m-%d_%H_%M_%S")
        type = '.png'
        filename = ""
        if os.path.exists(fq):
            filename = fq+"\\"+tm+"_"+name+type
            print(filename+"exists")
        else:
            os.makedirs(fq)
            filename = fq+"\\"+tm+"_"+name+type
            print(filename+"else")
         #实际截图api
        driver.get_screenshot_as_file(filename)
if __name__=='__main__':
    appinumTest()

 

你可能感兴趣的:(测试,appium,python)