日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python实现自动断网_《自拍教程62》Python adb反复断网联网测试

發布時間:2023/12/14 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现自动断网_《自拍教程62》Python adb反复断网联网测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

案例故事: Android App或者系統測試過程中,涉及需要斷網異常測試(無網絡情況下,App或系統是否提示正常,運行正常),

聯網測試(網絡恢復的情況下,App或系統是否提示正常,運行正常), 目前基本上設備都具備wifi,4G兩種網絡,

需要考慮兩種網絡全部斷開, 或者兩種網絡全部連上,并需要考慮優先使用哪種網絡。

準備階段

android 自帶的svc命令,可以實現網絡管理。

adb shell svc wifi disable 可以關閉wifi

adb shell svc wifi enable 可以打開wifi

adb shell svc wifi prefer 即wifi+4G一起打開的情況下,可以優先使用wifi通訊

adb shell svc data disable 可以關閉4G數據通訊

adb shell svc data enable 可以打開4G數據通訊

adb shell svc data prefer 即wifi+4G一起打開的情況下,可以優先使用4G通訊

由于測試100次,可以考慮使用random模塊實現隨機wifi優先或者4G優先。

Python批處理腳本形式

記住批處理腳本的精髓:批量順序執行語句。

判斷字符串值是否相同,盡量多用is 及 is not, 少用== 及 !=

# coding=utf-8

import os

import time

import random

# 反復斷網聯網100次

for i in range(100):

print("正在進行第%s輪斷網 + 聯網測試" % i)

os.system("adb shell svc wifi disable")

os.system("adb shell svc data disable")

time.sleep(12) # App需要斷網后10秒之后才會彈出無網絡體現,所以建議等待12秒

os.system("adb shell svc wifi enable")

os.system("adb shell svc data enable")

perfer = random.choice(["wifi", "4G"])

if perfer is "wifi":

print("優先啟用wifi網絡")

os.system("adb shell svc wifi perfer")

else:

print("優先啟用4G網絡")

os.system("adb shell svc data perfer")

time.sleep(15) # wifi連接需要時間,4G撥號上網也需要時間,App識別網絡并進行通信也需要時間,所以建議等待15秒

os.system("pause")

Python面向過程函數形式

面向過程函數的編程思維應該是這樣的:

你需要多少個功能(函數),才能做成這個事。

最好把功能(函數)都盡量封裝好,只暴露一些的參數接口即可。

# coding=utf-8

import os

import time

import random

def enable_network():

'''同時打開wifi,4G網絡'''

os.system("adb shell svc wifi enable")

os.system("adb shell svc data enable")

def disable_network():

'''同時關閉wifi,4G網絡'''

os.system("adb shell svc wifi disable")

os.system("adb shell svc data disable")

def perfer_network(network):

'''選擇以哪種網絡優先,是wifi網絡,還是4G網絡'''

network = network.lower() # 全部轉換成小寫

if network is "wifi":

print("優先啟用wifi網絡")

os.system("adb shell svc wifi perfer")

elif network is "4g":

print("優先啟用4G網絡")

os.system("adb shell svc 4G perfer")

else:

print("只支持2種網絡,wifi或者4G")

# 反復斷網聯網100次

for i in range(100):

print("正在進行第%s輪斷網 + 聯網測試" % i)

disable_network()

time.sleep(12) # App需要斷網后10秒之后才會彈出無網絡體現,所以建議等待12秒

enable_network()

perfer = random.choice(["wifi", "4G"])

perfer_network(perfer)

time.sleep(15) # wifi連接需要時間,4G撥號上網也需要時間,App識別網絡并進行通信也需要時間,所以建議等待15秒

os.system("pause")

Python面向對象類形式

面向對象類的編程思維應該是這樣的:

如果給你一個空白的世界,在這個世界里你需要哪些種類的事物,

這些種類的事物都具備哪些共有的屬性與方法,

這些種類(類)的事物(對象),和其他種類(其他類)的事物(其他對象)有什么關系。

盡量把這些類封裝好,只暴露對外的屬性(變量)和方法(函數)即可。

# coding=utf-8

import os

import time

import random

class NetworkManger(object):

'''網絡管理器,其只需要3個方法即可'''

def __init__(self):

pass

def enable_network(self):

'''同時打開wifi,4G網絡'''

os.system("adb shell svc wifi enable")

os.system("adb shell svc data enable")

def disable_network(self):

'''同時關閉wifi,4G網絡'''

os.system("adb shell svc wifi disable")

os.system("adb shell svc data disable")

def perfer_network(self, network):

'''選擇以哪種網絡優先,是wifi網絡,還是4G網絡'''

network = network.lower() # 全部轉換成小寫

if network is "wifi":

print("優先啟用wifi網絡")

os.system("adb shell svc wifi perfer")

elif network is "4g":

print("優先啟用4G網絡")

os.system("adb shell svc 4G perfer")

else:

print("只支持2種網絡,wifi或者4G")

# 新實例化類的對象

n_obj = NetworkManger()

# 再反復斷網聯網100次

for i in range(100):

print("正在進行第%s輪斷網 + 聯網測試" % i)

n_obj.disable_network()

time.sleep(12) # App需要斷網后10秒之后才會彈出無網絡體現,所以建議等待12秒

n_obj.enable_network()

perfer = random.choice(["wifi", "4G"])

n_obj.perfer_network(perfer)

time.sleep(15) # wifi連接需要時間,4G撥號上網也需要時間,App識別網絡并進行通信也需要時間,所以建議等待15秒

os.system("pause")

運行方式

確保Android設備通過USB線與電腦連接了,adb設備有效連接,

以上代碼的3種實現形式都可以直接運行,比如保存為network_test.py并放在桌面,

打開你需要測試的App或跳轉到你需要測試的系統的某個界面下,

建議python network_test.py運行,當然也可以雙擊運行。

總結

以上是生活随笔為你收集整理的python实现自动断网_《自拍教程62》Python adb反复断网联网测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。