如何使用Selenium WebDriver进行Web自动化?


我们可以使用Selenium webdriver进行web自动化。为此,我们需要遵循以下步骤:

步骤1 - 创建Webdriver。例如:

   WebDriver driver = new ChromeDriver();

以上代码用于创建一个webdriver实例并在Chrome浏览器中启动脚本执行。

步骤2 - 启动我们要执行UI测试的URL。例如:

   driver.get("https://tutorialspoint.com/index.htm");

以上代码将启动作为参数传递给get方法的URL。

步骤3 - 使用任何定位器(如id、class、name、tag name、link text、partial link text、CSS或XPath)来识别web元素。findElement方法用于使用这些定位器来识别元素。例如:

   WebElement e = driver.findElement(By.id("txt"));

以上代码用于使用id定位器来识别元素。

步骤4 - 在元素被定位后,对其执行操作,例如输入文本、点击等。例如:

   e.sendKeys("Rest Assured");

以上代码用于在步骤3中识别的元素上输入数据。

步骤5 - 验证在步骤4中执行操作对网页的影响。例如:

String st = e.getAttribute("value");

Assert.assertEquals(st, "Rest Assured");

以上代码用于比较并验证实际值是否等于预期值-Selenium。

步骤6 - 向测试添加测试框架,如TestNG/JUnit。有关如何设置TestNG的详细信息,请访问以下链接:

https://tutorialspoint.com/testng/index.htm

步骤7 - 执行测试并记录使用测试框架创建的结果。

步骤8 - 通过退出webdriver会话来结束测试。例如:

driver.quit();

示例

代码实现

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class NewTest {
   @Test
   public void f() {
      System.setProperty("webdriver.chrome.driver", "chromedriver");

      //webdriver instance
      WebDriver driver = new ChromeDriver();

      // implicit wait
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

      //url launch
      driver.get("https://tutorialspoint.com/index.htm");

      //element identify
      WebElement elm = driver.findElement(By.tagName("input"));

      //perform action - input text
      elm.sendKeys("Selenium");
      String s = elm.getAttribute("value");

      //validate result with Assertion
      Assert.assertEquals(s, "Selenium");

      //quit browser
      driver.quit();
   }
}

输出

更新于:2021年11月17日

592 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告