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

Python + Selenium自動化測試

這篇具有很好參考價值的文章主要介紹了Python + Selenium自動化測試。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、python

1、python下載與安裝

官方下載地址:Python Releases for Windows | Python.orghttps://www.python.org/downloads/windows/

下載應(yīng)用程序,雙擊運行

Python + Selenium自動化測試

選擇install now進行安裝,下方勾選第二個選項系統(tǒng)可自動添加環(huán)境變量

?Python + Selenium自動化測試

等待python安裝

Python + Selenium自動化測試

?安裝完成后,點擊“Close”關(guān)閉

Python + Selenium自動化測試

進入cmd驗證是否已完成安裝:

python -V

出現(xiàn)版本號則安裝成功

Python + Selenium自動化測試

2、pycharm下載與安裝

官方下載地址:Download PyCharm: Python IDE for Professional Developers by JetBrainsDownload the latest version of PyCharm for Windows, macOS or Linux.https://www.jetbrains.com/pycharm/download/#section=windows

進入官方下載地址

?專業(yè)版:付費但是可以試用

?社區(qū)版:免費

這里我們下載社區(qū)版就可以(左邊是專業(yè)版,右邊社區(qū)版)。覺得社區(qū)版不好用的兄弟可以下載專業(yè)版進行破解,百度有很多教程,這里我就不多講了。

Python + Selenium自動化測試

點擊Download進行下載,下載完成后得到一個可執(zhí)行文件

Python + Selenium自動化測試?

雙擊運行,點擊Next

Python + Selenium自動化測試?

可使用默認安裝目錄,也可以自定義目錄。點擊Next?

Python + Selenium自動化測試?

?勾選選項后,點擊“Next”

?Python + Selenium自動化測試?

點擊“Install”進行安裝?,安裝完成需要等待一等鐘左右

Python + Selenium自動化測試?

安裝完成后點擊“Finish”

Python + Selenium自動化測試?

?二、Selenium

1、Selenium簡介

Selenium 是最廣泛使用的開源 Web UI(用戶界面)自動化測試套件之一。Selenium 支持的語言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驅(qū)動程序最受 Python 和 C#歡迎。 Selenium 測試腳本可以使用任何支持的編程語言進行編碼,并且可以直接在大多數(shù)現(xiàn)代 Web 瀏覽器中運行。

2、selenium安裝

selenium的安裝

打開 cmd,輸入下面命令進行安裝。

pip install selenium
# 如果第一個命令無法安裝可以使用第二個
pip3 install selenium

3、瀏覽器驅(qū)動

針對不同的瀏覽器,需要安裝不同的驅(qū)動。下面列舉了常見的瀏覽器與對應(yīng)的驅(qū)動程序下載鏈接。

  • Firefox?瀏覽器驅(qū)動:Firefox
  • Chrome?瀏覽器驅(qū)動:Chrome
  • IE?瀏覽器驅(qū)動:IE
  • Edge?瀏覽器驅(qū)動:Edge

這里以安裝?Chrome?驅(qū)動作為演示。

在新標簽頁輸入?chrome://settings/?進入設(shè)置界面,然后選擇 【關(guān)于 Chrome

查看自己的版本信息。下載對應(yīng)版本的?Chrome?驅(qū)動即可。

Python + Selenium自動化測試

下載驅(qū)動

打開?Chrome驅(qū)動?。單擊對應(yīng)的版本。

?Python + Selenium自動化測試

?根據(jù)自己的操作系統(tǒng),選擇下載。

Python + Selenium自動化測試

?下載完成后,壓縮包內(nèi)只有一個?exe?文件。

Python + Selenium自動化測試

將?chromedriver.exe?保存到python安裝目錄

?Python + Selenium自動化測試

?4、selenium元素定位????????

下面我們再來看看幾種常見的頁面元素定位方式。

元素示例:

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

id 定位

標簽的?id?具有唯一性。我們可以通過?id?定位到它,由于?id?的唯一性,我們可以不用管其他的標簽的內(nèi)容。

driver.find_element_by_id("kw")

name 定位

name?指定標簽的名稱,在頁面中可以不唯一。

driver.find_element_by_name("wd")

class 定位

class?指定標簽的類名,在頁面中可以不唯一。

driver.find_element_by_class_name('s_ipt')

link 定位

link?專門用來定位文本鏈接,假如要定位下面這一標簽。

<a href="#" target="_blank" class="mnav c-font-normal c-color-t">貼吧</a>

使用?find_element_by_link_text?并指明標簽內(nèi)全部文本即可定位。

driver.find_element_by_link_text("貼吧")

xpath?定位

xpath?是一種在?XML?文檔中定位元素的語言,它擁有多種定位方式,下面通過實例我們看一下它的幾種使用方式。

