一、什么是自動化
自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。直白的就是為了節省人力、時間或硬件資源,提高測試效率,便引入了通過軟件或程序自動化執行測試用例進行測試;
二、python簡介
Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。
我們先來看一各種編程語言的類型。
機器語言:是指一台計算機全部的指令集合,計算機所使用的是由"0"和"1"組成的二進制數,二進制是計算 計算機語言機的語言的基礎。
編譯型語言:將源代碼編譯生成機器語言,再由機器運行機器碼(二進制)。例如:c c++ c#
解釋型語言:相對於編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行。
代碼在運行的時候才進行編譯,如 java 、JavaScript、Perl 、Shell、PHP、ruby、python
腳本語言:一個腳本通常是 解釋執行而非編譯。一開始的時候這種語言只有單一的功能,如shell用戶編寫linux的腳本,js用於制作網頁特效
python的應用:數據挖掘(爬蟲)、數據分析、自動化運維、自動化測試、后台服務器接口開發、AI、人工智能、嵌入式開發、web開發等。
python的特點:
1編寫的代碼質量高:采用縮進的方法,讓代碼的可讀性更好,也很適合團隊協作開發。
2提高開發的效率:簡單的語法,動態的類型,不過不要認為python僅可以完成簡單的任務,其實他只是讓復雜的編程任務變的高效和有趣,曾經我一個搞JAVA的朋友,他完成一個任務要寫幾百行代碼,而我只寫了10幾行代碼,的確python這們語言是想把程序員解放出來,騰出一些時間去享受生活。
3程序的可移植性:你編寫的代碼可以放到幾個平台上去運行,比如windows,linux,unix。
4很多標准庫和第3方庫:等你了解python標准庫的時候,你就會覺的它的標准庫太多了,而且功能和強大,從字符處理到網絡處理無所不能。
5編程思想是大道至簡:python希望程序員能夠用最簡單的方法來解決問題,化繁為簡。
好了下面開始我們的python學習之旅~
三、python基礎
基本概念
字符集:是一個系統支持的所有抽象字符的集合,計算機中儲存的信息都是用二進制數表示的。
字符編碼(Character Encoding):是一套法則,使用該法則能夠對自然語言的字符的一個集合(如字母表或音節表),與其他東西的一個集合(如號碼或電脈沖)進行配對。即在符號集合與數字系統之間建立對應關系,它是信息處理的一項基本技術。以計算機為基礎的信息處理系統則是利用元件(硬件)不同狀態的組合來存儲和處理信息的。元件不同狀態的組合能代表數字系統的數字,因此字符編碼就是將符號轉換為計算機可以接受的數字系統的數,稱為數字代碼。
常用的字符集合字符編碼
常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。計算機要准確的處理各種字符集文字,需要進行字符編碼,以便計算機能夠識別和存儲各種文字。
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼(定長碼),也是一種前綴碼。它可以用來表示Unicode標准中的任何字符,且其編碼中的第一個字節仍與ASCII兼容,這使得原來處理ASCII字符的軟件無須或只須做少部份修改,即可繼續使用。因此,它逐漸成為電子郵件、網頁及其他存儲或傳送文字的應用中,優先采用的編碼。互聯網工程工作小組(IETF)要求所有互聯網協議都必須支持UTF-8編碼。
有時我們看到頁面上的亂碼,可能就是字符集不一致導致的。
變量(variable)變量就是代表某個數據(值)的名稱。python是一種動態類型語言,在賦值的執行中可以綁定不同類型的值,這個過程叫做變量賦值操作,賦值同時確定了變量類型。
靜態類型語言是指在編譯時變量的數據類型即可確定的語言,多數靜態類型語言要求在使用變量之前必須聲明數據類型,某些具有類型推導能力的現代語言可能能夠部分減輕這個要求.
動態類型語言是在運行時確定數據類型的語言。變量使用之前不需要類型聲明,通常變量的類型是被賦值的那個值的類型。
python中變量的定義
1、變量名可以包括字母、數字、下划線,但是數字不能做為開頭。例如:name1是合法變量名,而1name就不可以。
2、系統關鍵字不能做變量名使用
3、除了下划線之個,其它符號不能做為變量名使用
4、Python的變量名是區分大小寫的,例如:name和Name就是兩個變量名,而非相同變量哦。
5、中文也能定義變量名,單實際當中不這樣運用
python的數據類型
1)整型——int——數字
python有5種數字類型,最常見的就是整型int,例如:a = 123 或 b = -123 等號左邊是變量名,右邊是要賦的值
2)布爾型——bool——用符號==表示
布爾型是一種比較特殊的python數字類型,它只有True和False兩種值,它主要用來比較和判斷,所得結果叫做布爾值。例如:3==3 給出True,3==5給出False
3)字符串——str——用' '或" "表示
例如:URL='www.iplaypy.com'或者name="lijing"
4)列表——list——用[ ]符號表示
例如:num=[1,2,3,4]
5)元組——tuple——用( )符號表示
例如:('d',300)
6)字典——dict——用{ }符號表示
例如:{'name':'coco','country':'china'}
實戰演練
安裝python,安裝pycharm編碼軟件進行編碼。
1、hello world!
python中輸出函數print函數,字符串和數值類型的可以直接輸出,如下
print('hello world')
print(1)
輸出內容:
輸出字符串內容可以用‘’,也可以用“”,當輸出的字符串中包含‘’時,則字符串用“”;當輸出的字符串中包含“”號時,則字符串用‘’;當輸出的字符串中‘’和“”都包含時,則字符串用‘’‘ ‘’’來輸出;如下
print("你真的很'帥'!")
print('你真的很"帥"!')
print(''''哇!'你真的很"帥"!''')
輸出內容:
輸出變量類型
x='hello world!'
print(x)
s=13
print(s)
l=[1,2,3,'p']
print(l)
格式化輸出
輸出的內容中包含定義的參數時,
name=input('請輸入你的姓名:')
time='2017年12月19日'
print('%s歡迎光臨!'%name)
輸出內容
%字符:標記轉換說明符的開始 ,s表示格式轉換類型為字符串,f表示十進制浮點數,d表示帶符號的十進制整數
當有兩個輸出參數的使用,在%(參數1,參數2)列出需要傳參的參數名
name=input('請輸入你的姓名:')
time='2017年12月19日'
print('%s歡迎光臨!'%name)
print('%s歡迎光臨!時間是:%s'%(name,time))
輸出內容:
+的形式進行字符串拼接:
name=input('請輸入你的姓名:')
time='2017年12月19日'
print('%s歡迎光臨!'%name)
print(name+'歡迎光臨!')
輸出內容:
可以看到字符串拼接 + 的輸出內容與%形式的轉換是一樣的;
還有一種方式更加簡便快捷常用,{}的形式進行傳參
name=input('請輸入你的姓名:')
time='2017年12月19日'
print('%s歡迎光臨!'%name)
print('%s歡迎光臨!時間是:%s'%(name,time))
print(name+'歡迎光臨!')
print('{}歡迎光臨!時間是:{}'.format(name,time))
輸出內容:
請輸入你的姓名:pei
pei歡迎光臨!
pei歡迎光臨!時間是:2017年12月19日
pei歡迎光臨!
pei歡迎光臨!時間是:2017年12月19日
當參數較多時,可能會記憶混亂出現傳參錯誤的情況,此時我們可重新定義一下傳參的內容:如下實現方法
name=input('請輸入你的姓名:')
time='2017年12月19日'
print('%s歡迎光臨!'%name)
print('%s歡迎光臨!時間是:%s'%(name,time))
print(name+'歡迎光臨!')
print('{}歡迎光臨!時間是:{}'.format(name,time))
print('{username}歡迎光臨!時間是:{localtime}'.format(username=name,localtime=time))
輸出內容:
2、條件判斷基本使用方法
語法:
if 條件表達式:
語句塊
例子:
如果成績達到80分或以上,視為優秀。
成績達到60分到80分(不包括80分),視為及格。
成績60分以下,視為不及格。
我們輸入一個分數,用if語句判斷是否能打印出分數所屬階段:
score =input('請輸入分數:')
if score >= 80:
print('優秀')
elif score >=60 and score<80:
print('及格')
else:
print('不及格!')
執行上面的語句,輸入分數為89,看執行結果
上述結果我們看到執行報錯了,str類型的與int類型不能進行比較;
因為score為一個輸入類型的變量,而input函數所有形式的輸入按字符串處理,如果想要得到其他類型的數據進行強制類型轉化,此處我們需要對輸入內容強制進行轉化,如下
score =int(input('請輸入分數:'))
if score >= 80:
print('優秀')
elif score >=60 and score<80:
print('及格')
else:
print('不及格!')
執行上述代碼,輸入分數為99,查看輸出結果
輸入分數為78,查看輸出結果
輸入分數為55,查看輸出結果
2、for循環和while循環的基本使用方法
for循環
for something in XXXX:
語句塊
即表示對XXXX中的每一個元素,執行某些語句塊,XXXX可以是列表,字典,元組,迭代器等等。
如下
for x in range(10):
print('test')
執行查看輸出結果,輸入了10次test
while循環:
while 條件表達式1:
語句塊
while 循環不會迭代 list 或 tuple 的元素,而是根據表達式判斷循環是否結束。while循環會每次判斷 條件表達式1 是否為true,如果為true,則執行語句塊,否則退出循環。
例如:
count=0
while count<3:
print('哈哈哈')
count+=1
執行看一下結果
結果輸出了3次‘哈哈哈’,每一次輸入,count+1,直到不滿足條件count<3時,退出循環。
continue和break
break:
直接退出整個循環體;
continue:
跳出本次循環,執行下一次循環。
例如上邊的例子,我們加上break和continue來看一下結果
for x in range(10):
print('test')
break
執行並查看結果
我們看到for循環中添加break之后,執行一次,遇到break就退出循環了,沒有繼續循環。
在while中添加continue來試試:
count=0
while count<3:
count += 1
username=input('請輸入您的姓名:')
if username=='小王':
print('%s,歡迎光臨!'%username)
break
else:
print('您好,您重新輸入!')
continue
else:
print('您好,輸入次數過多!')
執行上述代碼,輸入姓名為:ww,查看結果
執行代碼,輸入姓名為:小王,查看結果
其中,字符串的比較
我們再來試一個猜數字的例子
Python中的random模塊用於生成隨機數。下面介紹一下random模塊中最常用的幾個函數。
random.random
random.random()用於生成一個0到1的隨機符點數: 0 <= n < 1.0
random.uniform
random.uniform的函數原型為:random.uniform(a, b),用於生成一個指定范圍內的隨機符點數,兩個參數其中一個是上限,一個是下限。如果a > b,則生成的隨機數n: a <= n <= b。如果 a <b, 則 b <= n <= a。
random.randint
random.randint()的函數原型為:random.randint(a, b),用於生成一個指定范圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b
random.randrange
random.randrange的函數原型為:random.randrange([start], stop[, step]),從指定范圍內,按指定基數遞增的集合中 獲取一個隨機數。如:random.randrange(10, 100, 2),結果相當於從[10, 12, 14, 16, ... 96, 98]序列中獲取一個隨機數。random.randrange(10, 100, 2)在結果上與 random.choice(range(10, 100, 2) 等效。
random.choice
random.choice從序列中獲取一個隨機元素。其函數原型為:random.choice(sequence)。參數sequence表示一個有序類型。這里要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬於sequence。
random.shuffle
random.shuffle的函數原型為:random.shuffle(x[, random]),用於將一個列表中的元素打亂。
random.sample
random.sample的函數原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。sample函數不會修改原有序列。
首先需要導入random模塊
import random
random_num=random.randint(1,1999)
print(random_num)
執行查看結果為 736 ,取了一個隨機數。
下面來寫猜數字的例子:如果7次之內猜出數字,則結束,如果錯誤,輸入超過7次后結束。
import random # 導入random模塊
random_num = random.randint(1, 500)
count = 0
while count < 7:
count += 1
num = int(input('請輸入你猜的數字:'))
if num > random_num:
print('你猜的太大了')
continue
elif num < random_num:
print('你猜的太小了')
continue
else:
print('恭喜你猜對了,答案是:%s'%num)
break
執行輸入相應的數字,查看結果
好了,今天先說到這里,后續繼續學習。