国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

自動化理論基礎(chǔ)(2)—開發(fā)語言之Python

這篇具有很好參考價(jià)值的文章主要介紹了自動化理論基礎(chǔ)(2)—開發(fā)語言之Python。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、知識匯總

掌握 Python 編程語言需要具備一定的基礎(chǔ)知識和技能,特別是對于從事自動化測試等領(lǐng)域的工程師。以下是掌握 Python 的一些關(guān)鍵方面:

基本語法: 理解 Python 的基本語法,包括變量、數(shù)據(jù)類型、運(yùn)算符、條件語句、循環(huán)語句等。

數(shù)據(jù)結(jié)構(gòu): 熟悉并能夠使用 Python 的常見數(shù)據(jù)結(jié)構(gòu),如列表、元組、字典和集合。

函數(shù)和模塊: 能夠定義和調(diào)用函數(shù),了解模塊的概念,并能夠使用標(biāo)準(zhǔn)庫中的模塊。

異常處理: 了解異常處理機(jī)制,能夠編寫代碼來處理可能出現(xiàn)的異常情況。

文件操作: 能夠進(jìn)行文件的讀寫操作,理解文件對象和文件處理方法。

面向?qū)ο缶幊蹋∣OP): 了解面向?qū)ο缶幊痰幕靖拍?,包括類、對象、繼承、多態(tài)等。

模塊化和代碼復(fù)用: 能夠編寫可重用的模塊,實(shí)現(xiàn)代碼的模塊化和可維護(hù)性。

測試框架: 對于自動化測試工程師,掌握至少一種 Python 測試框架,如 Pytest 或 unittest。

版本控制系統(tǒng): 了解并能夠使用 Git 進(jìn)行版本控制,以便協(xié)同開發(fā)和管理代碼。

虛擬環(huán)境和依賴管理: 能夠使用虛擬環(huán)境管理 Python 項(xiàng)目的依賴,如使用 virtualenv 或 venv。

基本的網(wǎng)絡(luò)和 Web 開發(fā)知識: 對于自動化測試,理解基本的網(wǎng)絡(luò)通信和 Web 開發(fā)概念,包括 HTTP/HTTPS 協(xié)議、API 測試等。

常用庫和框架: 熟悉并能夠使用 Python 的一些常用庫和框架,例如 requests(處理 HTTP 請求)、Beautiful Soup(解析 HTML)、Selenium(Web 自動化測試)等。

這些都是掌握 Python 編程語言時(shí)的基本要求。具體要求還可能受到所從事的具體工作領(lǐng)域和項(xiàng)目的影響。隨著經(jīng)驗(yàn)的積累,可以逐漸深入學(xué)習(xí) Python 的高級特性和更復(fù)雜的應(yīng)用場景。

二、Python基本語法

1. 變量和數(shù)據(jù)類型

# 變量賦值
x = 5
name = "John"

# 數(shù)據(jù)類型
number = 10        # 整數(shù)
float_number = 3.5 # 浮點(diǎn)數(shù)
string = "Hello"   # 字符串
boolean = True     # 布爾值

# 列表和元組
my_list = [1, 2, 3]
my_tuple = (1, 2, 3)

# 字典
my_dict = {"key": "value", "age": 25}

# 集合
my_set = {1, 2, 3}

2、控制流程

(1)條件語句

if x > 0:
    print("Positive")
elif x < 0:
    print("Negative")
else:
    print("Zero")

(2)循環(huán)語句

# for 循環(huán)
for item in my_list:
    print(item)

# while 循環(huán)
counter = 0
while counter < 5:
    print(counter)
    counter += 1

3、函數(shù)

# 函數(shù)定義
def greet(name):
    print("Hello, " + name + "!")

# 函數(shù)調(diào)用
greet("Alice")

4、輸入輸出

# 輸入
user_input = input("Enter a number: ")
number = int(user_input)

# 輸出
print("The square of", number, "is", number**2)

5、異常處理

(1)try-except塊:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero!")
finally:
    print("This will always execute.")

(2)多個(gè)except塊:

try:
    value = int("abc")
except ValueError:
    print("Error: Invalid integer format")
except Exception as e:
    print(f"Error: {e}")

6、文件操作

# 寫入文件
with open("example.txt", "w") as file:
    file.write("Hello, Python!")

# 讀取文件
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

三、面向?qū)ο?/h3>