<html>
  <head>...<head/>
  <body>
    <div id="aa">
      <div class="bb">
        <div class="cc">
          <div class="dd">...</div>
          <div class="ff">
            <div class="ee">
			<div class="hh">
				<input id="ww" autocomplete="off" type="text" value="" placeholder="自動化測試">

根據(jù)上面的標簽需要定位 最后一行?input?標簽,以下列出四種方式,xpath?定位的方式多樣并不唯一,使用時根據(jù)情況進行解析

# 絕對路徑(層級關(guān)系)定位
driver.find_element_by_xpath("/html/body/div/div/div/div[2]/div/div/input[1]")

# 利用元素屬性定位
driver.find_element_by_xpath("http://*[@id='ww']"))

# 層級+元素屬性定位
driver.find_element_by_xpath("http://div[@id='aa']/div/div/div[2]/div/div/input[1]")

# 邏輯運算符定位
driver.find_element_by_xpath("http://*[@id='ww' and @autocomplete='off']")

css 定位

CSS?使用選擇器來為頁面元素綁定屬性,它可以較為靈活的選擇控件的任意屬性,一般定位速度比?xpath?要快,但使用起來略有難度。

舉個簡單的例子,同樣定位上面實例中的?input?標簽

# 選擇 id = 'aa' 的元素
driver.find_element_by_css_selector('#aa')

# 選擇div class='hh'下面的input元素
driver.find_element_by_css_selector('div[class="hh"]>input')

注意:以上定位元素的方式是本人常用的,還有一些其他方式可上網(wǎng)查找。

5、瀏覽器控制

修改瀏覽器大小

webdriver?提供方法來修改瀏覽器窗口的大小。

from selenium import webdriver

# 設(shè)置瀏覽器瀏覽器的寬高為:600x800
driver.set_window_size(600, 800)

#全屏
driver.maximize_window()

瀏覽器前進、后退、刷新

from selenium import webdriver

#返回(后退)
driver.back()

#前進
driver.forward()

#刷新
driver.refresh()

關(guān)閉瀏覽器

# 關(guān)閉當(dāng)前窗口
driver.close()

# 退出瀏覽器
driver.quit()

6、常見操作

webdriver中的常見操作有:

方法 描述
send_keys() 模擬輸入指定內(nèi)容
clear() 清除文本內(nèi)容
is_displayed() 判斷該元素是否可見
get_attribute() 獲取標簽屬性值
size 返回元素的尺寸
text 返回元素文本

接下來還是用 百度 首頁為例,需要用到的就是搜素框和搜索按鈕。通過下面的例子就可以了解各個操作的用法了。

Python + Selenium自動化測試

# 定位搜索輸入框
text_label = driver.find_element_by_xpath('//*[@id="kw"]')

# 在搜索框中輸入 自動化測試
text_label.send_keys('自動化測試')

# 清除搜索框中的內(nèi)容
text_label.clear()

# 輸出搜索框元素是否可見
print(text_label.is_displayed())

# 輸出placeholder的值
print(text_label.get_attribute('placeholder'))

# 定位搜索按鈕
button = driver.find_element_by_xpath('//*[@id="su"]')
# 輸出按鈕的大小
print(button.size)
# 輸出按鈕上的文本
print(button.text)

7、鼠標事件

在webdriver 中,鼠標操作都封裝在ActionChains類中,常見方法如下:

from selenium.webdriver.common.action_chains import ActionChains

#單擊左鍵
# 定位搜索按鈕
text_label = driver.find_element_by_xpath('//*[@id="kw"]')
# 單擊左鍵
text_label.click()

#單擊右鍵,鼠標右擊的操作與左擊有很大不同,需要使用 ActionChains 
# 定位搜索按鈕
button = driver.find_element_by_xpath('//*[@id="kw"]')
# 右鍵搜索按鈕,perform用于執(zhí)行ActionChains中的操作
ActionChains(driver).context_click(button).perform()

# 雙擊
# 定位搜索按鈕
button = driver.find_element_by_xpath('//*[@id="kw"]')
# 執(zhí)行雙擊動作
ActionChains(driver).double_click(button).perform()

# 鼠標懸停
# 定位百度設(shè)置
collect  = driver.find_element_by_xpath('//*[@id="s-usersetting-top"]')

# 懸停至設(shè)置標簽處
ActionChains(driver).move_to_element(collect).perform()

8、鍵盤操作

webdriver?中?Keys?類幾乎提供了鍵盤上的所有按鍵方法,我們可以使用?send_keys + Keys?實現(xiàn)輸出鍵盤上的組合按鍵如?“Ctrl + C”、“Ctrl + V”?等。

from selenium.webdriver.common.keys import Keys

# 定位輸入框并輸入文本
driver.find_element_by_id('xxx').send_keys('Dream丶killer')

