webselenium自動化測試

2021-09-24 11:02:50 字數 2597 閱讀 9186

這裡面寫的是以前的一些筆記!和大家分享一下,希望能幫到大家!

firefox的位址是:

不同的驅動器版本對應不同的瀏覽器;不同型別的瀏覽器具有不同型別的驅動器

注意事項:建立驅動器物件時呼叫各個瀏覽器是呼叫它的類,而不是呼叫對應的資料夾

3.元素的定位:

html檔案實際就是由一系列標籤所構成的樹狀結構檔案;標籤中具有對應屬性和屬性值

元素定位的八大種:

a.通過id定位:id是唯一的

如果標籤中存在id屬性是否一定可以使用id完成定位?

不行滴,因為id可能是動態的;

b.通過name定位:

標籤中具有name的屬性

c.通過class定位:class表示的是類,類的表示可以通過包、模組進行逐級表示;模組名.包名.類名… 但是在html頁面中使用空格進行表示所屬關係

1)通過class定位的話,其值不能夠出現空格,只能夠取其中一部分

2)如果需要將整個class類進行表示出來的話,則可以通過點的形式將包、模組、類名進行連線表示出來

例如:

find_element_by_class(「p-o-btn.contrast.j_contrast」)

div:塊級標籤,會實現換行操作

span:內聯標籤,不會實現換行操作 在實際定位過程中盡可能少的定位這兩個元素

e.通過link_text定位

f.通過link_partial_text定位

g.通過tag_name定位:通常情況下會與find_elements_by進行結合使用;如果是find_element_by的話則會定位到對應標籤的第乙個

h.通過xpath定位

xpath:是通過xml(extended markup language 可擴充套件標記語言:主要實現程式配置從而完成資料交換操作;由根標籤以及一系列子標籤共同形成的樹狀結構(與html相比:html的根標籤是html,而xml的根標籤自定義,但是根標籤只有乙個;並且xml的語法要比html語法嚴格))實現的路徑定位法;

xpath定位原理:對html頁面結構進行樹狀遞迴遍歷

xpath定位主要包括兩種形式:

1)絕對路徑定位 :html/body/div/div/div/div/div/form/span[1]/input

注意:當乙個父標籤下面存在多個相同的子標籤,則可以通過索引進行確定,其索引值是從1開始

2)相對路徑定位:

 使用xpath的相對路徑進行表示

//input[@type=『submit』]

a.標籤中的屬性使用xpath表示:

語法://標籤名[@屬性名=屬性值]

注意:1)標籤名也可以使用*進行表示,表示的是任意通配

2)中不僅可以宣告乙個屬性,還可以同時宣告多個屬性,多個屬性之間使用邏輯運算子進行連線and or not

3)如果當前標籤中沒有合適的屬性進行選擇的話,則會尋找上一級父標籤是否存在唯一的屬性資訊

例如://input[@id=『su』 and @class=『bg s_btn』]

b.text()實現xpath定位:

語法://標籤名[text()=標籤的文字值]

注意:1)text()是乙個函式,所以不能夠加@,@後面只能夠接屬性名

2)文字值不能夠帶有標籤內容,指的是標籤的純文字

c.contains()實現xpath定位:

語法://標籤名[contains(@屬性名,屬性部分值)]

d.start-with() 、end-with()函式實現xpath定位:

語法://標籤名[start-with(@屬性名,屬性開頭部分值)]

//標籤名[end-with(@屬性名,屬性結尾部分值)]

i.通過css定位:css定位的效率要比xpath更高

id定位的方式:#id的值

class定位的方式:.class的值 注意:如果是多個class表示的話則每個空格類前面都新增.

元素:nth-child(索引):表示的是如果當前標籤中沒有其他屬性可以選擇的話,並且同時存在多個相同標籤則會通過索引進行選擇,相當於xpath的絕對路徑

html>body>div>div>div>div>div>form>span:nth-child(1)>input

元素:last-child:表示的是指定在父節點底下的最後乙個子標籤

4.selenium對瀏覽器的操作:

獲取當前螢幕的大小是系統所設定的解析度大小

#在操作瀏覽器時,前進以及後退需要注意是否存在歷史操作

#瀏覽器頁面的前進#get_driver.forward()

#瀏覽器頁面的後退#get_driver.back()

#瀏覽器最大化#get_driver.maximize_window()

#瀏覽器最小化#get_driver.minimize_window()

#get_driver.set_window_size()

對文字框進行清除使用的函式是clear()

通過元素帶有的get_attribute方法進行獲取其他元素的值

5.通過by的形式進行元素定位:其模組在:from

robot framework 介面自動化測試

介面測試比ui測試更有價值,如果專案時間緊張,測試介面更好一些,但每次都頻繁的手工填寫介面進行測試也浪費時間,下面給大家介紹一下很好的自動化測試框架robot framework,並且做介面自動化測試事半功倍。其返回值驗證和與資料庫連線進行增刪改查很方便,邏輯也很嚴謹,如果公司沒有造輪子推薦這麼做。...

Robotframework 介面自動化測試

1.目的 1 以雲平台為例 實現註冊 登入 更新apikey 新增專案 新增裝置 新增感測器 新增執行器 感測器每隔3s上報一次資料 1分鐘後與雲平台主動斷開連線的介面自動化測試。2 斷言每條用例是否執行成功。3 程式不管執行多少次都不報錯。2.robotframework環境搭建 1 安裝pyth...

python requests介面自動化測試 一

python requests環境部署 1.安裝python,配置系統環境變數 4.安裝requests庫 pip install requests 在進行介面自動化測試時,常用到的幾個requests庫方法。如下 get 不帶引數的請求 n requests.get 帶引數的請求 引數是以字典的形...