通過控制代碼轉換瀏覽器driver.switchto().window(控制代碼字串)
首先要獲得當前瀏覽器,也就是主頁面的控制代碼:
string currenthandle =driver.getwindowhandle();
然後,會通過某個操作觸發開啟新頁面,此時新頁面的控制代碼未知,需要獲得新頁面的控制代碼,來定位瀏覽器,再進行後續操作,定位新瀏覽器控制代碼:
方法一思路:開啟新瀏覽器前,獲取主瀏覽器控制代碼,如上**。觸發操作彈出新的瀏覽器之後,將所有一開啟的瀏覽器控制代碼,放在乙個集合裡,遍歷集合,如果控制代碼不等於主瀏覽器控制代碼,則定位該瀏覽器。
//將所有瀏覽器控制代碼儲存在集合allhandles中
set<
string
> allhandles;
allhandels=driver.getwindowhandles();
//遍歷集合,每次遍歷的值放在windowsid裡面,比較是否與主瀏覽器控制代碼一致,不一致則獲得新瀏覽器控制代碼,換到新的瀏覽器上
for(string windowid:allhandels)
else
}//返回主瀏覽器
driver.switchto().window(currenthandle);
方法二思路:開啟新瀏覽器前,獲取主瀏覽器控制代碼,如最上面**。觸發操作彈出新的瀏覽器之後,將所有一開啟的瀏覽器控制代碼,放在乙個迭代器裡,訪問迭代器的序列,第乙個值是主頁面,第二個值就是新開啟頁面的控制代碼。
//將所有控制代碼放在迭代器it中
iteratorit = driver.getwindowhandles().iterator();
//訪問迭代序列中的第乙個值
it.next();
//訪問迭代序列中的第二個值,作為控制代碼,定位瀏覽器
driver.switchto().window(it.next());
//返回主瀏覽器
driver.switchto().window(currenthandle);
沒有搞懂迭代器的儲存順序為什麼是先儲存第乙個瀏覽器控制代碼,之後是第二個,而且迭代器是單向訪問的,個人不習慣用這個,但是也可以實現切換瀏覽器。 selenium瀏覽器操作
在元素定位中xpath使用的還算比較多,介紹一下常見的firfox和chrome瀏覽器外掛程式安裝 一 瀏覽器定位工具安裝 1 firfox firfox比較簡單,主要瀏覽器自帶的定位功能也比較強大國內也比較好的支援外掛程式安裝 1 安裝 我這裡已經安裝好了所以可以在 我的附加元件 裡面檢視,如果沒...
Selenium多瀏覽器適配
selenium支援多種瀏覽器,實際測試中可以通過工程模式建立不同瀏覽器的例項,從而完成多種瀏覽器的適配測試。selenium支援的瀏覽器種類如下 chromedriver 谷歌瀏覽器 internetexplorerdriver 微軟ie firefoxdriver 火狐operadriver 歐...
selenium多次開啟瀏覽器
當測試類中定義了setup 方法時,每條測試用例執行前都會呼叫此方法.同樣執行完畢也會呼叫teardown 所以在setup 中開啟瀏覽器後,每執行一條test case都會開啟一次瀏覽器.解決這個問題的辦法 使用全程只呼叫一次的setupclass 和teardownclass 注意 用 clas...