Python 是一種面向?qū)ο蟮木幊陶Z言。在 Python 中,幾乎一切都是對象,包括基本數(shù)據(jù)類型(如整數(shù)、浮點(diǎn)數(shù)、字符串)以及用戶自定義的類和對象。Python 支持面向?qū)ο缶幊痰暮诵母拍?,包括類、對象、封裝、繼承和多態(tài)。

1、類和對象: 在 Python 中,類是對象的模板,對象是類的實(shí)例。通過定義類,可以創(chuàng)建具有特定屬性和方法的對象。

class Dog:
    def __init__(self, name):
        self.name = name

    def bark(self):
        print(f"{self.name} is barking!")

my_dog = Dog("Buddy")
my_dog.bark()

2、封裝: 封裝允許將數(shù)據(jù)和方法封裝在類的內(nèi)部,通過對外提供公共接口來隱藏內(nèi)部實(shí)現(xiàn)的細(xì)節(jié)。

class BankAccount:
    def __init__(self, balance): #構(gòu)造函數(shù)
        self.balance = balance

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        if amount <= self.balance:
            self.balance -= amount
        else:
            print("Insufficient funds")

account = BankAccount(1000)
account.withdraw(500)

3、繼承: 繼承允許一個(gè)類繼承另一個(gè)類的屬性和方法,從而實(shí)現(xiàn)代碼的重用和擴(kuò)展。

class Animal:
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        print("Woof!")

class Cat(Animal):
    def speak(self):
        print("Meow!")

my_dog = Dog()
my_dog.speak()

4、多態(tài): 多態(tài)允許不同的類共享相同的接口,但具體的實(shí)現(xiàn)可以不同。這使得代碼更靈活,能夠處理不同類型的對象。

def animal_sound(animal):
    animal.speak()

my_dog = Dog()
my_cat = Cat()

animal_sound(my_dog)  # 輸出 "Woof!"
animal_sound(my_cat)  # 輸出 "Meow!"

四、常用的庫

1、文件讀寫:
openpyxl: 用于處理Excel文件的庫,支持讀寫Excel文件。
pandas: 提供高性能、易用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,支持多種文件格式(如CSV、Excel)的讀寫。

2、生成報(bào)告:
Jinja2: 模板引擎,用于生成動態(tài)內(nèi)容的報(bào)告。
ReportLab: 用于創(chuàng)建PDF文檔的庫,可用于生成帶有圖表和文本的報(bào)告。
Matplotlib: 用于繪制圖表和圖形,可以在報(bào)告中插入圖表。

3、發(fā)送報(bào)告:
smtplib(內(nèi)置庫): 用于發(fā)送電子郵件,可用于將測試報(bào)告通過電子郵件發(fā)送。
yagmail: 簡化了使用smtplib發(fā)送郵件的過程,支持HTML內(nèi)容和附件。

4、測試報(bào)告框架:
HTMLTestRunner: 一個(gè)生成HTML格式測試報(bào)告的框架,適用于unittest。
pytest-html: 適用于pytest的HTML測試報(bào)告插件。

5、日志記錄:
logging(內(nèi)置庫): Python的官方日志記錄模塊,可用于在測試中記錄信息。
loguru: 提供更簡單和強(qiáng)大的日志記錄功能,支持文件、控制臺等多種輸出。

6、網(wǎng)絡(luò)請求:
requests: 用于發(fā)送HTTP請求的庫,適用于API測試。

7、通信
串口通信:serial
Can通信: python-can
import serial

# 打開串口
ser = serial.Serial('COM1', 9600, timeout=1)

# 發(fā)送數(shù)據(jù)
ser.write(b'Hello, serial!')

# 接收數(shù)據(jù)
data = ser.readline()
print('Received:', data)

# 關(guān)閉串口
ser.close()

8、其他常用庫:
NumPy: 用于科學(xué)計(jì)算和數(shù)學(xué)操作的庫。
Beautiful Soup: 用于從HTML和XML文檔中提取信息的庫。
Scrapy: 一個(gè)用于爬取網(wǎng)站數(shù)據(jù)的框架。
Flask/Django: 用于構(gòu)建Web應(yīng)用程序的框架。

五、常用的自動化測試框架

Python中有幾個(gè)常用的自動化測試框架,它們提供了各種工具和功能來簡化測試流程。以下是一些常見的Python自動化測試框架:

unittest: 這是Python內(nèi)置的測試框架,提供了測試用例、測試套件、斷言等基本測試工具。它的使用方式受到Java中JUnit的影響。

