请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于Hybrid的3个问题。windows+python3+appium+android6.0

第一个问题:

我的apk属于混合型,原生的+H5。

写脚本的时候,hybrid比native多一行:desired_caps['automationName'] = 'Selendroid'。这句话如果在unittest框架中,会对native产生什么影响吗?还是写了也无妨,程序自己判断?native不是默认是appium么。(我现在还未使用框架)

第二个问题:

在appium-server的android setting中设置两个位置:一个是application path,一个是automation name。设置后,会将原有安装的app卸载,并在pc路径下的apk进行重签名,然后再次全新安装到手机上。这个过程,等于卸载app然后全新安装。我要写的一个功能是在登录后进行操作的,但是每次运行脚本都全新安装,除非我加上登录的脚本,否则就报错,请问,这块有什么解决办法?

第三个问题:

按照教学中以下代码:

print(driver.contexts)
#driver.switch_to.context('WEBVIEW_0')
print(driver.current_context)
sleep(5)

配置好appium后,显示结果为

['NATIVE_APP']

NATIVE_APP

但是和开发确认,该页面确实为H5页面,同时给了我一个url就是这个H5的。使用uiautomator也显示是webview类型。所以想问下,为什么未打印显示出webview?我这个页面到底是按照H5处理,还是按照native处理?

感谢您的回答!

正在回答 回答被采纳积分+3

1回答

毫末 2017-06-02 15:49:31

第一个问题,测试混合型的需要使用混合型的驱动selendroid,课程里解释过。
第二个,混合型需要进行重新签名,卸载安装,是因为之前装的非签名包。登录问题,只能重装后,写脚本完成登录。
第三个问题,我也无法解释了。官网教程就是这样解释的。具体原因,我也不清楚。只能google或者百度了

0 回复 有任何疑惑可以回复我~
  • 提问者 慕码人8321980 #1
    1、安卓4+的是不是不用selendroid驱动了?
    2、是不是有个no reset的东西?
    3、需要开发开启webview模式
    回复 有任何疑惑可以回复我~ 2017-06-04 15:15:05
  • 毫末 回复 提问者 慕码人8321980 #2
    1. android5,6可以使用uiautomator驱动完成webview的测试。好像只能使用xpath来定位,没有selendroid下灵活。在android5上试过,使用selendroid是可以的。
    2. no reset解决的是每次测试时,如果已经安装了相同测试包,不需要卸载。如果包有更新,同样会卸载重装。3. 你说的可能是对的。这个我还真的没研究过。android的版本太多,小的影响因素也非常多,只能具体问题具体分析。
    回复 有任何疑惑可以回复我~ 2017-06-05 10:33:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信