我已经设置了 Geb + Spock + Groovy 并且能够成功运行一个示例脚本。现在我在另一个 groovy 类(这个类我放在资源文件夹中)中创建了一个方法,我在我的测试类中调用它,但它给了我以下错误:
无法将 FileHandling 解析为 Page 的内容或其导航器上下文的属性。FileHandling 是您忘记导入的类吗?
“FileHandling”是包含该方法的类的名称。我能够作为单独的实体成功运行此方法,但是当我在我的测试类中调用它并通过 pom.xml 运行它时,我遇到了上述错误。
请让我知道如何解决这个问题。导致问题的代码如下。
package test.groovy
import geb.spock.GebReportingSpec
import spock.lang.*
import FileHandling.*
@Stepwise
public class RateTest extends GebReportingSpec {
def "open application home page"() {
when:
go() // uses base url system property
def path_act = "C:/Users/abc.xlsx"
def cellArrayActual = FileHandling.returnExcelResults(path_act, "MEMBER_PREMIUM")
then:
title == "Welcome"
}
}
我觉得问题不在于代码,POM.xml 依赖项有问题,请让我知道其中有什么问题。
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Automation</groupId>
<artifactId>Automation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.gmaven.runtime</groupId>
<artifactId>gmaven-runtime-1.8</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.1.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.gebish</groupId>
<artifactId>geb-spock</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>0.7-groovy-2.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.37.1</version>
</dependency>
</dependencies>