Robot Framework 經驗談 - 在視窗間隨意切換

來源:互聯網
上載者:User

Selenium 2中,Browser對應瀏覽器執行個體進程,Window對應標籤頁。

當用Open Browser方法開啟一個新的瀏覽器,這個瀏覽器下的各個標籤頁就構成了多個Window,每個Window都有一個window_info[]依次儲存handle,id,name,title,url。Robot Framework的作者可能出於簡化技術性使用的考慮,僅提供name,title,url之類的使用者可見量用於Select Window,不使用唯一性更好的handle(其實很容易加進去)。

所以, 在Robot中切換到指定的window,可以先Switch Browser | ${open_browser_index} 到指定的瀏覽器執行個體(firefox,IE或者chrome),然後調用Select Window到指定的window。但如果name,title和url都不能夠唯一確定,就不能正確完成這個動作。特別是很多快顯視窗,這些參數都是省掉的,怎麼辦呢?

我的設計是比較執行觸發新視窗的動作前後所有的windows handles,找出新出來的哪一個。因為browser.get_window_handles()的範圍是本browser進程管理的windows,且Robot不是並發的,所以新的視窗能夠保證唯一性。


Get New Window Handle關鍵字:



使用舉例:


這個例子也寫成一個關鍵字的形式,因為如果想返回舊window的話,需要這裡的傳回值


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.