前面写了一篇关于面试测试遇到的一些python面试题,有部分朋友留言说挺不错的,于是安静又收集了一批面试题,供明年的金3银4做准备(这次安静会写一批python的面试题和我们测试的面试题)
首先搭建环境,然后根据项目搭建自动化框架,编写自动化用例,整理用例,自动生成测试报告,然后集成到jenkins上进行操作
出现ANR和crash进行复现抓取日志(adb命令)
编写自动化用例的时候断言编写清楚,然后也可以通过用例失败后进行截图进行保存,方便我们后续查看用例失败原因,自动化用例失败后,进行手工操作,查看是否真的存在问题,如果不存在,可以查看代码是否书写错误
整体来说,web测试和app测试一般没有区别,都需要进行需求评审,用例评审,提bug,提交测试报告。唯一区别的就是app测试需要进行安装,下载,升级,覆盖以及冷启动和热启动,还有手机上的电话,电量不足,信息,以及其他软件的交互测试
通过函数 get_screensho t_as_file(self,filename) 进行截图
一般使用ddt数据驱动来进行存储数据,有时候也会使用paramunittest
a=[1,2,3,4,5] b = ["a", "b", "c", "d", "e"] c = [str(i)+str(j) for i,j in zip(b, a)] print(c) 打印结果: [‘a1‘, ‘b2‘, ‘c3‘, ‘d4‘, ‘e5‘]
# 9*9口诀 for i in range(1,10): for j in range(1,i+1): print("%s*%s=%s"%(i,j,i*j),end=" ") print("") 输出结果: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
a = ‘hello_world_anjing‘ c = a.split(‘_‘) print(c) # 输出结果: # [‘hello‘, ‘world‘, ‘anjing‘]
a = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8] b = [] c = [] for i in a: if i>0: b.append(i) elif i < 0: c.append(i) else: pass print(len(b)) print(len(c)) 执行结果: 5 4
# 字符串转换列表 a = ‘anjing‘ c = list(a) d = a.split(‘ ‘) print(d) # 列表转换字符串 a = [‘1‘,‘2‘,‘3‘,‘4‘] c =‘‘.join(a) print(c)
# 列表去重 a = [‘1‘,‘2‘,‘3‘,‘4‘,‘2‘,‘1‘,‘4‘] c = set(a) print(c) # {‘2‘, ‘3‘, ‘1‘, ‘4‘}
# 初始化函数,用来完成一些默认的设定 class test(): def __init__(self): self.name = ‘anjing‘ self.age = ‘18‘ a = test() print(‘我的名字是:%s‘%a.name) print(‘我的年龄是:%s‘%a.age) 我的名字是:anjing 我的年龄是:18
# 列表进行翻转 a = [1,2,3,4,5] print(a[::-1]) # [5, 4, 3, 2, 1]
loging属于日志模块,在我们编写脚本的时候可以告诉我们每一步都在干什么,如果报错的话,方便我们进行分析数据,也就是我们平常说的打点的作用
import logging logging.basicConfig(level=logging.DEBUG, format=‘%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s‘, datefmt=‘%a, %d %b %Y %H:%M:%S‘, filename=‘/tmp/test.log‘, filemode=‘w‘) logging.debug(‘debug message‘) # 低级别的,调试信息 logging.info(‘info message‘) # 正常信息 logging.warning(‘warning message‘) # 警告信息 logging.error(‘error message‘) # 错误信息 logging.critical(‘critical message‘) # 高级别的 # 严重错误信息
# append a = [1,2,3,4,5] c = [6,7] a.append(c) print(a) # [1, 2, 3, 4, 5, [6, 7]] # extend a = [1,2,3,4,5] c = [6,7] a.extend(c) print(a) # [1, 2, 3, 4, 5, 6, 7]
zip()函数在运算时,会以一个或者多个序列作为参数,返回一个元祖的列表,zip()参数口语接受任何类型的序列,通过也支持多个参数。
# 列表 a = [1,2] b = [3,4] c = [i for i in zip(a,b)] print(c) # [(1, 3), (2, 4)] # 元祖 a = (1,2) b= (3,4) c = [i for i in zip(a,b)] print(c) # [(1, 3), (2, 4)] # 字符串 a = ‘12‘ b = ‘34‘ c = [i for i in zip(a,b)] print(c) # [(1, 3), (2, 4)]
sxh = [] for i in range(100, 1000): s = 0 m = list(str(i)) for j in m: s += int(j)**len(m) if i == s: sxh.append(i) print("100-999的水仙花数:%s" % sxh) # 100-999的水仙花数:[153, 370, 370, 371, 407]
原文:https://www.cnblogs.com/qican/p/12144942.html