[英]Selenium IDE:Opening in new tab and shift focus to new tab not working
我在selenium ide中陷入了一個問題
場景是這樣的
Login-----
go to dashboard page---------
mouse over any menu on the top navigational bar----
on mouseover sub menu will appear as drop down--
now click any link from the drop down --
after clicking link will open in new tab
現在,從那時起,我們必須將重點轉移到新選項卡上,因為其余的測試將在新選項卡上完成。
我寫的代碼如下
<tr>
<td>open</td>
<td>/magma/dev/</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=user_id</td>
<td>abcd</td>
</tr>
<tr>
<td>type</td>
<td>name=pass</td>
<td>1234</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>id=btnLogin</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Costing List</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Fuel</td>
<td></td>
</tr>
<tr>
<td>mouseOver</td>
<td>//div[@id='smoothmenu1']/ul/li[3]</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>link=Fuel Cost</td>
<td></td>
</tr>
<tr>
<td>selectWindow</td>
<td>http://10.0.1.101/magma/dev/fuelcost/</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Manage Fuel Cost</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Logout</td>
<td></td>
</tr>
此代碼正常工作,直到點擊下拉列表中的子菜單后,它不起作用,並在日志中顯示錯誤
因此,當我試圖運行該測試用例時,它顯示錯誤
[warn] Link的目標是'_blank',Selenium不支持! 將目標隨機化為:selenium_blank84419
任何人都可以幫我正確編寫代碼
以下代碼適用於我:
<tr>
<td>storeEval</td>
<td>selenium.getAllWindowNames()[1]</td>
<td>windowName</td>
</tr>
<tr>
<td>getEval</td>
<td>this.doEcho("array length: "+selenium.getAllWindowNames().length);this.doEcho("Available window names: "+selenium.getAllWindowNames());this.doEcho("Selecting window: "+storedVars['windowName']);</td>
<td></td>
</tr>
<tr>
<td>selectWindow</td>
<td>${windowName}</td>
<td></td>
</tr>
我希望它能幫助那些面臨類似問題的人
使用selectPopUp
,但不是storeEval
和selectWindow
,它們都太復雜了。
selectPopUp:
參數:windowID - 彈出窗口的標識符,可以采用許多不同的含義
簡化選擇彈出窗口的過程(並不提供超出selectWindow()已提供的功能)。
下面的代碼(selenium腳本,我從selenium IDE復制)表示以下代碼:
1.點擊“編輯”鏈接
2.等待2秒鍾(等待新窗口打開)
3.專注於新窗口
<tr>
<td>click</td>
<td>link=edit</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>2000</td>
<td></td>
</tr>
<tr>
<td>selectPopUp</td>
<td></td>
<td></td>
</tr>
<tr>
<td>selectWindow</td>
<td>http://10.0.1.101/magma/dev/fuelcost/</td>
<td></td>
</tr>
用window ID
或window title
或window name
替換<td>http://10.0.1.101/magma/dev/fuelcost/</td>
嘗試選擇selectWindow()只需提供窗口標題名稱withing()。 對於Ex:Window Title是Testing,然后命令:selectWindow title:Testing
要了解新打開的窗口的標題,請按照以下步驟操作:轉到新窗口右鍵單擊 - >查看頁面源按ctrl + F. 輸入標題和serch。 您將獲得新窗口的標題
我希望這可以幫助那里的人! 它對我很有用。 您仍然會在日志中收到警告,但測試工作正常。
單擊新選項卡事件后,請添加waitForPopUp和selectPopUp事件。 它對我有用。
我使用以下內容,它適用於我,希望它有所幫助! :)
storeEval | this.browserbot.findElement('link=link name').href | myUrl |
open | ${myUrl}
我用storeAttribute
incombination與open
。
鏈接: http : //www.seleniumwiki.com/software-testing/how-to-solve-the-link-has-target-_blank-which-is-not-supported-in-selenium/
我這樣使用它:
作為替代方案,可以在單擊之前從鏈接中刪除目標屬性。 以下是從當前頁面上的所有鏈接中刪除所有目標屬性的代碼:
<tr>
<td>runScript</td>
<td>Array.from(document.links).forEach(function(link){link.removeAttribute('target')})</td>
<td></td>
</tr>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.