我正在寻找一些帮助,从哪里开始与Cucumber / Capybara一起运行并发测试。我需要在没有'parallel_tests'gem的情况下这样做。原因是我似乎无法让每个进程都有单独的用户登录。
我在想我可以拥有一个共享的用户池,很可能是在一个数组中,但是我不能在不同的进程中与gem共享这些数据。
我收到的一些反馈是使用IO.pipe,但目前还不了解它。
我有一个独立的Cucumber框架,没有Rails等。
答案 0 :(得分:0)
以为我会发布我的解决方案,以防它帮助其他人。我最终将用户池与我的应用程序分开并使用Redis存储它们。
然后我有一个简单的方法,它将从Redis中的Set中选择一个随机用户,并在完成后将其放回去
def choose_redis_user
@redis = Redis.new
@randUser = @redis.spop("users")
$user_username = @redis.hget(@randUser, "username")
$user_password = @redis.hget(@randUser, "password")
end
def return_redis_user
@redis.sadd("users", @randUser)
end
然后在我的测试中我可以运行
login_page.username.set($user_username)
login_page.password.set($user_password)
这适用于多个parallel_tests