pytest: 一個(gè)功能豐富而靈活的測試框架,支持自動發(fā)現(xiàn)測試用例、參數(shù)化測試、豐富的插件系統(tǒng)等。它的語法簡潔易懂,也能與其他測試工具和框架很好地集成。

nose2: 基于unittest的擴(kuò)展,提供了更多功能和插件支持,支持測試發(fā)現(xiàn)、標(biāo)記、插件等。它的目標(biāo)是提供更好的發(fā)現(xiàn)和運(yùn)行測試的方式。

Robot Framework: 一個(gè)通用的自動化測試框架,支持關(guān)鍵字驅(qū)動和行為驅(qū)動開發(fā)。它易于學(xué)習(xí),可用于Web、移動應(yīng)用、API等測試,并支持關(guān)鍵字庫擴(kuò)展。

Behave: 一個(gè)行為驅(qū)動開發(fā)(BDD)框架,基于Gherkin語言。它結(jié)合了自然語言的表達(dá)力和Python的強(qiáng)大功能,使得測試用例更具可讀性。

Selenium: 雖然它主要用于Web應(yīng)用程序的自動化測試,但也是一個(gè)強(qiáng)大的工具。通過結(jié)合Selenium WebDriver和測試框架(如pytest或unittest),可以實(shí)現(xiàn)更復(fù)雜的Web應(yīng)用測試。

六、其它

1、元組、列表、字典、集合的區(qū)別
元組、列表、字典和集合是Python中常用的四種數(shù)據(jù)結(jié)構(gòu),它們有各自的特點(diǎn)和適用場景。

(1). 元組(Tuple):
表示方式: 使用圓括號 () 表示,例如:my_tuple = (1, 2, 3).
可變性: 不可變,一旦創(chuàng)建就不能修改。
索引訪問: 支持索引訪問,類似于列表。
適用場景: 適用于希望創(chuàng)建不可變序列的情況,例如函數(shù)返回多個(gè)值時(shí)。

(2). 列表(List)
表示方式: 使用方括號 [] 表示,例如:my_list = [1, 2, 3].
可變性: 可變,允許修改、添加或刪除元素。
索引訪問: 支持索引訪問。
適用場景: 適用于需要一個(gè)有序、可變的集合的情況,例如存儲同類型的元素。

(3). 字典(Dictionary):
表示方式: 使用花括號 {} 表示,例如:my_dict = {“key1”: “value1”, “key2”: “value2”}.
可變性: 可變,可以修改、添加或刪除鍵值對。
鍵值對: 由鍵和值組成,通過鍵來訪問值。
適用場景: 適用于需要存儲鍵值對的情況,鍵是唯一的。

(4). 集合(Set):
表示方式: 使用花括號 {} 表示,例如:my_set = {1, 2, 3}.
可變性: 可變,可以添加或刪除元素。
唯一性: 元素是唯一的,不會重復(fù)。
適用場景: 適用于需要存儲無序且唯一元素的情況,例如去重。
總體而言,選擇使用哪種數(shù)據(jù)結(jié)構(gòu)取決于你的具體需求。元組適用于不可變序列,列表適用于有序可變集合,字典適用于鍵值對存儲,集合適用于無序唯一元素的情況。

2、堆和棧的區(qū)別
堆和棧是兩個(gè)用于管理程序運(yùn)行時(shí)內(nèi)存的區(qū)域。棧用于存儲函數(shù)調(diào)用的上下文、局部變量等,而堆用于存儲動態(tài)分配的對象、數(shù)據(jù)結(jié)構(gòu)等。
內(nèi)容:
堆(Heap): 用于動態(tài)分配內(nèi)存,存儲對象、數(shù)據(jù)結(jié)構(gòu)等。在堆上分配的內(nèi)存需要手動管理,通常通過new關(guān)鍵字來分配,并由程序員負(fù)責(zé)釋放。
棧(Stack): 存儲函數(shù)調(diào)用的上下文、局部變量、函數(shù)參數(shù)等,遵循后進(jìn)先出(LIFO)原則。棧上的數(shù)據(jù)的生命周期與函數(shù)調(diào)用關(guān)聯(lián),當(dāng)函數(shù)執(zhí)行完成時(shí),棧上的數(shù)據(jù)自動被釋放。

3、構(gòu)造函數(shù)

