两台Android S手机A、B通话过程中,A手机点击呼叫保持,观察B手机界面有"on Hold"提示,A手机取消呼叫保持,B手机通话界面“on Hold”提示语不消失,请教各个这是什么原因。从log上看,是A手机没有收到网络的retrieve消息。
是网络电话么?还是?
不知道你这个问题是否已经解决, 如果还没有解决的话:页面滑动有“惯性”机制,会根据按下、抬起的位置以及总的时间,滚动不一样的距离
两种滚动方式:
# 1.滚动,根据当前手机分辨率确定坐标
driver.swipe(start_x=270, start_y=640, end_x=270, end_y=320)
# 2.按元素定位要滑动到的相对位置
el1 = driver.find_element(by=By.XPATH, value="//*[@text='通知']")
el2 = driver.find_element(by=By.XPATH, value="//*[@text='WLAN']")
driver.scroll(el1, el2)
法1若想对不同型号手机均适用,可加如下代码:
# 滚动,根据当前手机分辨率确定坐标
# 获取当前屏幕的分辨率
size=driver.get_window_size()
print(size)
width=size['width']
height=size['height']
driver.swipe(start_x=width/2, start_y=height/3*2, end_x=width/2, end_y=height/3)
el1 = driver.find_element(by=AppiumBy.XPATH, value="//*[@text='通知']")
el2 = driver.find_element(by=AppiumBy.XPATH, value="//*[@text='WLAN']")
# 1拖拽到2
driver.drag_and_drop(el1, el2)
# “哔哩哔哩”拖拽到“豆瓣”处
el1 = driver.find_element(by=AppiumBy.XPATH, value="//*[@text='哔哩哔哩']")
el2 = driver.find_element(by=AppiumBy.XPATH, value="//*[@text='豆瓣']")
action = ActionChains(driver)
action.w3c_actions.pointer_action.click_and_hold(el1).pause(2).move_to(el2)
action.w3c_actions.pointer_action.release()
action.perform()
time.sleep(3)
action = ActionChains(driver)
# 按下再抬起
action.w3c_actions.pointer_action.click_and_hold(el1)
action.w3c_actions.pointer_action.release()
# 执行
action.perform()
action = ActionChains(driver)
# 长按(2s)
action.w3c_actions.pointer_action.click_and_hold(el1).pause(2)
action.w3c_actions.pointer_action.release()
# 执行
action.perform()
# 长按两秒,移动到el2
action.w3c_actions.pointer_action.click_and_hold(el1).pause(2).move_to(el2)