感觉面试官想考察的是应聘者的总结、表达能力。确实有遇到过做了两三年的项目,却说不出项目是在做什么,或者条理说的很乱的应聘者。
可以使用 jmeter 或者 loadrunner 录制一下相关的接口,简单压测一下。
觉得挺有意思的题目,写不了一楼大神的代码,只能用最笨的做法来写:
根据题干定义好 question1-10。用穷举法 组合出 10 道题的答案组合,然后对每个穷举的组合,和通过题干计算的答案组合是否匹配。
跑一下脚本,结果是第 80009 种组合是正确答案: ['B', 'C', 'A', 'C', 'A', 'C', 'D', 'A', 'B', 'A'] 。答案与一楼大神的结果一致。
def question1():
return newanswerList[0]
def question2():
if newanswerList[4]=='A':
return 'C'
elif newanswerList[4]=='B':
return 'D'
elif newanswerList[4]=='C':
return 'A'
elif newanswerList[4]=='D':
return 'B'
def question3():
list3 = [newanswerList[2],newanswerList[5],newanswerList[1],newanswerList[3]]
answerList = ['A','B','C','D']
i = 0
j = 1
contin = 1
while (4-i) and (3-j) and contin:
if list3[i]==list3[j]:
i +=1
j +=1
elif list3[i]==list3[i+2]:
return answerList[i+1]
else:
return answerList[i]
def question4():
list4 = [newanswerList[0]==newanswerList[4],newanswerList[1]==newanswerList[6],newanswerList[0]==newanswerList[8],newanswerList[5]==newanswerList[9]]
answerList = ['A','B','C','D']
for i in range(4):
if list4[i]:
return answerList[i]
break
def question5():
list5 = [newanswerList[7],newanswerList[3],newanswerList[8],newanswerList[6]]
answerList = ['A','B','C','D']
for i in range(4):
if list5[i]==answerList[i]:
return answerList[i]
break
def question6():
list6 = [[newanswerList[1],newanswerList[3]],[newanswerList[0],newanswerList[5]],[newanswerList[2],newanswerList[9]],[newanswerList[4],newanswerList[8]]]
answerList = ['A','B','C','D']
for i in range(4):
if list6[i][0]==list6[i][0] and list6[i][0]==question8():
return answerList[i]
break
def question7():
list7 = [newanswerList[0],newanswerList[1],newanswerList[2],newanswerList[3],newanswerList[4],newanswerList[5],newanswerList[6],newanswerList[7],newanswerList[8],newanswerList[9]]
answerList = ['A','B','C','D']
countList = []
for i in range(4):
countList.append(list7.count(answerList[i]))
for i in range(4):
if countList[i]==min(countList):
return answerList[i]
def question8():
list8 = [newanswerList[6],newanswerList[4],newanswerList[1],newanswerList[9]]
answerList = ['A','B','C','D']
for i in range(4):
if abs(answerList.index(newanswerList[0])-answerList.index(list8[i]))>1:
return answerList[i]
def question9():
list9 = [newanswerList[5],newanswerList[9],newanswerList[1],newanswerList[8]]
answerList = ['A','B','C','D']
for i in range(4):
if (newanswerList[0]==newanswerList[5])!=(newanswerList[4]==list9[i]):
return answerList[i]
def question10():
list7 = [newanswerList[0],newanswerList[1],newanswerList[2],newanswerList[3],newanswerList[4],newanswerList[5],newanswerList[6],newanswerList[7],newanswerList[8],newanswerList[9]]
answerList = ['A','B','C','D']
list1 = [3,2,4,1]
countList = []
for i in range(4):
countList.append(list7.count(answerList[i]))
diff = max(countList)-min(countList)
if diff in list1:
return answerList[list1.index(diff)]
def compareResult(newanswerList):
respectList = [question1(), question2(), question3(), question4(), question5(), question6(), question7(),
question8(), question9(), question10()]
if None in respectList:
return 0
else:
result = (respectList == newanswerList)
if result:
print('result is correct! ', newanswerList, respectList)
return 1
else:
return 0
resultList = ['A', 'B', 'C', 'D']
answerList = [0,0,0,0,0,0,0,0,0,0]
countA = 0
k = 0
newMod = 0
for i in range(4**10):
count = int(i/4)
modCount = i%4
j = 0
answerList[0] = modCount
while count :
j +=1
answerList[j]=count%4
count = int(count/4)
newanswerList = []
for k in range(10):
newanswerList.append(resultList[answerList[k]])
if(compareResult(newanswerList)):
print(newanswerList,i)
break
看下 appium 启动了吗? ip 对不对?
你是要在节点上执行 java 代码? 抱歉,我刚刚理解有误。
目前没这种使用需求,没研究过。
用的 python,不过原理相类似,仅供参考:
使用 selenium.webdriver.remote.webdriver.WebDriver 进行初始化, 要在某个 node 节点上操作,就传入该节点的 ip :
我原文是 “搜索结果能增加排序功能” 搜索结果就是一个数据集合,在展示前对数据进行多一层排序处理,不冲突, 也没混淆概念吧?
按时间筛选也可以满足部分需求。
其实我是觉得可以提供一些排序规则给用户进行选择,比如按时间、回帖数量、热度数量等信息,来查看最新、最多人讨论、最热的帖子。
搜索结果也可以有排序嘛
工作很轻松,说明是有空余时间,那为什么不自己把这些会的东西用到项目里去呢?
不主动去实践,经验不会自动增加,而且领导很难,也不敢主动给毫无经验的你实践的机会 。
检查一下 Capabilities 里配的版本号吧。 另外这个配置项可以试下配为空,这样切换不同测试机测试的时候不需要改对应的配置。
TypeError: Invalid Version: android-4.4W
检查下版本号配对没
用 adb devices 命令看下设备是否已经连接上电脑?
论坛上搜一下
没使用 unittest, 通过 Python 的多线程模块实现的并发,仅供参考: from multiprocessing.dummy import Pool as ThreadPool
我觉得要看你测试的目的和侧重点:
我是倾向用第二种的,因为保持用例间的独立性,才能保证用例的独立执行。
用例 A 依赖用例 B ,是指上下文的依赖吗? 比如做查询(用例 B)之前需要先登录(用例 A)拿到 token?
这种场景我们目前没遇到,感觉可以往这方面考虑:
刚做完一套类似的,关系是这样:
test_api : 接口信息
test_case: 具体的某一条用例, 与 test_api\ test_suite 均通过外键关联
test_suite: 测试集, 与 test_api\ test_case 均通过外键关联
其中一个 test_suite 下可以关联多个 test_api , 每个 test_api 下面关联多个 test_case
反过来想想, 你有什么技能是离不开公司的呢?
chrome:点击元素,右键 - 检查
Firefox:点击元素,右键 - 查看元素
之前曾从 selenium 移植过下拉框选择的方法到 macaca ,仅供参考
https://testerhome.com/topics/10590
不止 Python 2 和 Python3 兼容的问题, 用 Python 3.4 的时候也有个模块不兼容
最后在 Python3.6 下重新安装成功
好的,感谢