1、瀏覽器復用場景(chrome瀏覽器)
2、使用cookie完成頁面的自動登入
3、瀏覽器復用步驟:
1、進入chrome瀏覽器的安裝路徑,並在該路徑下開啟cmd命令列,輸入以下命令:
chrome --remote-debugging-port=9222
這個命令相當於開啟了chrome的乙個除錯網頁,通過這種方式開啟的網頁不要關閉,
2、通過python**實現瀏覽器開啟時直接復用步驟1中開啟的除錯網頁,**在定義webdriver變數時傳入了options引數
chrome_args = webdriver.chromeoptions()
chrome_args.debugger_address = "127.0.0.1:9222"
self.driver = webdriver.chrome(options=chrome_args)
注意:在執行**前需要先把所有chrome網頁關閉,然後重新開啟除錯網頁,再執行復用瀏覽器的**;如果之前有開啟非除錯的chrome網頁,會導致**執行卡住
3、如果你的網頁需要進行掃碼登入,那麼你可以先在除錯瀏覽器網頁中進行登入,使用步驟2的**復用瀏覽器後,就直接可以進行元素定位,這樣就可以省略掉登入的步驟了
cookie:是瀏覽器的乙個資料快取或者是身份標識,在cookie沒有失效的情況下,伺服器可以使用瀏覽器的cookie資料實現使用者的自動登入,cookie的有效期是伺服器來決定的
selenium提供了乙個可以直接獲取當前頁面的cookie資訊的方法,只要把獲取到的cookie資料儲存下來,然後復用該cookie就能實現網頁的自動登入
1、首先要自己登入網頁後,通過**去獲取網頁的cookie資訊,並儲存到json檔案中
class testlogin:
def setup_method(self):
chrome_args = webdriver.chromeoptions()
chrome_args.debugger_address = "127.0.0.1:9222"
self.driver = webdriver.chrome(options=chrome_args)
def test_getcookies(self):
# 使用瀏覽器除錯網頁登入後,直接獲取網頁的cookie資訊
cookies = self.driver.get_cookies()
# 將獲取到的cookie資訊寫入到cookies.json檔案中
with open("cookies.json", "w") as f:
json.dump(cookies, f)
2、從json檔案中讀取cookie資訊,實現網頁的自動登入
def test_login(self):
# 先開啟需要登入的網頁(未登入的狀態下)
self.driver.get("")
# 讀取cookie資訊
with open("cookies.json", "r") as f:
cookies = json.load(f)
# 通過add_cookie方法注入cookie,add_cookie方法在注入之前要開啟需要注入的網頁,就是第一行**
for cookie in cookies:
self.driver.add_cookie(cookie)
# 注入後,重新開啟登入後的頁面
self.driver.get("wework_admin/frame")
self.driver.find_element_by_id("menu_contacts").click()
sleep(3)
自動化測試 web自動化測試
自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...
web自動化測試的登入處理
一.復用已有瀏覽器 應用場景 登入頁面需要使用者進行掃碼登入的 1.推出當前所有的谷歌瀏覽器 2.找到chrome的啟動路徑,並配置到環境變數中 3.啟動命令 windows chrome remote debugging port 9222 mac chrome remote debugging ...
web自動化測試
1.環境搭建 win10 64bit selenium2.53.6版本 安裝方法 pip install selenium 2.53.6 瀏覽器搭載三個 chrome 49版本 driver2.22 ie 11版本 driver2.5 firefox 44版本 在pycharm中關聯電腦本身安裝的工...