判断元素是否激活:isEnabled()

测试用例:

  1. 1. 打开“UI自动化测试”主页
  2. 2. 校验 submit 文本框为不可输入状态

代码实现:

  1. @Test
  2. public void isEnabledTest() {
  3. driver.get("file:///C:/selenium_html/index.html");
  4. Boolean b = driver.findElement(By.name("buttonhtml")).isEnabled();
  5. Assert.assertFalse(b);
  6. }

判断元素是否展示:isDisplayed()

之前我们讲过如果一个元素没有显示在页面,那么我们去操作往往会出现错误,所以我们一个去判断一个元素是否显示状态的方法。

测试用例:

  1. 1. 打开百度首页
  2. 2. 校验百度一下按钮已经展示

代码实现:

  1. @Test
  2. public void isDisplayedTest() {
  3. driver.get("http://www.baidu.com");
  4. Boolean b = driver.findElement(By.id("su")).isDisplayed();
  5. Assert.assertTrue(b, "校验百度一下按钮是否显示");
  6. }

判断单选/复选框是否选取:isSelected()

测试用例:

  1. 1. 打开 UI自动化测试”主页
  2. 2. 校验 Volvo”单选框已经选中

代码实现:

  1. @Test
  2. public void idSelectTest() {
  3. driver.get("file:///C:/selenium_html/index.html");
  4. WebElement element = driver.findElement(By.xpath("//*[@id=\"radio\"]/input[1]"));
  5. element.click();
  6. Boolean b = element.isSelected();
  7. Assert.assertTrue(b);
  8. }

截图

测试用例:

  1. 1. 打开百度主页
  2. 2. 截图

代码实现:

  1. @Test
  2. public void screenShot() {
  3. driver.get("https://www.baidu.com");
  4. File screenShotFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
  5. try {
  6. FileUtils.copyFile(screenShotFile, new File("./test.png"));
  7. } catch (IOException e) {
  8. e.printStackTrace();
  9. }
  10. }

执行JavaScript 脚本

自动化开展过程中,有时会遇到直接通过WebDriver提供的API并无法满足我们的要求,这时我们可能需要通过执行JavaScript 的方式来处理。

测试用例

  1. 1. 打开百度首页
  2. 2. 通过JS方式,往查询框插入值

代码实现:

  1. @Test
  2. public void exJS() throws InterruptedException {
  3. driver.get("http://www.baidu.com");
  4. JavascriptExecutor js = (JavascriptExecutor) driver;
  5. // 执行JS语句
  6. js.executeScript("document.getElementById(\"kw\").setAttribute(\"value\",\"执行JS\")");
  7. Thread.sleep(5000);
  8. }