当前位置: 首页 > 知识库问答 >
问题:

在不同环境下执行Spock测试

翟奇
2023-03-14

我有一个Selenium测试,它是在Spock框架的帮助下执行的。一般来说,它是这样的:

class SeleniumSpec extends Specification {
    URL remoteAddress // Address of SE grid
    Capabilities caps // Desired capabilities
    WebDriver driver  // Web driver

    def setup() {
        driver = new RemoteWebDriver(remoteAddress, caps)
    }
    def "some test" () {
        expect:
        driver.findElement(By.cssSelector("p.someParagraph")).text == 'Some text'
    }
    // other tests go here ...
}
    null

共有1个答案

杜烨伟
2023-03-14

您可以创建一个抽象的basespec,其中包含所有特性,但不要在该规范中设置驱动程序。然后为您要测试的每个不同浏览器创建子规范。

class FirefoxSeleniumSpec extends BaseSeleniumSpec{

  setupSpec(){
    super.driver = new FirefoxDriver(...)
  }

}

然后您可以运行所有的子规范来测试所有的浏览器

 类似资料:
  • 当代码在运行时,它所在的执行环境非常重要。 执行上下文 在 JavaScript 中,执行上下文与执行环境关系密切,它与函数和变量的声明息息相关,通常认为有两种执行上下文: 全局上下文——代码首次执行的默认环境; 函数上下文——当代码执行进入函数体中。 让我们来看一段包含这几种执行上下文的代码: // 全局上下文​var hello = 'Hello!';​function introduce()

  • 我是一个初学者,我想使用nodejs运行Cordova,并且已经完成了安装和设置环境变量的所有说明,但是它报告说它找不到Gradle包装器。以下是错误: Blockquote c:\Cordova\hello>Cordova build android检查Java JDK和android SDK版本Android_SDK_ROOT=c:\users\tehud\appdata\local\andr

  • 我有一组Junit测试用例。所有测试用例都必须针对不同的数据库环境执行。在junit测试中使用“@RunWith(SpringJUnit4ClassRunner.class)”时,Spring Boot应用程序只启动一次。但我需要用不同的配置重新启动应用程序,包括flyway迁移和其他与环境相关的应用程序-

  • 我正在为我的QA项目做研究,我想知道空手道是否能够处理某些用例。基本上,我需要为不同的环境(本地、临时、生产)运行测试。我从文档中了解到,这不是一个问题,因为有了karate-config.js和karate-config-env.js。 问题从执行本身开始。每个环境对于3个不同的国家都有不同的URL,所以实际上总共有9个URL。此外,由于开发过程的原因,某些功能并不是在所有国家同时部署的。所以我

  • 我使用Spock框架来运行我的测试。每个测试类上都有Spring的注释。正如我所看到的,每个测试类都需要上下文,在不同的类中运行几十个测试需要很多时间。是否有一种方法可以配置Spock测试类以在公共spring上下文下运行?