51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1766|回复: 4
打印 上一主题 下一主题

[转贴] selenium webdriver学习 02 – 对浏览器的简单操作

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-7-18 10:49:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
selenium webdriver对浏览器的简单操作
打开一个测试浏览器
对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏览器进行操作。但要注意的是,因为Chrome Driver是Chromium 项目自己支持和维护的,所以你必需另外下载安装Chrome Driver,详细介绍查下他们的wiki。
CODE:
  1. <font size="3">import java.io.File;
  2.   
  3. import org.openqa.selenium.WebDriver;
  4. import org.openqa.selenium.firefox.FirefoxBinary;
  5. import org.openqa.selenium.firefox.FirefoxDriver;
  6. import org.openqa.selenium.ie.InternetExplorerDriver;
  7.   
  8.   
  9. public class OpenBrowsers {
  10.   
  11.       
  12.     public staticvoid main(String[] args) {
  13.         //打开默认路径的firefox
  14.         WebDriver diver = new FirefoxDriver();
  15.          
  16.         //打开指定路径的firefox,方法1
  17.         System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");  
  18.         WebDriver dr = new FirefoxDriver();
  19.          
  20.         //打开指定路径的firefox,方法2
  21.         File pathToFirefoxBinary = new File("D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
  22.         FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);   
  23.         WebDriver driver1 = new FirefoxDriver(firefoxbin,null);
  24.          
  25.         //打开ie
  26.         WebDriver ie_driver = new InternetExplorerDriver();
  27.          
  28.         //打开chrome
  29.         System.setProperty("webdriver.chrome.driver","D:\\chromedriver.exe");
  30.         System.setProperty("webdriver.chrome.bin",
  31.                                              "C:\\Documents and Settings\\gongjf\\Local Settings"
  32.                                              +"\\Application Data\\Google\\Chrome\\Application\\chrome.exe");        
  33.          
  34.     }
  35.   
  36. }</font>
复制代码
CODE:
  1. <font size="3">import java.io.File;  
  2.    
  3. import org.openqa.selenium.WebDriver;  
  4. import org.openqa.selenium.firefox.FirefoxBinary;  
  5. import org.openqa.selenium.firefox.FirefoxDriver;  
  6. import org.openqa.selenium.ie.InternetExplorerDriver;  
  7.    
  8.    
  9. public class OpenBrowsers {  
  10.    
  11.       
  12.     public static void main(String[] args) {  
  13.         //打开默认路径的firefox  
  14.         WebDriver diver = new FirefoxDriver();  
  15.            
  16.         //打开指定路径的firefox,方法1  
  17.         System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
  18.         WebDriver dr = new FirefoxDriver();  
  19.            
  20.         //打开指定路径的firefox,方法2  
  21.         File pathToFirefoxBinary = new File("D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
  22.         FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);   
  23.         WebDriver driver1 = new FirefoxDriver(firefoxbin,null);  
  24.            
  25.         //打开ie  
  26.         WebDriver ie_driver = new InternetExplorerDriver();  
  27.            
  28.         //打开chrome  
  29.         System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");  
  30.         System.setProperty("webdriver.chrome.bin",  
  31.                                              "C:\\Documents and Settings\\gongjf\\Local Settings"
  32.                                              +"\\Application Data\\Google\\Chrome\\Application\\chrome.exe");         
  33.            
  34.     }  
  35.    
  36. }</font>
复制代码
打开指定路经ie和chrome方法和ff一样。
打开1个具体的url
打开一个浏览器后,我们需要跳转到特定的url下,看下面代码:
CODE:
  1. <font size="3">import org.openqa.selenium.WebDriver;
  2. import org.openqa.selenium.firefox.FirefoxDriver;
  3.   
  4. public class OpenUrl {
  5.     public staticvoid main(String []args){
  6.         String url = "http://www.51.com";
  7.         WebDriver driver = new FirefoxDriver();
  8.          
  9.         //用get方法
  10.         driver.get(url);
  11.          
  12.         //用navigate方法,然后再调用to方法
  13.         driver.navigate().to(url);
  14.     }
  15. }</font>
