Selenium 及其應用程序中的動作類是什麼?

已發表: 2021-05-19

Selenium 中的 Action Class 是 selenium 提供的用於管理鍵盤和鼠標事件的內置功能。 它可以管理多個操作和事件,例如控制鍵、拖放等等。 Action 類的操作是使用 Selenium Webdriver 的高級用戶交互 API 功能實現的。

目錄

常用的鍵盤和鼠標事件

使用高級用戶交互 API 處理特殊的鍵盤和鼠標事件。 此 API 包含執行這些事件時所需的 Action 和 Actions 類。 下面給出了 Action 類中提供的常用鍵盤和鼠標事件。

方法描述
單擊並按住() 在當前鼠標位置單擊而不釋放。
上下文點擊() 在當前鼠標位置執行上下文單擊(右鍵單擊鼠標操作)
雙擊() 在當前鼠標位置執行雙擊動作
拖放(源,目標) 在源元素位置執行單擊並按住操作,然後移動到目標元素位置並釋放鼠標。

參數:

源元素來模擬按鈕按下事件。

移動和釋放鼠標的目標元素

dragAnd DropBy(source, x-offset, y-offset) 在源元素位置執行單擊並按住,移動指定的偏移量,然後釋放鼠標。

參數:

源元素來模擬按鈕按下事件。

xOffset- 指定水平移動偏移量。

yOffset- 指定垂直移動偏移量。

keyDown(修飾鍵) 執行修飾鍵按下事件。 假設它被按下,不會在隨後的交互中釋放修改鍵。

參數:

modifier_key 表示任何修飾鍵,例如 Keys.SHIFT、Keys.ALT 或 Keys.CONTROL。

向上鍵(修飾鍵) 執行密鑰釋放。

參數:

modifier_key 表示任何修飾鍵,例如 Keys.SHIFT、Keys.ALT 或 Keys.CONTROL。

moveByOffset(x 偏移,y 偏移) 將鼠標從當前位置移動指定的偏移量。

參數:

x-offset 指定水平偏移量。 負值表示鼠標向左移動。

y-offset 指定垂直偏移。 負值表示鼠標向下移動。

移動到元素(到元素) 將鼠標從元素的中間移動到元素的中間。

參數:

element 表示要移動到的元素。

發布() 在當前鼠標位置釋放按下的鼠標左鍵。
sendKeys(onElement,字符序列) 向元素發送一系列擊鍵。

參數:

表示將獲得擊鍵的元素的元素,通常是文本字段。

字符序列 - 表示發送的擊鍵序列的任何字符串值。

Selenium Action 類的應用示例

1.導​​入Action和Action類

導入 org.open a.selenium.interactions.Action;

導入 org.open a.selenium.interactions.Actions;

2.實例化一個新的Actions對象

動作生成器 = 新動作(驅動程序);

3.使用上一步中的Action對象實例化一個Action

動作 mouseOverHome = builder

.moveToElement(link_Home)

。建造();

在這裡,我們使用 moveToElement() 方法將鼠標懸停在 Home 鏈接上。 build() 始終是確保在一個步驟中編譯所有操作的最終方法。

4.在執行我們在上一步中聲明的Action對象時使用perform方法。

句法:

mouseOverHome.perform();

示例 2:

讓我們再舉一個例子,其中 Action 類用於實現文本框的自動完成功能。

要手動執行此操作,我們按下 shift 鍵,輸入必須以大寫形式輸入的文本,然後鬆開 shift 鍵。 把,Shift + 字母鍵同時按下。

為了通過自動化腳本模擬相同的操作,使用了 Actions Class 方法。

1.導​​入包

Action 和 Actions 類存在於 Web Driver API 的 org.openqa.selenium.interactions 包中。 要使用這些,您必須導入包:

org.openqa.selenium.interactions.Action;

org.openqa.selenium.interactions.Actions;

2.實例化Action類

如果您創建了 Actions 類的對象來調用它的方法,將會有所幫助。 因此,我們實例化 Actions 類並使用 WebDriver 對象來啟動該類。 語法是:

