本主题解释如何使用 SOAtest 在特定移动设备上显示 web 页面时记录、回放和验证它们。 

在本章节中:

关于 SOAtest 的移动界面测试

可以使用 SOAtest 在特定移动设备上显示 web 页面时记录、回放和验证它们。这是通过让 SOAtest 假装是所需的移动设备(通过更改 SOAtest 的用户代理)来实现的,以便服务器向桌面浏览器发送适当的 web 应用程序的移动版本。例如,如果 SOAtest 将自己标识为 Android 设备,则它可能会访问一个旅游网站的 web 页面,如下所示:



可以通过输入适当的用户代理来模拟任何浏览器,但是用于回放的浏览器必须是使用传统引擎的 Firefox 或 Chrome 浏览器。

配置用户代理

若要配置 SOAtest 访问移动界面:

  1. 对于要测试的每个移动接口,配置一个扩展工具以使用适当的用户代理。这是通过设置系统属性 soatest.useragent 来完成的。覆盖到适当的用户代理。有关更多详情,请查阅 Sample Configurations 。
  2. 配置一个扩展工具来清除任何移动设备用户代理设置。这是通过设置系统属性 soatest.useragent 来完成的。覆盖到空字符串。例如,以下是清除移动设备用户代理设置的 Jython 脚本:

from java.lang import *

def setToDefault():

     System.setProperty("soatest.useragent.override", "");


设置用户代理

配置好这些扩展工具后,按如下方式使用它们:

注意,当您通过运行一个扩展工具来更新用户代理时,只要 SOAtest 是打开的,或者直到您运行一个扩展工具将其设置回默认值,用户代理设置将一直保持不变。关闭 SOAtest 时,这些设置将不会持续。

提示

示例配置

以下是一些常见移动设备的 Jython 脚本示例。您可以访问显示给 任何 移动设备的接口;只需使用适当的用户代理。

IPhone

from java.lang import *

def setToMobile():

    System.setProperty("soatest.useragent.override", "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");

iPad

from java.lang import *

def setToDefault():

    System.setProperty("soatest.useragent.override", "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/ 531.21.10");

Android

from java.lang import *

def setToDefault():

    System.setProperty("soatest.useragent.override", "Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HTC Desire 1.19.161.5 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");

Blackberry

from java.lang import *

def setToDefault():

    System.setProperty("soatest.useragent.override", "BlackBerry8700/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1");

Windows Phone 7

from java.lang import *

def setToDefault():

    System.setProperty("soatest.useragent.override", "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; SAMSUNG; Taylor)");