地图放大缩小无效

练习使用W3C action操作元素,使用了搜到的代码:`
size_dict = self.driver.get_window_size()

    # ==========放大地图:从地图中心分别向对角线滑动放大 - 2个手指同时执行滑动操作  ==================
    actions = ActionChains(self.driver)
    # 输入源设备列表为空
    actions.w3c_actions.devices = []

    # ========== 第1个手指:从正中心向右上角滑动  ==================
    # 添加一个新的输入源到设备到中,输入源类型为Touch,id为finger0
    new_input = actions.w3c_actions.add_pointer_input('touch', 'finger0')
    # 输入源的动作:移动到某个点,按下,移动到另外一点,释放
    new_input.create_pointer_move(x=size_dict["width"] * 0.5, y=size_dict["height"] * 0.5)
    new_input.create_pointer_down()
    # new_input.create_pointer_down(MouseButton.LEFT)
    new_input.create_pause(1)  # 200ms
    new_input.create_pointer_move(x=size_dict["width"] * 0.9, y=size_dict["height"] * 0.1)
    new_input.create_pointer_up(MouseButton.LEFT)

    # ========== 第2个手指:从正中心向左下角滑动  ==================
    # 添加一个新的输入源到设备到中,输入源类型为Touch。id为finger1
    new_input = actions.w3c_actions.add_pointer_input('touch', 'finger1')
    # 输入源的动作:移动到某个点,按下,移动到另外一点,释放
    new_input.create_pointer_move(x=size_dict["width"] * 0.5, y=size_dict["height"] * 0.5)
    new_input.create_pointer_down()
    # new_input.create_pointer_down(MouseButton.LEFT)
    new_input.create_pause(1)  # 200ms
    new_input.create_pointer_move(x=size_dict["width"] * 0.1, y=size_dict["height"] * 0.9)
    new_input.create_pointer_up(MouseButton.LEFT)

    # 执行动作
    actions.perform()`

发现地图比例尺没变,有滑动的痕迹,这是怎么回事

地址:新鲜出炉:appium2.0+ 单点触控和多点触控新的解决方案

发下网站吧

老师,网站已发,帮看看哪里有问题哈

我意思是你在哪个网站做的测试,发下这个网站的地址

我是用我们公司的APP测试的。

放大功能代码参考如下:

    def test_zoom(self):
        actions = ActionChains(self.driver)
        actions.w3c_actions.devices=[]
        finger1 = actions.w3c_actions.add_pointer_input('touch','finger1')
        finger2 = actions.w3c_actions.add_pointer_input('touch','finger2')

        width = self.driver.get_window_size()['width']
        height = self.driver.get_window_size()['height']
        # 移动到屏幕正中间
        finger1.create_pointer_move(x=width*0.5,y=height*0.5)
        finger2.create_pointer_move(x=width*0.5,y=height*0.5)
        # 按下
        finger1.create_pointer_down()
        finger2.create_pointer_down()
        # 两个手指移动
        finger1.create_pointer_move(x=width * 0.5, y=height * 0.9)
        finger2.create_pointer_move(x=width * 0.5, y=height * 0.1)
        # 松开
        finger1.create_pointer_up(MouseButton.LEFT)
        finger2.create_pointer_up(MouseButton.LEFT)

        actions.perform()

缩小功能类似 ,代码可以使用放大功能的代码,只是两个手指先移动到屏幕两端,往中间缩,整个移动的过程相反。

我下载了你说的那个app, 我看还需要绑定设备,我这边不知道怎么操作,你可以截几张图说一下具体流程,和测试步骤

我用 MultiAction 实现了放大,但这个方法即将被弃用, 新方法你这个应用确实没生效,我在图片上试是有放大效果的,你可以先用这种方法解决

   def test_zoom1(self):
        action1 = TouchAction(self.driver)
        action2 = TouchAction(self.driver)
        zoom_action = MultiAction(self.driver)
        l = self.get_size()
        x1 = l[0]*0.5
        y1 = l[1]*0.2
        y2 = l[1]*0.4
        y3 = l[1]*0.6
        y4 = l[1]*0.8
        # x轴不变,从y2 y3 放大到y1 y4
        action1.press(x=x1,y=y2).wait(1000).move_to(x=x1,y=y1).wait(1000).release()
        action2.press(x=x1,y=y3).wait(1000).move_to(x=x1,y=y4).wait(1000).release()
        zoom_action.add(action1,action2)
        zoom_action.perform()