日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)

發布時間:2025/3/11 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一章 自動化測試課程介紹和課程大綱

1、自動化測試課程介紹

簡介:講解什么是自動化測試和課程大綱講解,課程需要的基礎和學后的水平

python3.7+selenium3

pycharm

第二章自動化測試相關軟件安裝

1、自動測試工具selenium介紹

簡介:介紹selenium自動化測試工具

為什么用selenium工具 1 -> 2 -> 3

1、主流,各大公司都有用,開源免費社區活躍

2、支持主流瀏覽器 火狐FireFox、谷歌chrome、IE(不建議)

3、支持多個語言,如python、java,js、php等

4、跨平臺:mac、windows、linux等? 64位系統

2、自動化測試環境搭建之python3安裝

簡介:使用windwos安裝python3

1、python3安裝

1)官方文檔安裝 下載解壓包

https://www.python.org/downloads/windows/

2)python環境變量安裝

3)pip工具介紹

包管理工具

3、自動化測試環境搭建之selenium3安裝

簡介:使用安裝包安裝selenium3

方法1:cmd環境下,用pip install selenium

方法2:下載selenium安裝包手動安裝 (推薦)

下載地址:https://pypi.org/project/selenium/

在解壓好的目錄下進行安裝? python setup.py install

4、自動化測試工具selenium驗證安裝

簡介:講解自動化測試工具selenium安裝準確性

下載火狐瀏覽器

1、使用selenium打開firefox瀏覽器

需要下載對應的驅動

火狐:https://github.com/mozilla/geckodriver/releases

下載driver、拷貝到瀏覽器安裝路徑、配置環境變量

配置環境變量,需要重啟cmd窗口

from selenium import webdriver

driver = webdriver.Firefox()

5、前端知識講解和工具安裝使用

簡介:講解前端基礎知識和推薦安裝的工具

sublime? / cmder? /? ?chrome瀏覽器? /? firefox瀏覽器

必須要了解的前端基礎知識:

html: 網頁基礎,用于顯示數據

js: 網頁腳本,控制頁面的數據

css: 用于控制文件樣式

xml: 用來傳輸和存儲數據

json: 用來傳輸和存儲數據

http: 網絡請求協議

xpath:

第三章 測試核心理論知識-(工作面試必備)

1、必備知識之軟件開發生命周期

簡介:講解軟件開發的生命周期

1、測試人員需要全程參與

需求調研-》需求分析評審-》軟件架構設計-》編碼-》單元測試-》集成測試-》系統測試-》預發布系統測試-》上線

測試人員要求開發人員寫單元測試

把控時間點、風險點

接口文檔不完善(更新了需求功能,不及時更新接口文檔)

2、測試相關知識分類講解

簡介: 測試分類講解

黑盒測試(功能測試):功能符合用戶的需求:

白盒測試:知道里面的邏輯,驗證符合用戶的需求

冒煙測試:主功能、主路徑測試

自動化測試: 人工測試轉為工具自動執行(沒有誰取代誰,有些場景適合自動化測試,有些場景適合手工測試)

性能測試:模擬多種峰值和負載去測試各項性能指標 jmeter、loadrunner

3、自動化測試和手工測試優缺點

簡介:介紹什么時候需要用到自動化測試和什么時候用手工測試

1、自動化測試方便,自動驗證功能是否有問題

2、更好的利用自有,節約人力成本

3、覆蓋更全,增加軟件的穩定性

場景:

軟件需求變更少,項目周期長,穩定性要強,環境要隔離獨立(開發一套環境、測試一套環境)

如果整個系統需求變更多,只能抽取部分功能做自動化測試

語言選擇:

python? java? ?ruby? php

打造自己的唯一性

第四章 自動測試selenium精講實戰

1、selenium基礎實戰之定位網頁元素技巧上集

簡介:講解使用selenium定位網頁元素,

find_element_by_id,find_element_by_name,find_element_by_class_name

1、開啟瀏覽器

browser = webdriver.Firefox();

2、打開網頁

browser.get("http://baidu.com")

使用python判斷是否正確

browser.title 或者 browser.current_url

3、定位元素的8種方法,(!!!!一定要唯一)

id: find_element_by_id() 采用id屬性進行定位

name: find_element_by_name() 定位方式和id定位相似,id、name和class一般在網頁都至少會有其中的一種

class name: find_element_by_class_name() 定位方式和id定位相似,id、name和class一般在網頁都至少會有其中的一種

4、定位到元素后的方法

clear() //清空

send_keys() // 輸入

back()? //后退頁面

maximize_window() // 最大化窗口

click()? ?//點擊事件,點擊按鈕,超鏈接

submit() //提交表單

5、定位到元素后的屬性

tag_name? //標簽名

text? //文本內容

2、selenium基礎實戰之定位網頁元素技巧下集

簡介:講解使用selenium定位網頁元素,

1、tag name:find_element_by_tag_name() 通過標簽名去定位,用的少,如find_element_by_tag_name("div")

2、link text: find_element_by_link_text() 超鏈接內容定位,元素內容

如? xxx ,則find_element_by_link_text("xxx")

from time import sleep

sleep(5)

3、partial link text:find_element_by_partial_link_text() 超鏈接內容定位,模糊匹配,和上面類似

