driver.mobile.set_network_connection(driver.mobile.AIRPLANE_MODE)在Android异常上不支持操作

时间:2017-03-30 11:04:04

标签: python selenium mobile selenium-webdriver webdriver

我正在使用appium和python selenium webdriver执行脚本。我有一个场景,我需要在真正的Android设备上打开飞机模式。我用过 我的脚本中driver.mobile.set_network_connection(driver.mobile.AIRPLANE_MODE)。但它显示了一些“Android上不支持操作”的消息。

是否有其他方法可以完成上述操作..?

详细说明:

司机:Webdriver
Appium:1.4.16。
设备操作系统:4.4.4
用Python编写脚本。

1 个答案:

答案 0 :(得分:0)

我们通过自动执行启用飞行模式的步骤,即将代码写入打开菜单并单击飞行模式按钮来实现此目的。

以下是相同的代码段。

public void enableAirplaneMode(AndroidDriver driver) 
    {
        driver.swipe(350, 10, 350, 700, 1000);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        driver.swipe(350, 10, 350, 700, 1000);
        WebDriverWait wait = new WebDriverWait(driver, 50);

        wait.until(ExpectedConditions.visibilityOfElementLocated(MobileBy.AccessibilityId("Airplane mode")));
        String AirplaneMode=driver.findElement(MobileBy.AccessibilityId("Airplane mode")).getText();
        if (AirplaneMode.equals("Off"))
        {
        driver.findElement(MobileBy.AccessibilityId("Airplane mode")).click();
        }

        driver.swipe(350, 800, 350, 10, 1000);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        driver.swipe(350, 800, 350, 10, 1000);
    }

希望这有帮助。