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

闲话少述,上码。

     /**
* Get browser type, for execute JavaScript by Selenium
*
* @author Aaron.ffp
* @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCore.java getBrowerType, 2015-7-26 12:17:12 Exp $
*
* @return browser type {Chrome|Firefox|InternetExplorer|Safari}
*/
public String getBrowserType(){
String browser = ""; switch (this.webdriver.toString().split(":")[0]) {
case "ChromeDriver":
browser = "Chrome";
break;
case "FirefoxDriver":
browser = "Firefox";
break;
case "InternetExplorerDriver":
browser = "InternetExplorer";
break;
case "SafariDriver":
browser = "Safari";
break;
default:
browser = "Chrome";
break;
} return browser;
}

测试源码如下所示:

 /**
* Aaron.ffp Inc.
* Copyright (c) 2004-2015 All Rights Reserved.
*/
package main.aaron.demo.browers; import main.aaron.sele.core.SeleniumCore; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.safari.SafariDriver;
import org.testng.annotations.Test; /**
*
* @author Aaron.ffp
* @version V1.0.0: autoSeleniumDemo main.aaron.demo.browers GetBrowersInfomation.java, 2015年7月24日 下午5:05:40 Exp $
*/
public class GetBrowersInfomation extends SeleniumCore{
private String baseUrl = "http://www.yixun.com/"; @Test
public void getChromeInfo() throws InterruptedException{
this.webdriver = new ChromeDriver(); this.webdriver.get(this.baseUrl); System.out.println(this.getBrowserType()); Thread.sleep(5000); this.webdriver.close();
this.webdriver.quit();
} @Test
public void getFirefoxInfo() throws InterruptedException{
System.setProperty("webdriver.firefox.bin", "C:/Program Files (x86)/Mozilla Firefox/firefox.exe"); this.webdriver = new FirefoxDriver(); this.webdriver.get(this.baseUrl); System.out.println(this.getBrowserType()); System.out.println(this.webdriver.toString()); Thread.sleep(5000); this.webdriver.close();
this.webdriver.quit();
} @Test
public void getIExplorerInfo() throws InterruptedException{
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); this.webdriver = new InternetExplorerDriver(); this.webdriver.get(this.baseUrl); System.out.println(this.getBrowserType()); this.webdriver.close();
this.webdriver.quit();
} @Test
public void getSafariInfo() throws InterruptedException{
this.webdriver = new SafariDriver(); this.webdriver.get(this.baseUrl); System.out.println(this.getBrowserType()); System.out.println(this.webdriver.toString()); Thread.sleep(5000); this.webdriver.close();
this.webdriver.quit();
}
}

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

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

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

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

Selenium2学习-019-WebUI自动化实战实例-017-获取浏览器类型的更多相关文章

  1. Selenium2学习-005-WebUI自动化实战实例-003-三种浏览器(Chrome、Firefox、IE)启动脚本源代码

    此文主要通过 三种浏览器(Chrome.Firefox.IE)启动脚本 功能,进行 Selenium2 三种浏览器启动方法的实战实例讲解.文中所附源代码于 2015-01-18 20:33 亲测通过, ...

  2. Selenium2学习-023-WebUI自动化实战实例-021-获取浏览器显示区域大小,通过 WebDriver 截图功能

    之前的博文 020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小) 简述了通过 JavaScript 获取浏览器显示区域大小,此文将简述另一种获取浏览器显 ...

  3. Selenium2学习-021-WebUI自动化实战实例-019-设置浏览器窗口位置大小

    前文简略讲述了如何获取浏览器窗口的位置和大小,此文讲述如何通过 webdriver 设置浏览器窗口的位置和大小. 直接上码了...... /** * Set browser size for expe ...

  4. Selenium2学习-020-WebUI自动化实战实例-018-获取浏览器窗口位置大小

    在 UI 自动化测试过程中,每个机器上浏览器的默认大小.默认位置不尽相同,需要截图的时候,页面元素可能显示不完全,因而我们需要知道浏览器的宽度,或者直接在启动浏览器时,设置浏览器的宽度或位置(此文暂不 ...

  5. Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置

    此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...

  6. Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)

    日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资 ...

  7. Selenium2学习-007-WebUI自动化实战实例-005-解决 Firefox 版本不兼容:org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary

    此文主要讲述 Java 运行 Selenium 脚本时,因 Friefox 浏览器版本与 selenium-server-standalone-x.xx.x.jar 不兼容引起的 org.openqa ...

  8. Selenium2学习-035-WebUI自动化实战实例-033-页面快照截图应用之三 -- 区域截图(专业版)

    之前有写过两篇博文讲述了 WebUI 自动化测试脚本中常用的截图方法,敬请参阅如下所示链接: 浏览器显示区域截图 浏览器指定区域截图 那么当需要截取的区域不在浏览器显示窗口范围之内时,之前的方法显然无 ...

  9. Selenium2学习-018-WebUI自动化实战实例-016-自动化脚本编写过程中的登录验证码问题

    日常的 Web 网站开发的过程中,为提升登录安全或防止用户通过脚本进行黄牛操作(宇宙最贵铁皮天朝魔都的机动车牌照竞拍中),很多网站在登录的时候,添加了验证码验证,而且验证码的实现越来越复杂,对其进行脚 ...

随机推荐

  1. 【SPOJ】10628. Count on a tree(lca+主席树+dfs序)

    http://www.spoj.com/problems/COT/ (速度很快,排到了rank6) 这题让我明白了人生T_T 我知道我为什么那么sb了. 调试一早上都在想人生. 唉. 太弱. 太弱. ...

  2. 关于Ruby的一些知识

    1 -9/2 = -5 当进行一个除法运算的结果是一个负数的时候,由于Ruby采取向负无穷大圆整,所以结果是-5.而由于除数是个整数,所以结果也是一个整数.而其他语言多数是向0取整. 2 连接字符串建 ...

  3. currentRowChanged 的注意事项

    Qt中的表单控件QListWidget类提供了许多信号函数,可以和用户交互,其中有个currentRowChanged ( int currentRow ) 是检测当前选中行是否发生了改变,如果改变了 ...

  4. java编译自动化

    java编译自动化 http://h2ofly.blog.51cto.com/6834926/1545452?utm_source=tuicool&utm_medium=referral

  5. 2016.03.31,英语,《Vocabulary Builder》Unit 08

    tend/tent: from the Latin tendere, meaning 'to stretch, extend, or spread'. tent: [tent] n. 帐篷 vt.&a ...

  6. AMD PerfStudio

    用PerfStudio 抓DX11 OIT

  7. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  8. html 符号大全

    ░ ▒ ▬ ♦ ◊ ◦ ♠ ♣ ▣ ۰•● ❤ ●•۰► ◄ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ▪ ▫ ☼ ♦ ♧♡♂♀♠♣♥❤☜☞☎☏⊙◎ ☺☻☼▧▨♨◐◑↔↕▪ ▒ ◊◦▣▤▥ ▦▩◘ ◈◇♬♪♩♭♪の ...

  9. jquery循环绑定事件

    <html> <head> <title></title> <script type="text/javascript" sr ...

  10. textView截取字符串-医生工作台1期

    textfield截取字符串 ios7 会崩溃 解: 之前的写法是这样的 正确的写法:   先判断markedTextRange是否为nil,   markedTextRange这个属性是啥意思呢 表 ...