比較難下面的兩種,下節課講解

xpath:

css selector

3、selenium實戰定位網頁元素之CSS定位

簡介:講解使用css定位網頁元素

1、css selector:find_element_by_css_selector()

根據CSS屬性定位,一般class是用.標記,id是用#標記,定位方式也會比xpath快

如 find_element_by_css_selector('input[id=\'search\']')? ?// 規則:? 元素[屬性=值]

技巧:通過firebug的拷貝css路徑

路徑:審查元素-》右鍵-》復制-》css選擇器

4、selenium實戰定位網頁元素之xpath定位

簡介:講解使用xpath定位網頁元素

1、xpath語法:http://www.w3school.com.cn/xpath/xpath_syntax.asp

注意 :? ”//“ 是全部的意思,即全文掃描,? ”/“ 的相鄰的意思, *是所有元素, ”..“是元素的父節點, "."是當前節點

2、xpath :find_element_by_xpath()xpath是XML路徑語言,通過元素的路徑來完成對元素的查找,HTML就是XML的一種實現方式,在FriePath插件里copy對應的xpath地址

絕對路徑定位:從標簽開始依次往下進行查找

相對路徑:利用元素屬性來進行xpath定位

技巧:通過firebug的拷貝css路徑

8種選擇器注意問題:如果定位元素報錯,原因如下

1、根據定位取不到

2、多個元素根據下標超出范圍,沒有0,從1開始

解決辦法:換其他方式定位元素

第五章 selenium實戰之模擬事件處理

1、自動化測試實戰之ActionChains模擬用戶行為

簡介:講解使用selenium里面的ActionChains模擬用戶的行為

需求:

需要模擬鼠標操作才能進行的情況,比如單擊、雙擊、點擊鼠標右鍵、拖拽

解決:selenium提供了一個類來處理這類事件

selenium.webdriver.common.action_chains.ActionChains(driver)

腳本:

from selenium.webdriver.common.action_chains import ActionChains

執行原理:

調用ActionChains的方法時不會立即執行,會將所有的操作按順序存放在一個隊列里,當調用perform()方法時,隊列中的事件會依次執行

支持鏈式寫法或者分步寫法

ActionChains(driver).click(ele).perform()

鼠標和鍵盤方法列表:

perform() 執行鏈中的所有動作

click(on_element=None) 單擊鼠標左鍵

context_click(on_element=None) 點擊鼠標右鍵

double_click(on_element=None) 雙擊鼠標左鍵

move_to_element(to_element) 鼠標移動到某個元素

ele.send_keys(keys_to_send) 發送某個詞到當前焦點的元素

========== 不常用 ==========

click_and_hold(on_element=None) 點擊鼠標左鍵,不松開

release(on_element=None) 在某個元素位置松開鼠標左鍵

key_down(value, element=None) 按下某個鍵盤上的鍵

key_up(value, element=None) 松開某個鍵

drag_and_drop(source, target) 拖拽到某個元素然后松開

drag_and_drop_by_offset(source, xoffset, yoffset) 拖拽到某個坐標然后松開

move_by_offset(xoffset, yoffset) 鼠標從當前位置移動到某個坐標

move_to_element_with_offset(to_element, xoffset, yoffset) 移動到距某個元素(左上角坐標)多少距離的位置

send_keys_to_element(element, keys_to_send) 發送某個鍵到指定元素

2、鼠標事件實戰之hover菜單欄彈出

簡介:鼠標事件之菜單欄hover彈出

1、

#引入 ActionChains 類

from selenium.webdriver.common.action_chains import ActionChains

2、move_to_element(to_element) 鼠標移動到某個元素

#對定位到的元素執行鼠標移動到上面的操作

ActionChains(driver).move_to_element(ele1).perform()

3、多知識點綜合實戰之模擬用戶登錄

簡介:講解使用selenium模擬登錄小D課堂,并選擇課程

1、多知識點實戰

2、查找登錄框-》輸入用戶名和密碼-》觸發登錄-》判斷登錄是否成功-》打印結果

4、自動化測試實戰之網頁等待時間

簡介:講解自動化測試的等待時間

1、為什么需要等待時間--》等系統穩定

網頁需要加載對應的資源文件,頁面渲染,窗口處理等等

2、自動化測試常用的等待時間

強制等待 : (自己調試代碼看效果)

from time import sleep

sleep(5)? # 強制等待5秒再執行下一步,缺點是不管資源是不是完成,都必須等待

隱性等待:

driver.implicitly_wait(10)? # 隱性等待,最長等10秒

#設置了一個最長等待時間,如果在規定時間內網頁加載完成,則執行下一步,否則一直等到時間截止,然后執行下一步,弊端就是程序會一直等待整個頁面加載完成,到瀏覽器標簽欄那個加載圈不再轉

注意:對driver起作用,所以只要設置一次即可,沒有必要到處設置

顯性等待:

WebDriverWait 需要配合 until和until_not,程序每隔N秒檢查一次,如果成功,則執行下一步,否則繼續等待,直到超過設置的最長時間

from selenium.webdriver.support.wait import WebDriverWait

語法:WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

結論: 隱性等待和顯性等待可以同時用,等待的最長時間取兩者之中的較大者

總結

以上是生活随笔為你收集整理的python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。