解决了一个顽疾啊,有时间自己试试。
还有一个问题,想问下,用 python 的 os 安装包的时候,adb 每执行一次,感觉下次执行还是需要初始化,之前用 airtest 的时候,多次调用单个的 adb 命令会出问题
比如说我清除包的数据(模拟了次卸包重装),做了一件事,之后再掉接口去安装一个渠道包,这个时候它就超时了,看后台一堆 5037 的进程,
想问问有什么办法能像在命令台一样,只要连接没断开,下次可以直接执行 adb 命令呢
import random
ruledict = {"1":"2,4",
"2":"1,3,5",
"3":"2,6",
"4":"1,5,7",
"5":"2,4,6,8",
"6":"3,5,9",
"7":"4,8",
"8":"5,7,9",
"9":"6,8"
}
def get_number_from_ruledict(n):
# -1 value error
# -2 type error
if type(n) == int :
if n>=1 and n <= 9:
pass
else:
return -1
else:
return -2
#str to int
the_number_dict_int = {}
the_number_str = ruledict[str(n)]
the_number_dict_str = the_number_str.split(',')
length = len(the_number_dict_str)
for i in range (length):
the_number_dict_int[i]=the_number_dict_str[i]
result = the_number_dict_int[random.randint(0,length-1)]
return int(result)
def randx(n):
# -1 value error
# -2 type error
if type(n) == int :
if n>=1 and n <= 9:
pass
else:
return -1
else:
return -2
#keep the sequence
number_sequence = []
the_last_number=random.randint(1,9)
number_sequence.append(the_last_number)
for i in range(n-1):
next_number = get_number_from_ruledict(the_last_number)
#check
while( next_number in number_sequence):
next_number = get_number_from_ruledict(the_last_number)
number_sequence.append(next_number)
#update
the_last_number = next_number
return number_sequence
randx(9)
想的很简单,没有遍历,如果有其他需求,再更改,在这套设计里,1,5,9 是不相邻的,有点像华容道小游戏的那样,规定为十字相邻
那又不告诉实现逻辑,又不告诉侧重点,这种问题怎么回答?
好的,thanks,有时间试试 gopacket 库的处理
这种都是模块内的实现逻辑吧,不同实现会有不同的确认方式,这么撒网,眼子太大,搂不到东西
能细节讲下对包数据的处理么?这种是明文包吧?如果是自定义编码方式的数据包,那在交换机抓取的时候,同时做解包,对这个架构有影响么?
unittest 随便搜 “用例顺序”,