测试多个并发浏览器会话

时间:2010-02-17 13:57:28

标签: ruby-on-rails testing session browser

我正在开发Ruby on Rails中的纸牌游戏,并试图找出最好的测试方法。

当玩家加入游戏时,他们的玩家对象会存储在会话中。显然,为了让游戏发挥作用,我需要同时在游戏中使用多个玩家。由于一个浏览器中不同选项卡的会话相同,我目前正在测试一个2人游戏,同时在FireFox和Internet Explorer中打开该应用程序。

在我下载并下载Chrome以测试第三位玩家之前......有更简单的方法吗?

编辑:为了澄清,我还没有进入我想要运行自动化测试以查看它是否中断的阶段。我正处于我希望能够破解后端数据库的阶段,然后刷新页面并查看它现在的样子,或者单击按钮以查看(通常)故障响应,或者行为是否正在查找右。

4 个答案:

答案 0 :(得分:5)

您可以使用多个配置文件运行Firefox。从命令行转到安装Firefox的目录并运行firefox -P。为要运行的每个实例创建配置文件。关闭概要文件管理器,然后为每个概要文件运行firefox -no-remote -P "profile name"。您可以根据需要运行任意数量的Firefox实例,每个实例都使用独立的配置文件运行,从而实现独立的会话。

答案 1 :(得分:1)

自动化!


你真的不想手动测试这个。您可以使用带有curl库的Ruby脚本来生成“移动”并管理响应,包括会话cookie。
作为预告片,请参阅API文档中的此片段,听起来它会对您有所帮助..

easy.cookiejar = "cookiejar.file" => "pwd string"

Set a cookiejar file to use for this Curl::Easy instance. 
This file will be used to persist cookies. 

答案 2 :(得分:1)

使用http://watir.com/创建运行游戏的ruby脚本。

使用多个Watir::Browser个实例来运行多个浏览器。

使用firefox'配置文件和-no-remote开关将它们分开。另请参阅this question

答案 3 :(得分:0)

不要打开新标签,而是在Web浏览器中创建一个新窗口。新窗口将有自己的会话。这适用于Internet Explorer,但不适用于Firefox。我没有在基于WebKit的浏览器中测试它。