首先搭建環境,然後根據專案搭建自動化框架,編寫自動化用例,整理用例,自動生成測試報告,然後整合到jenkins上進行操作
出現anr和crash進行復現抓取日誌(adb命令)
編寫自動化用例的時候斷言編寫清楚,然後也可以通過用例失敗後進行截圖進行儲存,方便我們後續檢視用例失敗原因,自動化用例失敗後,進行手工操作,檢視是否真的存在問題,如果不存在,可以檢視**是否書寫錯誤
通過函式 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)]
(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('_'
(c)#
輸出結果:
#['hello', 'world', 'anjing']
a = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8]b =c =
for i in
a:
if i>0:
elif i <0:
else
:
pass
(len(b))
(len(c))
執行結果:54
#字串轉換列表
a = '
anjing
'c =list(a)
d = a.split('')
(d)#
列表轉換字串
a = ['
1','
2','
3','4'
]c =''
.join(a)
print(c)
#列表去重
a = ['
1','
2','
3','
4','
2','
1','4'
]c =set(a)
(c)#
#初始化函式,用來完成一些預設的設定
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屬於日誌模組,在我們編寫指令碼的時候可以告訴我們每一步都在幹什麼,如果報錯的話,方便我們進行分析資料,也就是我們平常說的打點的作用
importlogging
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
') #
高階別的 # 嚴重錯誤資訊
#a = [1,2,3,4,5]
c = [6,7]
(a)#
[1, 2, 3, 4, 5, [6, 7]]
#extend
a = [1,2,3,4,5]
c = [6,7]
a.extend(c)
(a)#
[1, 2, 3, 4, 5, 6, 7]
zip()函式在運算時,會以乙個或者多個序列作為引數,返回乙個元祖的列表,zip()引數口語接受任何型別的序列,通過也支援多個引數。
#列表a = [1,2]
b = [3,4]
c = [i for i in
zip(a,b)]
(c)#
[(1, 3), (2, 4)]#元祖
a = (1,2)
b= (3,4)
c = [i for i in
zip(a,b)]
(c)#
[(1, 3), (2, 4)]
#字串
a = '12'
b = '34'
c = [i for i in
zip(a,b)]
(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:
print("
100-999的水仙花數:%s
" %sxh)
#100-999的水仙花數:[153, 370, 370, 371, 407]
簡單面試題
1.short s1 1 s1 s1 1 有錯嗎?short s1 1 s1 1 有錯嗎?答 對於short s1 1 s1 s1 1 由於1是int型別,因此s1 1運算結果也是int 型,需要強制轉換型別才能賦值給short型。而short s1 1 s1 1 可以正確編譯,因為s1 1 相當於...
python面試題測試 python簡單面試題
在這個即將進入金9銀10的跳槽季節的時候,肯定需要一波面試題了,安靜總結了一些經常遇到的python面試題,讓我們一起擼起來。python面試題 1 求出1 100之間的和 coidng utf 8 a 0 for i in range 0,100 a i 1 print a 也可以使用函式sum ...
java簡單面試題
1 和 的區別是什麼?是預編譯處理,是字串替換。mybatis在處理 時,會將sql中的 替換為?號,呼叫preparedstatement的set方法來賦值 mybatis在處理 時,就是把 替換成變數的值。使用 可以有效的防止sql注入,提高系統安全性。2 當實體類中的屬性名和表中的欄位名不一樣...