動作動作=新動作(webdriver對象);

3. 生成一系列動作

在此示例中,執行多個操作的步驟順序為:

  • 按 Shift 鍵
  • 發送所需的文本
  • 釋放 Shift 鍵

要執行這些操作,Action 類具有以下方法:

  • keyDown 方法按下 Shift 鍵。
  • sendKeys 方法發送所需的文本。
  • keyUp 方法釋放 Shift 鍵。
  • keyDown 充當修飾鍵按下以聚焦於元素,而 keyUp 方法釋放按下的修飾鍵。

當同時按下兩個鍵時,修飾鍵會更改另一個鍵的操作。 例如,Shift、Alt 和 Ctrl。

會生成一系列操作,但這些操作是在 webElement 上執行的。 步驟如下:

WebElement 元素 = driver.findElement;

actions.keyDown(element, Keys, Shift);

action.sendKeys(“TexttoBeConvertAndSendInUpperCase);

動作.keyUp(Keys.Shift);

這裡要注意的重要一點是,如果您碰巧將鼠標懸停在任何 Action 類方法周圍,則會返回一個 Actions 類對象。

4. 構建動作序列

您可以通過 Actions 類的 build() 方法構建動作序列。 此方法生成準備好執行的整個操作集。 語法是:

動作動作 = actions.build();

build() 方法返回一個 Action 類型的對象,它表示由方法調用調用的多個操作序列構建的複合操作。

5. 執行動作序列

執行 Action 類的最後一步是通過 Action 接口的 perform() 方法執行動作序列。 語法是:

動作.執行();

必須執行上述步驟以利用所有 Actions 類方法並使用鍵盤和鼠標執行不同的用戶操作。

從世界頂級大學在線學習軟件開發課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

接下來是什麼?

如果您有興趣了解有關全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的執行 PG 計劃全棧軟件開發,該計劃專為在職專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目,以及任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

Selenium 中的動作類是什麼?

動作類是描述可以在 Web 元素上執行的動作或一系列動作的類。 我們通過定位器識別我們想要對其執行操作的元素。 動作類由公共靜態類級別修飾符和動作後綴(即Action、KeyAction、PageAction 等)的兩個字符組合定義。 public static 修飾符使我們能夠將類公開為可以實例化的類。 Action 後綴表示正在執行的操作的類型。 Action 後綴類也是參數化的。 參數是動作的元素名稱。 例如,如果我們想對文本字段執行操作,我們將使用參數 textfield。

硒的用途是什麼?

Selenium 是一個非常強大的便攜式軟件測試工具(selenium software testing tool),用於記錄和回放用戶在網頁上的操作。 它用於在任何 Web 瀏覽器上測試 Web 應用程序的功能性和非功能性需求。 它是用 Java 實現的,並且有一個非常簡單的 API。 它支持在所有主要網絡瀏覽器(如 Firefox、Chrome、Internet Explorer、Safari 等)中進行網絡應用程序測試。

如何在 Java 中學習 Selenium?

Selenium 是一種工具,可讓您使用多種編程語言編寫自動化測試。 測試是使用 Web 驅動程序編寫的。 您可以使用它來測試基於以下編程語言的 Web 應用程序:Java、C#、Python 和 PHP。 實際上,很多開發者覺得學習 Selenium Java API 並沒有太大的必要。 Selenium WebDriver 是在頁面上查找元素並使用它們執行操作的正確選擇。 可以用許多編程語言來實現測試,但是如果你需要用 Java 編寫測試,那麼 Selenium WebDriver 是最好的選擇。 在 Java 中學習 Selenium 的另一種方法是使用 Selenium IDE,也稱為 Selenium RC。 瀏覽器對此工具的支持並不如我們所知的那麼好,僅支持 Firefox 和 Chrome。 但是,IDE 可以幫助您快速設計和執行 Selenium 測試用例,記錄和回放測試用例,自動生成測試用例等。