2010-06-07 65 views
3

我想用硒/ JUnit的使用如何在运行时以编程方式更改Firefox配置?

href="http://firemobilesimulator.org/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9"> FireMobileSimulator plugin

鉴于该插件可以模拟多个不同的手机做一些移动仿真测试,我想通过测试交换到能够循环根据需要输出设备。

被仿真的设备由两个配置选项控制。能够在运行时以编程方式处理这些代码会很方便,但我不确定如何去做。我的google-fu让我失望。 任何人都可以提供解决方案吗?

回答

0

我希望能够在不启用Cookie的情况下测试应用程序,而无需维护Firefox配置文件。我发现firefox接受一个简单的配置文件,只包含prefs.js,它只包含设置user_pref(\"network.cookie.cookieBehavior\", 2);。所以我想出了一个小脚本来启动硒服务器。这仍然不是理想的,因为测试前提条件不应该在服务器启动,但脚本至少减少维护一个或多个完整的Firefox配置文件的努力。它可以运行在Firefox 3.6/linux下,也可能与老版本的Firefox版本一起运行。

仍然需要的插件没有集成。我完全不知道哪些步骤需要使用脚本“安装”和配置插件,但也许有初始化extensions.iniextensions/目录的可能性,可能还有更多。

该脚本假定当前目录中有一个包含selenium-server.jar的“lib”目录。

#!/bin/sh 
set -x 

# create firefox profile, cookies disabled 
d=`mktemp -d -t ffp.XXXXX` 
trap "rm -rf \"$d\"; exit" 0 1 2 3 15 
echo "user_pref(\"network.cookie.cookieBehavior\", 2);" > "$d/prefs.js" 

java -jar lib/selenium-server.jar -firefoxProfileTemplate "$d" 
+0

我有一个用我需要的扩展设置的配置文件,启动一种启用的设备是我现在可以做的事情(使用user.js设置首选项)。我可以通过每次重新启动Firefox来切换设备类型,并使用类似于您发布的脚本的方式更新此文件(非常感谢,顺便说一下)。这将是一个解决方案。如果可以选择更改而不必重新启动FF,那将是很好的选择。在这一点上,我认为添加一个新的xul文件,并在现有插件的下拉菜单中看起来像我将尝试的下一个选项。 – 2010-06-09 01:28:32

相关问题