Selenium2学习-019-WebUI自动化实战实例-017-获取浏览器类型

Web UI 自动化脚本分布执行过程中有时候需要获取浏览器的相关信息,此文给出了一个简略获取浏览器类型的方法,敬请各位小主们参阅。若有不足之处,敬请大神指正,不胜感激!

闲话少述,上码。

 1     /**
 2      * Get browser type, for execute JavaScript by Selenium
 3      * 
 4      * @author Aaron.ffp
 5      * @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCore.java getBrowerType, 2015-7-26 12:17:12 Exp $
 6      * 
 7      * @return browser type {Chrome|Firefox|InternetExplorer|Safari}
 8      */
 9     public String getBrowserType(){
10         String browser = "";
11         
12         switch (this.webdriver.toString().split(":")[0]) {
13             case "ChromeDriver":
14                 browser = "Chrome";
15                 break;
16             case "FirefoxDriver":
17                 browser = "Firefox";
18                 break;
19             case "InternetExplorerDriver":
20                 browser = "InternetExplorer";
21                 break;
22             case "SafariDriver":
23                 browser = "Safari";
24                 break;
25             default:
26                 browser = "Chrome";
27                 break;
28         }
29         
30         return browser;
31     }

测试源码如下所示:

 

 1 /**
 2  * Aaron.ffp Inc.
 3  * Copyright (c) 2004-2015 All Rights Reserved.
 4  */
 5 package main.aaron.demo.browers;
 6 
 7 import main.aaron.sele.core.SeleniumCore;
 8 
 9 import org.openqa.selenium.By;
10 import org.openqa.selenium.WebDriver;
11 import org.openqa.selenium.chrome.ChromeDriver;
12 import org.openqa.selenium.firefox.FirefoxDriver;
13 import org.openqa.selenium.ie.InternetExplorerDriver;
14 import org.openqa.selenium.remote.DesiredCapabilities;
15 import org.openqa.selenium.safari.SafariDriver;
16 import org.testng.annotations.Test;
17 
18 /**
19  * 
20  * @author Aaron.ffp
21  * @version V1.0.0: autoSeleniumDemo main.aaron.demo.browers GetBrowersInfomation.java, 2015年7月24日 下午5:05:40 Exp $
22  */
23 public class GetBrowersInfomation extends SeleniumCore{
24     private String baseUrl = "http://www.yixun.com/";
25     
26     @Test
27     public void getChromeInfo() throws InterruptedException{
28         this.webdriver = new ChromeDriver();
29         
30         this.webdriver.get(this.baseUrl);
31         
32         System.out.println(this.getBrowserType());
33         
34         Thread.sleep(5000);
35         
36         this.webdriver.close();
37         this.webdriver.quit();
38     }
39     
40     @Test
41     public void getFirefoxInfo() throws InterruptedException{
42         System.setProperty("webdriver.firefox.bin", "C:/Program Files (x86)/Mozilla Firefox/firefox.exe");
43         
44         this.webdriver = new FirefoxDriver();
45         
46         this.webdriver.get(this.baseUrl);
47         
48         System.out.println(this.getBrowserType());
49         
50         System.out.println(this.webdriver.toString());
51         
52         Thread.sleep(5000);
53         
54         this.webdriver.close();
55         this.webdriver.quit();
56     }
57     
58     @Test
59     public void getIExplorerInfo() throws InterruptedException{
60         DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
61         
62         capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
63         
64         this.webdriver = new InternetExplorerDriver();
65         
66         this.webdriver.get(this.baseUrl);
67         
68         System.out.println(this.getBrowserType());
69         
70         this.webdriver.close();
71         this.webdriver.quit();
72     }
73     
74     @Test
75     public void getSafariInfo() throws InterruptedException{
76         this.webdriver = new SafariDriver();
77        
78         this.webdriver.get(this.baseUrl);
79       
80         System.out.println(this.getBrowserType());
81       
82         System.out.println(this.webdriver.toString());
83       
84         Thread.sleep(5000);
85       
86         this.webdriver.close();
87         this.webdriver.quit();
88     }
89 }

 

 

 

此方法较为简单,也比较容易理解。同时,我发现在脚本运行过程中,若是 UI 自动化测试脚本报错,报错信息中除了相应的错误信息之外,也会包含有 driver版本、selenium版本、工作机、浏览器 等的详细信息,若是想要获取更详细的信息,以在后续的日志生成中记录响应的信息,则可以通过人为制造异常,从异常中获取相应需要的信息也可。(此种获取方式后续更新,敬请期待)

感兴趣的小主们,可以尝试一下以上异常捕获信息的方法。若是各位大神有更好的方法,劳烦告知,非常感谢!

 

至此,WebUI 自动化功能测试脚本第 017-获取浏览器类型 顺利完结,希望此文能够给初学 Selenium 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

posted @ 2015-07-30 17:46  范丰平  Views(818)  Comments(0Edit  收藏  举报