复制代码
CODE:
  1. <font size="3">import org.openqa.selenium.WebDriver;  
  2. import org.openqa.selenium.firefox.FirefoxDriver;  
  3.    
  4. public class OpenUrl {  
  5.     public static void main(String []args){  
  6.         String url = "http://www.51.com";  
  7.         WebDriver driver = new FirefoxDriver();  
  8.            
  9.         //用get方法  
  10.         driver.get(url);  
  11.            
  12.         //用navigate方法,然后再调用to方法  
  13.         driver.navigate().to(url);  
  14.     }  
  15. }</font>
复制代码
如何关闭浏览器
测试完成后,需要关闭浏览器
CODE:
  1. <font size="3">import org.openqa.selenium.WebDriver;
  2. import org.openqa.selenium.firefox.FirefoxDriver;
  3.   
  4. public class CloseBrowser {
  5.     public staticvoid main(String []args){
  6.         String url = "http://www.51.com";
  7.         WebDriver driver = new FirefoxDriver();
  8.          
  9.         driver.get(url);
  10.          
  11.         //用quit方法
  12.         driver.quit();
  13.          
  14.         //用close方法   
  15.         driver.close();
  16.         }
  17. }</font>
复制代码
CODE:
  1. <font size="3">import org.openqa.selenium.WebDriver;  
  2. import org.openqa.selenium.firefox.FirefoxDriver;  
  3.    
  4. public class CloseBrowser {  
  5.     public static void main(String []args){  
  6.         String url = "http://www.51.com";  
  7.         WebDriver driver = new FirefoxDriver();  
  8.            
  9.         driver.get(url);  
  10.            
  11.         //用quit方法  
  12.         driver.quit();  
  13.            
  14.         //用close方法   
  15.         driver.close();  
  16.         }  
  17. }</font>
复制代码
如何返回当前页面的url和title
有时候我们需要返回当前页面的url或者title做一些验证性的操作等。代码如下:
CODE:
  1. <font size="3">import org.openqa.selenium.WebDriver;
  2. import org.openqa.selenium.firefox.FirefoxDriver;
  3.   
  4. public class GetUrlAndTitle {
  5.     public staticvoid main(String []args){
  6.         String url = "http://www.51.com";
  7.         WebDriver driver = new FirefoxDriver();
  8.          
  9.         driver.get(url);
  10.          
  11.                 //得到title
  12.         String title = driver.getTitle();
  13.   
  14.                 //得到当前页面url
  15.         String currentUrl = driver.getCurrentUrl();
  16.          
  17.                 //输出title和currenturl
  18.         System.out.println(title+"\n"+currentUrl);
  19.          
  20.         }
  21. }</font>
复制代码
CODE:
  1. <font size="3">import org.openqa.selenium.WebDriver;  
  2. import org.openqa.selenium.firefox.FirefoxDriver;  
  3.    
  4. public class GetUrlAndTitle {  
  5.     public static void main(String []args){  
  6.         String url = "http://www.51.com";  
  7.         WebDriver driver = new FirefoxDriver();  
  8.            
  9.         driver.get(url);  
  10.            
  11.                 //得到title  
  12.         String title = driver.getTitle();  
  13.    
  14.                 //得到当前页面url  
  15.         String currentUrl = driver.getCurrentUrl();  
  16.            
  17.                 //输出title和currenturl  
  18.         System.out.println(title+"\n"+currentUrl);  
  19.            
  20.         }  
  21. }</font>
复制代码
其他方法
  • getWindowHandle() 返回当前的浏览器的窗口句柄
  • getWindowHandles() 返回当前的浏览器的所有窗口句柄
  • getPageSource() 返回当前页面的源码

小结
从上面代码可以看出操作浏览器的主要方法都来自org.openqa.selenium.WebDriver这个接口中。看了一下源代码这些方法都 是在org.openqa.selenium.remote.RemoteWebDriver这个类中实现的,然后不同浏览的driver类继承 RemoteWebDriver。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-7-18 15:07:07 | 只看该作者
给力的楼主
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-15 16:59 , Processed in 0.064222 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表