在 Python 中,構(gòu)造函數(shù) init 在創(chuàng)建類的實(shí)例時(shí)自動被調(diào)用,用于執(zhí)行一些初始化操作。在創(chuàng)建實(shí)例時(shí),首先調(diào)用構(gòu)造函數(shù),然后再執(zhí)行其他的初始化代碼。
以下是一個(gè)簡單的示例,展示了如何在 Python 中定義和使用構(gòu)造函數(shù):
class MyClass:

    # 構(gòu)造函數(shù)
    def __init__(self, param1, param2):
        # 在構(gòu)造函數(shù)中進(jìn)行初始化操作
        self.attribute1 = param1
        self.attribute2 = param2
        print("Object created with attributes:", self.attribute1, self.attribute2)

# 創(chuàng)建類的實(shí)例,會自動調(diào)用構(gòu)造函數(shù)
my_object = MyClass("value1", "value2")

在 Python 中,self 是一個(gè)約定俗成的參數(shù)名稱,用于表示對象實(shí)例本身。它在類的方法中作為第一個(gè)參數(shù)傳遞,以便可以訪問和操作對象的屬性和方法。
即使沒有傳參的函數(shù),如果是類的方法,仍然需要在參數(shù)列表中保護(hù)‘self’。

4、python中 有 public private等關(guān)鍵字嗎?
在 Python 中,沒有像其他編程語言(如Java、C++)那樣明確定義的 public、private 等訪問修飾符。Python采用了一種不同的方式來處理成員的可見性和訪問權(quán)限。

在 Python 中,成員(變量或方法)的可見性主要通過命名約定來實(shí)現(xiàn)。以下是一些常見的約定:

公共成員: 通常沒有特殊的命名約定,可以直接訪問。

class MyClass:
    def __init__(self):
        self.public_member = 42

受保護(hù)成員: 以一個(gè)下劃線 _ 開頭,表示應(yīng)該被視為受保護(hù)的,不建議直接訪問。

class MyClass:
    def __init__(self):
        self._protected_member = 42

私有成員: 以兩個(gè)下劃線 __ 開頭,表示是私有的,應(yīng)該避免直接訪問。

class MyClass:
    def __init__(self):
        self.__private_member = 42

雖然可以通過以上約定來表示可見性,但在 Python 中,這只是一種約定,而不是強(qiáng)制性的規(guī)則。Python 的理念之一是“我們都是成年人”,即程序員有責(zé)任遵守這些約定,而不是通過強(qiáng)制規(guī)則來限制訪問。這也使得 Python 更加靈活和自由。文章來源地址http://www.zghlxwxcb.cn/news/detail-800022.html

