簡體   English   中英

使用Selenium測試Javascript

[英]Testing Javascript Using Selenium

我正在嘗試測試一個網站。 除了菜單項,我能夠訪問大多數Web元素。

基本上有一個下拉菜單,我設法使用Selenium單擊該菜單,從而打開了下拉菜單。 現在,我需要單擊菜單中的一個元素,但是菜單似乎是用Javascript編寫的,而不是作為Web元素編寫的,因此我找不到找到訪問菜單項的方法。

有任何想法嗎? 我特別需要在Selenium中執行此操作。

更新:------------------------------------------------ --------------------------------------網站上的菜單可能是上下文菜單。 使用鼠標左鍵打開。 有什么想法可以訪問其選項嗎?

菜單可以使用頁面的javascript進行構造和操作,但是它將以html的形式存在。 您可以使用Selenium與該html進行交互。

 WebElement dropDownListBox = driver.findElement(By.id("Menu_id")); 
                  Select clickThis = new Select(dropDownListBox);                
                  clickThis.selectByVisibleText(activity); //If you know visible text
                //clickThis.getFirstSelectedOption();  // This will auto select first option in the drop down                
               // clickThis.selectByValue(1); //if you the value of drop down list items

打開上下文菜單並不是那么容易。 到目前為止,我正在通過執行javascript觸發鼠標事件(找不到其他解決方案)。 與該討論類似: 右鍵單擊觸發Selenium 2右鍵單擊

如果您只是觸發底層的js函數,有時它會很有用。 在大多數情況下,開發人員可以給您一個入口點進行呼叫。 這將使您可以繼續構建測試,並在一段時間后實現了javascript函數,該函數通過觸發事件來打開上下文菜單。

除了單擊菜單並使用硒中的向上和向下箭頭在菜單項中滾動外,我沒有使用Selenium訪問菜單項。

我使用OpenScript來記錄/回放測試,並且它一直有效。 在我的特定情況下,我使用的網站要求設置一個標志以使其可測試。 如果您在測試網站時遇到問題,則可能需要聯系開發人員,並詢問是否設置了“自動化”標志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM