我正在开发Ruby on Rails中的纸牌游戏,并试图找出最好的测试方法。
当玩家加入游戏时,他们的玩家对象会存储在会话中。显然,为了让游戏发挥作用,我需要同时在游戏中使用多个玩家。由于一个浏览器中不同选项卡的会话相同,我目前正在测试一个2人游戏,同时在FireFox和Internet Explorer中打开该应用程序。
在我下载并下载Chrome以测试第三位玩家之前......有更简单的方法吗?
编辑:为了澄清,我还没有进入我想要运行自动化测试以查看它是否中断的阶段。我正处于我希望能够破解后端数据库的阶段,然后刷新页面并查看它现在的样子,或者单击按钮以查看(通常)故障响应,或者行为是否正在查找右。
答案 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的浏览器中测试它。