到了這里,關(guān)于自動化理論基礎(chǔ)(2)—開發(fā)語言之Python的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于RPC協(xié)議的接口自動化測試可以用Python語言實(shí)現(xiàn)

    基于RPC協(xié)議的接口自動化測試可以用Python語言實(shí)現(xiàn)。下面是實(shí)現(xiàn)步驟: 1、安裝依賴庫,如protobuf、grpc。 2、編寫.proto文件定義接口參數(shù)和返回值。 3、使用protoc編譯.proto文件生成Python代碼。 4、編寫客戶端代碼調(diào)用遠(yuǎn)程接口進(jìn)行測試。 具體實(shí)現(xiàn)步驟如下: 1、安裝依賴庫 在終

    2024年02月08日
    瀏覽(25)
  • web自動化測試?yán)碚撝畇elenium八大定位 -(2)

    web自動化測試?yán)碚撝畇elenium八大定位 -(2)

    概念:通過元素的id屬性來定位元素。 前置:所要定位的元素必須有id屬性 方法:driver.find_element_by_id(id屬性值) 概念:通過元素的name屬性來定位元素。 前置:所要定位的元素必須有name屬性。 方法:driver.find_element_by_name(name屬性值) 特點(diǎn):當(dāng)前頁面可以重復(fù) 由于name屬性值可以

    2024年02月09日
    瀏覽(30)
  • web自動化測試入門篇04——selenium+python基礎(chǔ)方法封裝

    web自動化測試入門篇04——selenium+python基礎(chǔ)方法封裝

    ? ? ?? 作者簡介:博主是一位測試管理者,同時(shí)也是一名對外企業(yè)兼職講師。 ?? 主頁地址:【Austin_zhai】 ?? 目的與景愿:旨在于能幫助更多的測試行業(yè)人員提升軟硬技能,分享行業(yè)相關(guān)最新信息。 ?? 聲明:博主日常工作較為繁忙,文章會不定期更新,各類行業(yè)或職場問

    2024年02月03日
    瀏覽(21)
  • 【python】之selenium模塊,實(shí)現(xiàn)Web端自動化測試!【基礎(chǔ)篇】

    【python】之selenium模塊,實(shí)現(xiàn)Web端自動化測試!【基礎(chǔ)篇】

    Selenium是一個(gè)Web的自動化測試工具,最初是為網(wǎng)站自動化測試而開發(fā)的,Selenium 可以直接調(diào)用瀏覽器,它支持所有主流的瀏覽器(包括PhantomJS這些無界面的瀏覽器),可以接收指令,讓瀏覽器自動加載頁面,獲取需要的數(shù)據(jù),甚至頁面截屏等。我們可以使用selenium很容易完成之

    2024年02月06日
    瀏覽(28)
  • Python WEB UI自動化測試(1)-Selenium基礎(chǔ)(史上最詳細(xì),一篇就夠)

    Python WEB UI自動化測試(1)-Selenium基礎(chǔ)(史上最詳細(xì),一篇就夠)

    命令行安裝 找到本地chrome的瀏覽器的版本 下載相應(yīng)版本的驅(qū)動器 chrome瀏覽器驅(qū)動下載 地址:chromedriver.storage.googleapis.com/index.html 下載完后,解壓到本地的python的目錄下 geckodriver: https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html edgedriver: https://developer.microsoft.com/en-us/m

    2024年02月03日
    瀏覽(23)
  • 瀏覽器常用基本操作之python3+selenium4自動化測試(基礎(chǔ)篇)

    瀏覽器常用基本操作之python3+selenium4自動化測試(基礎(chǔ)篇)

    1、打開指定的網(wǎng)頁地址 我們使用selenium進(jìn)行自動化測試時(shí),打開瀏覽器之后,第一步就是讓瀏覽器訪問我們指定的地址,可使用get方法實(shí)現(xiàn) 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )?? # 本行用于訪問指定的地址 2、獲取當(dāng)前頁面url 我們在

    2024年02月01日
    瀏覽(93)
  • linux高級篇基礎(chǔ)理論十二( 自動化運(yùn)維工具Ansible )

    linux高級篇基礎(chǔ)理論十二( 自動化運(yùn)維工具Ansible )

    ?? 作者:小劉在C站 ?? 個(gè)人主頁: ?小劉主頁? ?? 不能因?yàn)槿松牡缆房部?就使自己的身軀變得彎曲;不能因?yàn)樯畹臍v程漫長,就使求索的 腳步遲緩。 ?? 學(xué)習(xí)兩年總結(jié)出的運(yùn)維經(jīng)驗(yàn),以及思科模擬器全套網(wǎng)絡(luò)實(shí)驗(yàn)教程。專欄: 云計(jì)算技術(shù) ?? 感謝CSDN讓你我相遇

    2024年01月20日
    瀏覽(48)
  • Selenium自動化測試實(shí)戰(zhàn)之自動化測試基礎(chǔ)

    Selenium自動化測試實(shí)戰(zhàn)之自動化測試基礎(chǔ)

    自動化測試概念 是把以人為驅(qū)動的測試轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程,它是一種以程序測試程序的過程。 自動化只是測試方式,跟測試階段無關(guān)。 可以把任何測試工作寫一個(gè)程序自動化實(shí)現(xiàn)都可以稱為自動化測試。 selenium自動化測試: 2023最新的Selenium自動化測試實(shí)戰(zhàn),沒有比

    2024年02月13日
    瀏覽(27)
  • 前臺自動化測試:基于敏捷測試驅(qū)動開發(fā)(TDD)的自動化測試原理

    前臺自動化測試:基于敏捷測試驅(qū)動開發(fā)(TDD)的自動化測試原理

    一、自動化測試概述 自動化測試主要應(yīng)用到查詢結(jié)果的自動化比較,把借助自動化把相同的數(shù)據(jù)庫數(shù)據(jù)的相同查詢條件查詢到的結(jié)果同理想的數(shù)據(jù)進(jìn)行自動化比較或者同已經(jīng)保障的數(shù)據(jù)進(jìn)行不同版本的自動化比較,減輕人為的重復(fù)驗(yàn)證測試。多用戶并發(fā)操作需要自動化模擬來

    2023年04月20日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包