zoukankan      html  css  js  c++  java
  • APP——自动化——python——设置网络模式

    # 计算器:     C:Usersdel>adb shell dumpsys window w |findstr / |findstr name=
    #              mSurface=Surface(name=com.youba.calculate/com.youba.calculate.MainActivity)            #adb命令查看包名和启动activity
    
    #com.youba.calculate:id/btn_plus  +
    #com.youba.calculate:id/btn_equal  =
    
    
    #凤凰网:   C:Usersdel>adb shell dumpsys window w |findstr / |findstr name=
    #           mSurface=Surface(name=com.ifext.news/com.ifeng.news2.activity.IfengTabMainActivity)
    
    
    #baidu :C:Usersdel>adb shell dumpsys window w |findstr / |findstr name=
    #      mSurface=Surface(name=com.baidu.searchbox/com.baidu.searchbox.MainActivity)
    
    import time
    from appium import webdriver
    
    desired_caps = {
        'platformName': 'Android',             #待测试手机的系统
        'deviceName':'57X0217421001470',     #使用手机或模拟器的类型
        'platformVersion': '9.0.0',                         #待测手机系统版本 安卓版本
         "unicodeKeyboard":"true",   #支持中文输入,会自动安装unicode输入法,默认是false
         "resetKeyboard":"true",    #如果设置了中文输入为true,此设置为自动化退出后,重置输入法到原来状态
        "autoGrantPermissions":"true",   #获取所有权限
        'app': 'C:\Users\del\Desktop\b\jsq.apk',         #手机未按照待测app时,设置安装路径、包名、启动activity
        'appPackage': 'com.youba.calculate',
        'appActivity': 'com.youba.calculate.MainActivity',
    }
    
    
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    time.sleep(5)
    
    print(driver.network_connection)  # 显示6            6:网络全开          wife  流量都开
    
    time.sleep(10)
    
    
    print('#---------------------------------------------------------1')
    
    driver.set_network_connection(1)
    
    time.sleep(10)
    
    print(driver.network_connection)        #显示1        1:飞行模式
    
    
    print('#---------------------------------------------------------2')
    
    time.sleep(10)
    
    
    driver.set_network_connection(2)
    
    time.sleep(10)
    
    print(driver.network_connection)         # 显示2          2:开wifi
    
    
    print('#---------------------------------------------------------3')
    
    
    time.sleep(10)
    
    driver.set_network_connection(4)
    
    time.sleep(10)
    
    print(driver.network_connection)           #    显示4            4:开流量
    
    print('#---------------------------------------------------------4')
    
    
    
    time.sleep(10)
    
    driver.set_network_connection(0)
    
    time.sleep(10)
    
    print(driver.network_connection)       # 显示为0            没wife  没网络  没流量
    
    print('#---------------------------------------------------------5')
    
    time.sleep(10)
    
    driver.quit()

    执行结果:

    6
    #---------------------------------------------------------1
    1
    #---------------------------------------------------------2
    4
    #---------------------------------------------------------3
    0
    #---------------------------------------------------------4
    0
    #---------------------------------------------------------5

     ===================================================================================

    2、获取当前activity 

    driver.currentActivity();


    3、获取当前网络状态

    driver.getConnection().name();


    4、设置网络

    driver.setConnection(Connection.ALL);//wifi和流量都打开
    driver.setConnection(Connection.DATA);//移动流量模式driver.setConnection(Connection.WIFI);//wifi模式
    driver.setConnection(Connection.NONE);//关闭所有
    driver.setConnection(Connection.AIRPLANE);//飞行模式

    ====================================================================================

    参考网址:https://blog.csdn.net/E_I_F/article/details/105386227

    #获取当前网络关启状态 driver.network_connection

    #返回数字 1:飞行模式 2:只开wifi 4:只开流量 6:网络全开

    #设置网络网络关启状态 driver.set_network_connection(connection_type)

    网络关起状态对应表

    from appium.webdriver.connectiontype import ConnectionType
    driver.set_network_connection(ConnectionType.AIRPLANE_MODE)

    import time
    from appium import webdriver
    from appium.webdriver.connectiontype import ConnectionType
    
    desired_caps = {
        'platformName': 'Android',             #待测试手机的系统
        'deviceName':'57X0217421001470',     #使用手机或模拟器的类型
        'platformVersion': '9.0.0',                         #待测手机系统版本 安卓版本
         "unicodeKeyboard":"true",   #支持中文输入,会自动安装unicode输入法,默认是false
         "resetKeyboard":"true",    #如果设置了中文输入为true,此设置为自动化退出后,重置输入法到原来状态
        "autoGrantPermissions":"true",   #获取所有权限
        'app': 'C:\Users\del\Desktop\b\jsq.apk',         #手机未按照待测app时,设置安装路径、包名、启动activity
        'appPackage': 'com.youba.calculate',
        'appActivity': 'com.youba.calculate.MainActivity',
    }
    
    
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    time.sleep(5)
    
    print(driver.network_connection)  # 显示6            6:网络全开          wife  流量都开
    
    time.sleep(10)
    
    
    print('#---------------------------------------------------------1')
    
    driver.set_network_connection(1)
    
    time.sleep(10)
    
    print(driver.network_connection)        #显示1        1:飞行模式
    
    
    print('#---------------------------------------------------------2')
    
    time.sleep(10)
    
    
    driver.set_network_connection(2)
    
    time.sleep(10)
    
    print(driver.network_connection)         # 显示2          2:开wifi
    
    
    print('#---------------------------------------------------------3')
    
    
    time.sleep(10)
    
    driver.set_network_connection(4)
    
    time.sleep(10)
    
    print(driver.network_connection)           #    显示4            4:开流量
    
    print('#---------------------------------------------------------4')
    
    
    
    time.sleep(10)
    
    driver.set_network_connection(0)
    
    time.sleep(10)
    
    print(driver.network_connection)       # 显示为0            没wife  没网络  没流量
    
    print('#---------------------------------------------------------5')
    
    time.sleep(10)
    driver.set_network_connection(ConnectionType.AIRPLANE_MODE)
    driver.quit()
  • 相关阅读:
    利用后退按钮进行重复提交的解决办法。
    运用上传拦截器时遇到的一个问题
    Fckeditor上传图片的错误
    关于分页的一些经验。
    spring在web工程中的运用
    引入js失败的可能原因
    hql执行update行为时可能遇到的一个问题。
    Eclipse下freemarker插件的安装
    同名文本框与同名复选框在传值上的不同.
    spring在java工程中的运用
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/13194949.html
Copyright © 2011-2022 走看看