前天换了个苹果5s手机,来跑H2O的业务脚本,执行过程中就发现脚本报错,有2类错误:
1.定位时没有id或者value元素的,如//XCUIElementTypeApplication[1]/XCUIElementTypeWindow[1]/XCUIElementTypeOther[1]/XCUIElementTypeOther[1]/XCUIElementTypeOther[2]/XCUIElementTypeOther[1]/XCUIElementTypeTextField[1]。
好吧,那用苹果6录制取值,发现录制出来的是//XCUIElementTypeApplication[1]/XCUIElementTypeWindow[3]/XCUIElementTypeOther[1]/XCUIElementTypeOther[1]/XCUIElementTypeOther[2]/XCUIElementTypeOther[1]/XCUIElementTypeTextField[1]。
执行OK,发现是苹果5s和苹果6设备定位时window层名不同。
解决办法,增加区分设备的步骤,并复制用例,继续执行脚本。
2.一样的ios版本,苹果5s和苹果6
5s手机在KOL计划和音频服务详情业务又出现了找不到元素//*[@name=‘icon_Kol_more’ and @visible=‘true’],好的,进入调试模式,发现5s手机拿不到banner区域重叠的扩展按钮,定位失败。
再用苹果6进入调试,元素可以定位且脚本可以执行,网上找了资料,无奈未找到原因,猜测是5s的插件不支持。
临时解决,在5s上跳过KOL计划和音频服务的退出用例,用6跑全程。