混合app自动化

混合apk文件

链接:https://pan.baidu.com/s/1VDF8Mc8h0rYe1vljFk_TQw
提取码:i7h6
复制这段内容后打开百度网盘手机App,操作更方便哦

from appium import webdriver

caps={
    #1.测试设备信息
    'platformName':'Android',
    'platformVersion':'8', #安卓操作系统版本号-整数即可
    'deviceName':'testdevices', #可以用填写正确的设备名,但是此配置项必须要有
    #2.被测app信息 1-包名  2-入口信息
    #adb shell dumpsys activity recents | findstr intent={  #大于6.0
    #com.example.haiwen.myhybirdapp/.MainActivity
    'appActivity': '.MainActivity',
    'appPackage': 'com.example.haiwen.myhybirdapp',
    # 额外配置-保证自动化的稳定运行
    'noReset': True,
    'newCommandTimeout': 3600,
    'automationName':'UIAutomator2', #appium1.15之前默认用UI1,之后默认UI2
    #appium默认使用appium安装文件中自带的webdriver,所以需要指定合适的版本
    #此时需要指定匹配webview版本的驱动--可以再设置中搜索webview查看其版本
    'chromedriverExecutableDir':r'D:\tools\chromedriver_81',  #这里填写的是驱动所在的目录
    #'chromedriverExecutable':r'D:\tools\chromedriver_81\chromedriver.exe',  #这里填写的是驱动所在的路径
    #以上两种配置项  二选1即可
}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',caps)
driver.implicitly_wait(10)
#-------控制原生控件---------
#输入豆瓣网址
driver.find_element_by_id('com.example.haiwen.myhybirdapp:id/editText').send_keys('https://m.douban.com/home_guide')
#点击enter
driver.find_element_by_id('com.example.haiwen.myhybirdapp:id/button').click()


#-------控制webview部分-----------
#查看当前所在的context
print(driver.current_context)
#查看所有的contexts
print(driver.contexts)

#如果以html控件形式自动化webview需要切到webview对应的context
#切换webview成功的前提
#1.被测app开启webview debug模式----从app市场安装的不具备此条件
#2.需要选择符合该操作系统当前webiew版本的chromedriver
driver.switch_to.context('WEBVIEW_com.example.haiwen.myhybirdapp')

print(driver.current_context)

#以网页形式自动化

#搜索电影名称
driver.find_element_by_css_selector('[class="search-input"]').send_keys('肖申克的救赎\n')

#查看评分
rate=driver.find_element_by_css_selector('.search-results>li:nth-child(2) li:nth-child(1)  .rating-stars+span').text

print(f'电影评分是:{rate}')

#如果要切换原生界面?
driver.switch_to.context('NATIVE_APP')

print(f'当前context:{driver.current_context}')
#处于NATIVE_APP时,元素定位技术只能用app支持的

# driver.quit()
posted @ 2021-03-21 16:58  太白之魔童降世  阅读(84)  评论(0)    收藏  举报