【问题标题】:Geb test use method from across multiple setup files跨多个设置文件的 Geb 测试使用方法
【发布时间】:2017-08-19 17:08:59
【问题描述】:

我有多个方法分散在多个规范文件中,并希望在一个测试中使用它们。如何从另一个规范文件中调用该方法?是否可以扩展多个规范文件?

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

    }

}

【问题讨论】:

    标签: groovy spock geb


    【解决方案1】:

    如果您想跨多个规范使用方法,请考虑使用特征:

    例如,登录特征:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      相关资源
      最近更新 更多