# 模擬回車鍵進行跳轉(zhuǎn)(輸入內(nèi)容后) 
driver.find_element_by_id('xxx').send_keys(Keys.ENTER)

# 使用 Backspace 來刪除一個字符
driver.find_element_by_id('xxx').send_keys(Keys.BACK_SPACE)

# Ctrl + A 全選輸入框中內(nèi)容
driver.find_element_by_id('xxx').send_keys(Keys.CONTROL, 'a')

# Ctrl + C 復(fù)制輸入框中內(nèi)容
driver.find_element_by_id('xxx').send_keys(Keys.CONTROL, 'c')

# Ctrl + V 粘貼輸入框中內(nèi)容
driver.find_element_by_id('xxx').send_keys(Keys.CONTROL, 'v')

9、元素等待

顯示等待:

設(shè)置一個超時時間,每個一段時間就去檢測一次該元素是否存在,如果存在則執(zhí)行后續(xù)內(nèi)容,如果超過最大時間(超時時間)則拋出超時異常(TimeoutException

from selenium.webdriver.support.wait import WebDriverWait
from selenium import webdriver
from time import time

# 定位元素
ele = driver.find_element_by_id('xxx')
# 設(shè)置顯示等待,每0.5秒查找一次元素,超過10秒找不到元素則拋出異常
WebDriverWait(driver, 10, 0.5).until(lambda x: x.find_element(ele),message='找不到該元素')

隱式等待

隱式等待也是指定一個超時時間,如果超出這個時間指定元素還沒有被加載出來,就會拋出?NoSuchElementException?異常。

from selenium import webdriver
from time import time

# 設(shè)置隱式等待時間為5秒
driver.implicitly_wait(5)
try:
    driver.find_element_by_id('kw')
except Exception as e:
    print(e)

# 代碼運行到 driver.find_element_by_id('kw') 這句之后觸發(fā)隱式等待,在輪詢檢查 5s 后仍然沒有定位到元素,拋出異常

強制等待

使用?time.sleep()?強制等待,設(shè)置固定的休眠時間,無論元素有沒有加載出來都會等設(shè)置的時間結(jié)束后執(zhí)行下一步。

from selenium import webdriver
from time import sleep

# 點擊id為‘kw’的元素
driver.find_element_by_id('kw').click()
# 等待5秒再執(zhí)行下一步
sleep(5)

10、窗口切換

在?selenium?操作頁面的時候,可能會因為點擊某個鏈接而跳轉(zhuǎn)到一個新的頁面(打開了一個新標簽頁),這時候?selenium?實際還是處于上一個頁面的,需要我們進行切換才能夠定位最新頁面上的元素。

窗口切換需要使用?switch_to.windows()?方法。

from selenium import webdriver
from time import sleep

# 假設(shè)點擊這個元素在新標簽打開了網(wǎng)頁
driver.find_element_by_id('kw').click()

# 獲取當(dāng)前窗口的句柄
ser_1 = driver.window_handles
# 切換到第二個窗口,[0]是當(dāng)前窗口,[1]是新打開的窗口
driver.switch_to.window(ser_1[1])

# 切換后就可以定位到新窗口的元素并執(zhí)行操作

三、使用pycharm編寫自動化測試腳本

1、配置解釋器

? ? ? ??Python + Selenium自動化測試

Python + Selenium自動化測試

?Python + Selenium自動化測試

?中文插件安裝:設(shè)置>plugins>在搜索框輸入chinese

Python + Selenium自動化測試

2、創(chuàng)建項目

點擊文件>新建項目

Python + Selenium自動化測試

?3、開始寫腳本

新建一個python文件

Python + Selenium自動化測試

將上面所講的基本操作添加進來就可以了?

Python + Selenium自動化測試

以上就是本人常用的基本操作,如果在項目中遇到需要其他操作的可以留言或者百度。

???????

下一章節(jié)內(nèi)容:pytest單元測試框架文章來源地址http://www.zghlxwxcb.cn/news/detail-423833.html

到了這里,關(guān)于Python + Selenium自動化測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 自學(xué)Python+Selenium自動化測試

    ????????俗話說的好,書讀百遍不如手過一遍,而編程這東西是看書看視頻一萬遍都不如你自己多敲代碼、寫腦圖、總結(jié)分享轉(zhuǎn)換成自己的內(nèi)容來的實在。 ? ? ? ? 今天我就把最近學(xué)的(二) Selenium核心WebDriver API 簡單總結(jié)一下,方便自己以后找出來看看。 ????????一

    2024年02月05日
    瀏覽(17)
  • 【軟件測試】python+selenium自動化測試

    【軟件測試】python+selenium自動化測試

    一、什么是自動化測試 自動化測試指軟件測試的自動化,在預(yù)設(shè)狀態(tài)下運行應(yīng)用程序或者系統(tǒng),預(yù)設(shè)條件包括正常和異常,最 后評估運行結(jié)果。將人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的過程。 單元測試 java的單元測試框架是Junit,在這里不再贅述。 接口自動化 接口測試就是

    2023年04月09日
    瀏覽(34)
  • 【自動化測試】基于Selenium + Python的web自動化框架

    【自動化測試】基于Selenium + Python的web自動化框架

    Selenium是一個基于瀏覽器的自動化工具,她提供了一種跨平臺、跨瀏覽器的端到端的web自動化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: ? 1、Selenium IDE:Firefox的一個擴展,它可以進行錄制回放,并可以把錄制的操作以多種語言(例如java,p

    2024年02月07日
    瀏覽(19)
  • AERONET AOD 數(shù)據(jù)自動化下載 + PYTHON + SELENIUM

    AERONET AOD 數(shù)據(jù)自動化下載 + PYTHON + SELENIUM

    目錄 5.05更新 增加FMF、SSA數(shù)據(jù)下載(見GitHub) 4.10更新 通過CURL、WGET等方式下載目標數(shù)據(jù) 獲取下載地址 Using Tools to Save Web Output as a File Wget Curl AERONET AOD 數(shù)據(jù)下載 ?利用 PYTHON + SELENIUM 自動化下載中國站點數(shù)據(jù) 獲得站點URL列表 ?獲取站點數(shù)據(jù)時間 下載數(shù)據(jù) 寫在前面的小結(jié):預(yù)

    2023年04月08日
    瀏覽(58)
  • Python + selenium 自動化測試框架詳解

    Python + selenium 自動化測試框架詳解

    項目自動化測試框架設(shè)計為4層 1.基礎(chǔ)層(通用層) 基礎(chǔ)層: 將通用,重復(fù)性比較高的代碼封裝到這里。 寫通用的代碼的。 其他3層想要的話,就可以直接調(diào)用。 例如: 讀取測試數(shù)據(jù)的代碼,讀取配置信息的代碼;截圖的代碼的,定位元素的代碼等等 2.功能層(頁面層) 功

    2024年02月03日
    瀏覽(26)
  • python 自動化測試之Selenium 模塊

    官網(wǎng):https://www.selenium.dev/zh-cn/ 一、安裝 二、聲明瀏覽器 三、配置項 常用配置參數(shù) 其他配置項 四、常用方法 五、常用屬性 switch_to屬性 六、操作元素 定位元素 方法和屬性 操作下拉框元素 七、模擬鼠標操作 八、鍵盤操作 八、延時等待 強制等待 隱式等待 顯式等待 十、其

    2024年02月13日
    瀏覽(18)
  • Python+selenium自動化生成測試報告

    Python+selenium自動化生成測試報告

    前言 批量執(zhí)行完用例后,生成的測試報告是文本形式的,不夠直觀,為了更好的展示測試報告,最好是生成HTML格式的。 unittest里面是不能生成html格式報告的,需要導(dǎo)入一個第三方的模塊:HTMLTestRunner 一、導(dǎo)入HTMLTestRunner 1.這個模塊下載不能通過pip安裝了,只能下載后手動導(dǎo)

    2024年02月04日
    瀏覽(24)
  • Python+Selenium自動化測試詳細教程

    Python+Selenium自動化測試詳細教程

    ?? Python Selenium是Selenium WebDriver的Python語言封裝,為Python開發(fā)者提供了一個方便易用的自動化測試庫。它支持多種瀏覽器(如Chrome、Firefox、Edge等)以及多個操作系統(tǒng),可以模擬用戶在瀏覽器中的各種行為,包括打開網(wǎng)頁、查找元素、輸入文本、點擊鏈接、提交表單、上傳文

    2023年04月18日
    瀏覽(23)
  • python自動化測試工具selenium

    selenium 是網(wǎng)頁應(yīng)用中最流行的自動化測試工具,可以用來做自動化測試或者瀏覽器爬蟲等。官網(wǎng)地址為:Selenium。相對于另外一款web自動化測試工具QTP來說有如下優(yōu)點: 免費開源輕量級,不同語言只需要一個體積很小的依賴包 支持多種系統(tǒng),包括Windows,Mac,Linux 支持多種瀏

    2024年02月08日
    瀏覽(26)
  • Python自動化測試之Selenium詳解

    Python自動化測試之Selenium詳解

    1.安裝 完成自動化測試,需要配置三個東西。 selenium :pip就可以了 chrome :瀏覽器下載一個谷歌瀏覽器就行 chrome-driver :下載地址http://chromedriver.storage.googleapis.com/index.html 這里需要對應(yīng)到自己的瀏覽器版本下載。 從瀏覽器上下載到本地后,本機mac上自動保存至Download/目錄下

    2024年03月28日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包