python自動化測試學習筆記-1

 

1、什麼是自動化java

自動化測試是把以人爲驅動的測試行爲轉化爲機器執行的一種過程。直白的就是爲了節省人力、時間或硬件資源,提升測試效率,便引入了經過軟件或程序自動化執行測試用例進行測試;python

2、python簡介linux

Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。c++

咱們先來看一各類編程語言的類型。程序員

機器語言:是指一臺計算機所有的指令集合,計算機所使用的是由"0"和"1"組成的二進制數,二進制是計算 計算機語言機的語言的基礎。web

編譯型語言:將源代碼編譯生成機器語言,再由機器運行機器碼(二進制)。例如:c c++ c#shell

解釋型語言:相對於編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行。編程

                     代碼在運行的時候才進行編譯,如 java  、JavaScript、Perl 、Shell、PHP、ruby、pythonc#

腳本語言:一個腳本一般是 解釋執行而非編譯。一開始的時候這種語言只有單一的功能,如shell用戶編寫linux的腳本,js用於製做網頁特效windows

python的應用:數據挖掘(爬蟲)、數據分析、自動化運維、自動化測試、後臺服務器接口開發、AI、人工智能、嵌入式開發、web開發等。

python的特色:

1編寫的代碼質量高:採用縮進的方法,讓代碼的可讀性更好,也很適合團隊協做開發。
2提升開發的效率:簡單的語法,動態的類型,不過不要認爲python僅能夠完成簡單的任務,其實他只是讓複雜的編程任務變的高效和有趣,曾經我一個搞JAVA的朋友,他完成一個任務要寫幾百行代碼,而我只寫了10幾行代碼,的確python這們語言是想把程序員解放出來,騰出一些時間去享受生活。
3程序的可移植性:你編寫的代碼能夠放到幾個平臺上去運行,好比windows,linux,unix。
4不少標準庫和第3方庫:等你瞭解python標準庫的時候,你就會覺的它的標準庫太多了,並且功能和強大,從字符處理到網絡處理無所不能。
5編程思想是大道至簡:python但願程序員可以用最簡單的方法來解決問題,化繁爲簡。
好了下面開始咱們的python學習之旅~

3、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中變量的定義

一、變量名能夠包括字母、數字、下劃線,可是數字不能作爲開頭。例如:name1是合法變量名,而1name就不能夠。
二、系統關鍵字不能作變量名使用
三、除了下劃線之個,其它符號不能作爲變量名使用
四、Python的變量名是區分大小寫的,例如:name和Name就是兩個變量名,而非相同變量哦。
五、中文也能定義變量名,單實際當中不這樣運用

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編碼軟件進行編碼。

一、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))

輸出內容:

 二、條件判斷基本使用方法

語法:

   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,查看輸出結果

 二、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

執行輸入相應的數字,查看結果

 

好了,今天先說到這裏,後續繼續學習。

相關文章
相關標籤/搜索