zoukankan      html  css  js  c++  java
  • WebDriver API 实例详解(一)

    一、访问某网页地址

    被测试网页的网址:

    http://www.baidu.com

    Java语言版本的API实例代码:

    方法1:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.WebDriver;
     6 import org.openqa.selenium.chrome.ChromeDriver;
     7 import org.testng.annotations.AfterMethod;
     8 
     9 public class ChormeOpen {
    10     WebDriver driver;
    11   @Test
    12   public void opentest() {
    13       driver.get("http://www.baidu.com");
    14       try {
    15         Thread.sleep(5000);
    16     } catch (InterruptedException e) {
    17         // TODO Auto-generated catch block
    18         e.printStackTrace();
    19     }
    20   }
    21   @BeforeMethod
    22   public void beforeMethod() {
    23       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    24         driver = new ChromeDriver();
    25   }
    26 
    27   @AfterMethod
    28   public void afterMethod() {
    29       driver.quit();
    30   }
    31 
    32 }
    View Code

    方法2:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.WebDriver;
     6 import org.openqa.selenium.chrome.ChromeDriver;
     7 import org.testng.annotations.AfterMethod;
     8 
     9 public class ChormeOpen {
    10     WebDriver driver;
    11   @Test
    12   public void opentest() {
    13       driver.navigate().to("http://www.baidu.com");
    14       try {
    15         Thread.sleep(5000);
    16     } catch (InterruptedException e) {
    17         // TODO Auto-generated catch block
    18         e.printStackTrace();
    19     }
    20   }
    21   @BeforeMethod
    22   public void beforeMethod() {
    23       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    24         driver = new ChromeDriver();
    25   }
    26 
    27   @AfterMethod
    28   public void afterMethod() {
    29       driver.quit();
    30   }
    31 
    32 }
    View Code

    二、返回上一个访问的网页(模拟点击浏览器的后退功能)

    被测试网页的网址:

    http://www.hao123.com

    http://www.baidu.com

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.WebDriver;
     6 import org.openqa.selenium.chrome.ChromeDriver;
     7 import org.testng.annotations.AfterMethod;
     8 
     9 public class ChormeOpen {
    10     WebDriver driver;
    11     String url = "http://www.baidu.com";
    12     String url2 = "http://www.hao123.com";
    13   @Test
    14   public void opentest() {
    15       driver.navigate().to(url);
    16       driver.navigate().to(url2);
    17       driver.navigate().back();//返回
    18       try {
    19         Thread.sleep(5000);
    20     } catch (InterruptedException e) {
    21         // TODO Auto-generated catch block
    22         e.printStackTrace();
    23     }
    24   }
    25   @BeforeMethod
    26   public void beforeMethod() {
    27       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    28         driver = new ChromeDriver();
    29   }
    30 
    31   @AfterMethod
    32   public void afterMethod() {
    33       driver.quit();
    34   }
    35 
    36 }
    View Code

    三、从上次访问网页前进到下一个网页(模拟单击浏览器的前进功能)

    被测试网页的网址:

    http://www.hao123.com

    http://www.baidu.com

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.WebDriver;
     6 import org.openqa.selenium.chrome.ChromeDriver;
     7 import org.testng.annotations.AfterMethod;
     8 
     9 public class ChormeOpen {
    10     WebDriver driver;
    11     String url = "http://www.baidu.com";
    12     String url2 = "http://www.hao123.com";
    13   @Test
    14   public void opentest() {
    15       driver.navigate().to(url);
    16       driver.navigate().to(url2);
    17       driver.navigate().back();//返回
    18       driver.navigate().forward();//前进
    19       try {
    20         Thread.sleep(5000);
    21     } catch (InterruptedException e) {
    22         // TODO Auto-generated catch block
    23         e.printStackTrace();
    24     }
    25   }
    26   @BeforeMethod
    27   public void beforeMethod() {
    28       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    29         driver = new ChromeDriver();
    30   }
    31 
    32   @AfterMethod
    33   public void afterMethod() {
    34       driver.quit();
    35   }
    36 
    37 }
    View Code

    四、刷新当前网页

    被测试网页的网址:

    http://www.hao123.com

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.WebDriver;
     6 import org.openqa.selenium.chrome.ChromeDriver;
     7 import org.testng.annotations.AfterMethod;
     8 
     9 public class ChormeOpen {
    10     WebDriver driver;
    11     String url2 = "http://www.hao123.com";
    12   @Test
    13   public void opentest() {
    14       driver.navigate().to(url2);
    15       driver.navigate().refresh();//刷新
    16       try {
    17         Thread.sleep(5000);
    18     } catch (InterruptedException e) {
    19         // TODO Auto-generated catch block
    20         e.printStackTrace();
    21     }
    22   }
    23   @BeforeMethod
    24   public void beforeMethod() {
    25       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    26         driver = new ChromeDriver();
    27   }
    28 
    29   @AfterMethod
    30   public void afterMethod() {
    31       driver.quit();
    32   }
    33 
    34 }
    View Code

     五、操作浏览器窗口

    被测试网页的网址:

    http://www.hao123.com

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.Dimension;
     6 import org.openqa.selenium.Point;
     7 import org.openqa.selenium.WebDriver;
     8 import org.openqa.selenium.chrome.ChromeDriver;
     9 import org.testng.annotations.AfterMethod;
    10 
    11 public class ChormeOpen {
    12     WebDriver driver;
    13     String url2 = "http://www.hao123.com";
    14   @Test
    15   public void opentest() {
    16       //离屏幕左上角的位置
    17       Point point = new Point(150, 150);
    18       //浏览器窗口的长、宽
    19       Dimension dimension = new Dimension(500, 500);
    20       driver.manage().window().setPosition(point);
    21       driver.manage().window().setSize(dimension);
    22       driver.navigate().to(url2);
    23       //窗口最大化
    24       //driver.manage().window().maximize();
    25       try {
    26         Thread.sleep(5000);
    27     } catch (InterruptedException e) {
    28         // TODO Auto-generated catch block
    29         e.printStackTrace();
    30     }
    31   }
    32   @BeforeMethod
    33   public void beforeMethod() {
    34       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    35         driver = new ChromeDriver();
    36   }
    37 
    38   @AfterMethod
    39   public void afterMethod() {
    40       driver.quit();
    41   }
    42 
    43 }
    View Code

    六、获取页面的Title属性

    被测试网页的网址:

    http://www.baidu.com

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.WebDriver;
     6 import org.openqa.selenium.chrome.ChromeDriver;
     7 import org.testng.annotations.AfterMethod;
     8 
     9 public class ChormeOpen {
    10     WebDriver driver;
    11     String url2 = "http://www.baidu.com";
    12   @Test
    13   public void opentest() {
    14       driver.navigate().to(url2);
    15       String title = driver.getTitle();
    16       System.out.println(title);
    17       try {
    18         Thread.sleep(5000);
    19     } catch (InterruptedException e) {
    20         // TODO Auto-generated catch block
    21         e.printStackTrace();
    22     }
    23   }
    24   @BeforeMethod
    25   public void beforeMethod() {
    26       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    27         driver = new ChromeDriver();
    28   }
    29 
    30   @AfterMethod
    31   public void afterMethod() {
    32       driver.quit();
    33   }
    34 
    35 }
    View Code

    七、获取当前页面的URL地址

    被测试网页的网址:

    http://www.baidu.com

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 import org.testng.annotations.BeforeMethod;
     5 import org.openqa.selenium.WebDriver;
     6 import org.openqa.selenium.chrome.ChromeDriver;
     7 import org.testng.annotations.AfterMethod;
     8 
     9 public class ChormeOpen {
    10     WebDriver driver;
    11     String url2 = "http://www.baidu.com";
    12   @Test
    13   public void opentest() {
    14       driver.navigate().to(url2);
    15       String currenturl = driver.getCurrentUrl();
    16       System.out.println(currenturl);
    17       try {
    18         Thread.sleep(5000);
    19     } catch (InterruptedException e) {
    20         // TODO Auto-generated catch block
    21         e.printStackTrace();
    22     }
    23   }
    24   @BeforeMethod
    25   public void beforeMethod() {
    26       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    27         driver = new ChromeDriver();
    28   }
    29 
    30   @AfterMethod
    31   public void afterMethod() {
    32       driver.quit();
    33   }
    34 
    35 }
    View Code

    八、在输入框中清除原有的文字内容

    被测试网页的HTML源码:

    1 <html>
    2 <head>
    3 <meta charset="UTF-8">
    4 </head>
    5 <body>
    6     <input type="text" id="text" value="默认内容">文本框</input>
    7 </body>
    8 </html>
    View Code

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 
     5 import org.testng.annotations.BeforeMethod;
     6 
     7 import java.io.File;
     8 
     9 import org.openqa.selenium.By;
    10 import org.openqa.selenium.WebDriver;
    11 import org.openqa.selenium.WebElement;
    12 import org.openqa.selenium.chrome.ChromeDriver;
    13 import org.testng.annotations.AfterMethod;
    14 
    15 public class ChormeOpen {
    16     WebDriver driver;
    17   @Test
    18   public void opentest() {
    19       File file = new File("");
    20       System.out.println(file.getAbsolutePath());
    21       String url = file.getAbsolutePath() + "/html/" + "file.html";
    22       driver.get(url);
    23       System.out.println(driver.getCurrentUrl());
    24       //
    25       WebElement input = driver.findElement(By.id("text"));
    26       //清除文本框中默认的内容
    27       input.clear();
    28       try {
    29         Thread.sleep(3000);
    30     } catch (InterruptedException e) {
    31         // TODO Auto-generated catch block
    32         e.printStackTrace();
    33     }
    34   }
    35   @BeforeMethod
    36   public void beforeMethod() {
    37       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    38         driver = new ChromeDriver();
    39   }
    40 
    41   @AfterMethod
    42   public void afterMethod() {
    43       driver.quit();
    44   }
    45 
    46 }
    View Code

    九、在输入框中输入指定内容

    被测试网页的HTML源码:

    1 <html>
    2 <head>
    3 <meta charset="UTF-8">
    4 </head>
    5 <body>
    6     <input type="text" id="text" value="默认内容">文本框</input>
    7 </body>
    8 </html>
    View Code

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 
     5 import org.testng.annotations.BeforeMethod;
     6 
     7 import java.io.File;
     8 
     9 import org.openqa.selenium.By;
    10 import org.openqa.selenium.WebDriver;
    11 import org.openqa.selenium.WebElement;
    12 import org.openqa.selenium.chrome.ChromeDriver;
    13 import org.testng.annotations.AfterMethod;
    14 
    15 public class ChormeOpen {
    16     WebDriver driver;
    17   @Test
    18   public void opentest() {
    19       File file = new File("");
    20       System.out.println(file.getAbsolutePath());
    21       String url = file.getAbsolutePath() + "/html/" + "file.html";
    22       driver.get(url);
    23       System.out.println(driver.getCurrentUrl());
    24       //
    25       WebElement input = driver.findElement(By.id("text"));
    26       //清除文本框中默认的内容
    27       input.clear();
    28       //输入内容
    29       input.sendKeys("输入指定内容");
    30       try {
    31         Thread.sleep(3000);
    32     } catch (InterruptedException e) {
    33         // TODO Auto-generated catch block
    34         e.printStackTrace();
    35     }
    36   }
    37   @BeforeMethod
    38   public void beforeMethod() {
    39       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    40         driver = new ChromeDriver();
    41   }
    42 
    43   @AfterMethod
    44   public void afterMethod() {
    45       driver.quit();
    46   }
    47 
    48 }
    View Code

    十、单击按钮

    被测试网页的HTML源码:

     1 <html>
     2 <head>
     3 <meta charset="UTF-8">
     4 </head>
     5 <body>
     6     <input type="text" id="text" value="默认内容">文本框</input>
     7     <input type="button" id="button" value="改变文本框的文字"
     8     onClick=document.getElementById("text").value="改变了!"></input>
     9 </body>
    10 </html>
    View Code

    Java语言版本的API实例代码:

     1 package test;
     2 
     3 import org.testng.annotations.Test;
     4 
     5 import org.testng.annotations.BeforeMethod;
     6 
     7 import java.io.File;
     8 
     9 import org.openqa.selenium.By;
    10 import org.openqa.selenium.WebDriver;
    11 import org.openqa.selenium.WebElement;
    12 import org.openqa.selenium.chrome.ChromeDriver;
    13 import org.testng.annotations.AfterMethod;
    14 
    15 public class ChormeOpen {
    16     WebDriver driver;
    17   @Test
    18   public void opentest() {
    19       File file = new File("");
    20       System.out.println(file.getAbsolutePath());
    21       String url = file.getAbsolutePath() + "/html/" + "file2.html";
    22       driver.get(url);
    23       System.out.println(driver.getCurrentUrl());
    24       //
    25       WebElement button = driver.findElement(By.id("button"));
    26       //点击
    27       button.click();
    28       try {
    29         Thread.sleep(3000);
    30     } catch (InterruptedException e) {
    31         // TODO Auto-generated catch block
    32         e.printStackTrace();
    33     }
    34   }
    35   @BeforeMethod
    36   public void beforeMethod() {
    37       System.setProperty("webdriver.chrome.driver", "F:\selenium\chromedriver.exe");
    38         driver = new ChromeDriver();
    39   }
    40 
    41   @AfterMethod
    42   public void afterMethod() {
    43       driver.quit();
    44   }
    45 
    46 }
    View Code
  • 相关阅读:
    企业IT管理员IE11升级指南【7】—— Win7和Win8.1上的IE11功能对比
    Microsoft Azure Web Sites应用与实践【3】—— 通过Visual Studio Online在线编辑Microsoft Azure 网站
    Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site
    万以内的数字转繁体
    你的生产力工具集
    nodejs保存图片至本地
    设置input 中placeholder的样式
    微信支付报调用支付JSAPI缺少参数: sign
    vuepress项目 配置/使用/部署 markdown语法
    移动端自适应js
  • 原文地址:https://www.cnblogs.com/successcai/p/6661500.html
Copyright © 2011-2022 走看看