来自多个设置文件的 Geb 测试使用方法
Geb test use method from across multiple setup files
我有多种方法分散在多个规范文件中,想在一次测试中使用它们。如何从另一个规范文件调用该方法?是否可以扩展多个规范文件?
class MyTestSpec extends Page1Spec {
def 'first part of test"() {
Page2Spec.methodInPage2Spec() // TRYING TO USE METHOD IN ANOTHER FILE
Page3Spec.methodInPage3Spec() // Trying to use method in another file
}
}
如果您有想要跨多个规范使用的方法,请考虑使用特征:
例如,登录特征:
trait SignInTrait {
MyPage loginAs(String username, String password) {
to SignInPage
//login etc
browser.at(MyPage)
}
}
可以添加到任何规格:
class MySpec extends GebReportingSpec implements SignInTrait {
def "I can do stuff"(){
when: "i do stuff"
//call trait method
def myPage = loginAs("myname", "mypassword")
then: "blah"
//some code
}
}
您可以添加多个用逗号分隔的特征:
class MySpec extends GebReportingSpec implements SignInTrait, AnotherTrait
我有多种方法分散在多个规范文件中,想在一次测试中使用它们。如何从另一个规范文件调用该方法?是否可以扩展多个规范文件?
class MyTestSpec extends Page1Spec {
def 'first part of test"() {
Page2Spec.methodInPage2Spec() // TRYING TO USE METHOD IN ANOTHER FILE
Page3Spec.methodInPage3Spec() // Trying to use method in another file
}
}
如果您有想要跨多个规范使用的方法,请考虑使用特征:
例如,登录特征:
trait SignInTrait {
MyPage loginAs(String username, String password) {
to SignInPage
//login etc
browser.at(MyPage)
}
}
可以添加到任何规格:
class MySpec extends GebReportingSpec implements SignInTrait {
def "I can do stuff"(){
when: "i do stuff"
//call trait method
def myPage = loginAs("myname", "mypassword")
then: "blah"
//some code
}
}
您可以添加多个用逗号分隔的特征:
class MySpec extends GebReportingSpec implements SignInTrait, AnotherTrait