I'm using geb and spock for functional tests in my Grails 2.3.7 app. The app allows real-time interaction between users, which I'd like to test automatically.
Does anyone know how, or if it's possible, to run two different browsers in one Spec? For example, see the pseudo code below for how I imagine this working in a perfect world.
@Stepwise
class ChatPageSpec extends GebReportingSpec {
def "login with chrome"() {
}
def "login with firefox"() {
}
def "send chat request with chrome"() {
}
def "accept chat request with firefox"() {
}
def "send hello with chrome"() {
}
def "receive hello with firefox"() {
}
}
Running the tests in parallel as Craig describes (http://www.objectpartners.com/2013/11/14/parallel-grails-functional-tests-with-geb-and-gradle/) looked promising, but if I understand it correctly, the parallel tests would use different app instances, which won't work. Plus, @Stepwise or something similar would have to keep the browsers in sync.
I also checked out the poly driver plugin (http://grails.org/plugin/poly-driver), but it looks like it's designed for one browser per Spec.
Ken