• 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 的您一份参考。

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

  • 相关阅读:
    PAT 甲级 1004 Counting Leaves
    C#列的一些操作
    EXT.NET 一些用法
    ext.net 所有版本
    鱼线拉力值
    CRM 总是弹出登录窗口
    台钓线组及各种绑法
    windows server 2012 r2 安装IIS失败
    [iOS]UITableView刷新
    [Linux]APUE读书笔记: 文件和目录
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/4690067.html
Copyright © 2020-2023  润新知