這裡面寫的是以前的一些筆記!和大家分享一下,希望能幫到大家!
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 帶引數的請求 引數是以字典的形...