Selenium IDE定位策略(按id識別符號)

2019-10-16 23:03:50
  • 識別符號之前被用作預設型別,現在不推薦使用,因為WebDriver不支援它。
  • 使用識別符號,可以使用ID和Name等定位策略。
  • 使用具有匹配ID屬性的第一個元素。
  • 如果沒有元素具有匹配的ID屬性,則使用具有匹配name屬性的第一個元素。
  • 例如,id=login(可以是ID或Name)。

下面來看看一個關於如何在Selenium IDE中使用識別符號(ID)定位器作為命令目標的範例。

我們將建立一個登入測試,以便可以更好地了解通過識別符號(ID)定位元素。

  • 啟動Firefox瀏覽器。
  • 單擊瀏覽器右上角的Selenium圖示。
  • 它將啟動Selenium IDE的預設介面。
  • 單擊「測試指令碼編輯器」框中的命令文字框。

對於許多Selenium命令,需要一個目標。 此目標標識Web應用程式內容中的元素,並包含位置策略,後跟位置格式為locatorType = location。 在許多情況下可以省略定位器型別。

這可能是定位元素的最常用方法,並且在未使用已識別的定位器型別時是全部預設值。 使用此策略,將使用id屬性值與位置匹配的第一個元素。 如果沒有元素具有匹配的id屬性,則將使用具有與該位置匹配的name屬性的第一個元素。

例如,頁面程式碼可以具有idname屬性,如下所示:

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
    <title>Selenium範例? - 易百教學</title>
 <body>
 <div style="margin:auto;width:60%;">

  <p>
    Selenium範例
  </p>
  <?php
    if($_POST){
        $username = isset($_POST['username'])? trim($_POST['username']):'';
        $password = isset($_POST['password'])? trim($_POST['password']):'';
        if($username=='yiibai' && $password = '123456'){
            echo "<p>您好,{$username} !</p>";
        }
    }
    ?>
  <form id="loginForm" method="POST">
   <input name="username" type="text" id="username"/>
   <input name="password" type="password" id="password"/>
   <input name="continue" type="submit" id="continue" value="登入" />
  </form>
  </div>
 </body>
<html>

使用者名欄位的ID識別符號如下所示:

同樣也可以獲取密碼和登入的識別符號,最後寫在 Selenium IDE的命令如下所示:

執行自動測試後,得到以下結果: