最近搞 hybrid 应用的脚本,搞了很长时间。。。。还是没搞完全,但是怎么获得 native 跟 webview 的值,我是会了。。。测试机型 4.4.4,大家可以看看,然后试试,给我反馈。。。然后如果有切换到 webview 后能顺利操作的同学给我看看你们的代码。。。我实在是搞得头痛了~资料比较少~

#coding:utf-8
from appium import webdriver
from time import sleep

desired_caps = {}
#desired_caps['automationName'] = 'selendroid'
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4'
desired_caps['deviceName'] = '192.168.56.101:5555'
#desired_caps['app'] = 'Calculator.apk'
desired_caps['appPackage'] = 'com.travelsky.bluesky'
desired_caps['appActivity'] = '.UIView'

dr = webdriver.Remote('http://192.168.10.59:4723/wd/hub', desired_caps)

sleep(3)
dr.implicitly_wait(10)
#获取contexts,打印出来查看
a=dr.contexts
print (a)
dr.implicitly_wait(10)
#dr.switch_to_window("WEBVIEW_com.travelsky.bluesky");
dr.switch_to.context("WEBVIEW_com.travelsky.bluesky")
#脚本进行到这一步,我不清楚什么问题,还是请大神帮我看看~
'''code=self.dr.find_element_by_id("serviceCode")
code.clear()
code.send_keys("test")'''
sleep(3)
dr.close_app()
dr.quit()

看看我的截图吧:

划红的地方就是我们获取的 contexts 了,包含了 native 跟 webview。

另外怎么切,还有问题,最好大神好心帮我看看。。。


↙↙↙阅读原文可查看相关链接,并与作者交流