1.Android自带浏览器的UAProfile实现
    1) UI设置
    在Android浏览器的地址栏内输入“about:debug”,并进入,这时不会有新的网页显示,但这却使浏
览器进入了debug模式。
    在Menu菜单中选择“More”,在弹出的菜单中选择“Settings”,在弹出的页面上你会发现多了一些
“debug”相关项,最后一项即为“UAString”,点击,弹出当前的已有的配置项
    2)代码实现:
strings.xml: \packages\apps\Browser\res\values\strings.xml
其中有如下一段:
<!-- Do not tranlsate.  Development option -->
<string-array name="pref_development_ua_choices" translatable="false">
        <item>Android</item>
        <item>Desktop</item>
        <item>iPhone</item>
</string-array>
<!-- Do not tranlsate.  Development option -->
<string-array name="pref_development_ua_values"  translatable="false">
        <item>0</item>
        <item>1</item>
        <item>2</item>
 </string-array>

pref_development_ua_choices:对应的是UserAgent时选项的名字
pref_development_ua_values:对应的是不同的UserAgent,

BrowserSettings.java:\packages\apps\Browser\src\com\android\browser\BrowserSettings.java
其中有如下代码:
private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (Macintosh; " +
            "U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, " +
            "like Gecko) Version/4.0 Safari/530.17";
    private static final String IPHONE_USERAGENT = "Mozilla/5.0 (iPhone; U; " +
            "CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 " +
            "(KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16";

public void update(Observable o, Object arg) {
            BrowserSettings b = (BrowserSettings)o;
            WebSettings s = mSettings;
            s.setLayoutAlgorithm(b.layoutAlgorithm);
            if (b.userAgent == 0) {
                // use the default ua string
                s.setUserAgentString(null);
            } else if (b.userAgent == 1) {
                s.setUserAgentString(DESKTOP_USERAGENT);
            } else if (b.userAgent == 2) {
                s.setUserAgentString(IPHONE_USERAGENT);
            }

由此我们可以看出第一段Java代码是不同的UserAgent字符串,从第二段代码中我们可以看出strings.xml中那个整
数的数组和不同UserAgent的对应关系,0对应默认的UserAgent,即Android Chrome Lite自己的UserAgent,1对应
的是Mac OS的UserAgent,2对应的是IPhone OS的UserAgent。

2. 设置自己的UAProfile
1) 在strings.xml中添加一个UserAgent选项的名字,然后添加一个序号
2) 在BrowserSettings.java中读取自己的UserAgent字符串,然后再加一个if:
else if (b.userAgent == 3) {
    s.setUserAgentString(YOUR_OWN_USERAGENT);

手机浏览器UA测试(三)相关推荐

  1. 通过JS解析手机浏览器UA标志中的各种设备信息

    通过获取手机浏览器的UA标志后,对UA字符串进行解析,得出手机的各种基本信息. /** @name Operating System* @desc Currently is only to userA ...

  2. 手机浏览器HTML5测试:三星Tizen居冠、Mango垫底

    GSMArena Blog 25日报导,根据Browserscope.org对手机浏览器进行的HTML 5测试,以Linux为基础的Tizen 平台 ( 三星电子与英特尔携手开发) 浏览器获得387点 ...

  3. 我们是如何测试360手机浏览器的 –360手机浏览器测试范围概述

    一.基本测试 冒烟测试 由开发,测试,产品共同参与进行. (1) 主流程和基本功能测试(要求产品参与,如果不参与,一定要说明原因.测试确认此过程完成) a) 将本次提测的核心功能过一遍:全部case中 ...

  4. 奇酷软件测试,我们是如何测试360手机浏览器的 --360手机浏览器测试范围概述

    原标题:我们是如何测试360手机浏览器的 --360手机浏览器测试范围概述 一.基本测试 1. 冒烟测试 由开发,测试,产品共同参与进行. (1) 主流程和基本功能测试(要求产品参与,如果不参与,一定 ...

  5. 搜狗手机浏览器测试管理方法(一)

    每个产品的测试中,都少不了对bug的管理,bug与产品质量息息相关,对bug能够高效合理管理,产品质量才能得到保证,也能大大降低产品上线风险,高效的bug管理体制,对整个项目进度也有着很大的影响. 搜 ...

  6. 揭秘搜狗手机浏览器测试高效管理方法(一)

    -----bug管理方法 每个产品的测试中,都少不了对bug的管理,bug与产品质量息息相关,对bug能够高效合理管理,产品质量才能得到保证,也能大大降低产品上线风险,高效的bug管理体制,对整个项目 ...

  7. 我们是如何测试360手机浏览器的 --360手机浏览器测试范围概述

    一.基本测试 冒烟测试 由开发,测试,产品共同参与进行. (1) 主流程和基本功能测试(要求产品参与,如果不参与,一定要说明原因.测试确认此过程完成) a) 将本次提测的核心功能过一遍:全部case中 ...

  8. 手机浏览器简单搜索ua标识

    手机浏览器简单搜索ua标识 根据自身体验,分享一下基于简单搜索的手机浏览器ua标识 这里用的浏览器是via,可以自定义ua标识. 设置 打开手机端 Via 浏览器在设置--通用--浏览器标识里选择&q ...

  9. selenium模拟手机浏览器测试

    selenium不仅仅可以测试桌面pc web浏览器,还可以对手机浏览器进行测试,从而不必用appium对手机测试,采用selenium比移动自动化有无可比拟的速度.稳定性优势: 学习目标:学会移动浏 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二十五) - 使用PID控制四轴飞行器 - 四轴飞行器(四旋翼)模拟器
  2. GIT使用总结(二)
  3. 数字滤波器的幅频响应
  4. 计算机网络数据容量100M,华工网络教育计算机网络作业及答案
  5. ubuntu服务器在虚拟机中的配置
  6. php用正则_php 正则表达式匹配(持续更新)
  7. java的属性只能在类里面 方法外面定义
  8. leetcode744. 寻找比目标字母大的最小字母(二分查找)
  9. 消息队列——发布订阅模式
  10. 计算机视频剪辑教程,电脑怎么剪辑视频?新手都能上手的视频剪辑教程分享
  11. java中的terminated_解决maven build 无反应,直接terminated的问题
  12. matlab程序框图,求大神告知程序框图
  13. 用html与js实现简单日历,纯JS实现简单的日历
  14. 2007舜宇杯ACM程序设计浙江省赛结果
  15. Java学习之代码扫描工具的使用方法
  16. 26、流程引擎API
  17. 移动商务进入战国时代 08年市场规模达306.5亿
  18. vba 读取linux换行符,【VBA研究】清除字符串中的回车换行符
  19. 【笔记】Polygon mesh processing 读书笔记(1)
  20. 2021年7月电动汽车保有量,充电站数量

热门文章

  1. win10用户和计算机,对于电脑工作者们,更喜欢用win7还是win10呢?
  2. 硬盘坏了可以修复吗?如何恢复里面的数据?
  3. ISO 8601时间格式时间创建
  4. 微信公众号--授权相关
  5. Qt小项目(二):调色器
  6. 敲开bp神经网络之门(二,mfcc中使用,c#)
  7. week10 day1 JavaScript
  8. 无理数的无理数次幂的结果可以是有理数?(以〖√2〗^√2为例)
  9. kaldi 学习笔记-三音素训练1(Decision Tree)
  10. 数据还原(recover)