我將如何去JMeter中運行geb測試?如何在JMeter中運行groovy/geb測試?
我編譯了一個我的測試jar,並在JMeter中創建了一個BSF採樣器。我已經安裝了Jmeter的groovy插件。
我的測試類看起來是這樣的:
class LoginLogoutTest extends GebSpec {
def "Login Logout"() {
given: "Go to the Login Page"
LoginPage loginPage = to LoginPage
when:
loginPage.login("admin", "password")
then:
DashboardPage dashboardPage = at DashboardPage
when:
dashboardPage.logout()
then:
waitFor {at LoginPage}
}
}
我用搖籃建立與這個測試類的所有所需的依賴罐子。
然後在我的JMeter BSF採樣器中,我設置了groovy語言並編寫了以下腳本。正如一些教程所示,我的web-test.jar位於JMeters \ lib目錄中。
import com.geb.tests.LoginLogoutTest;
LoginLogoutTest myTest = new LoginLogoutTest();
myTest."Login Logout"(); //if commented out i get no errors
當我嘗試調用"Login Logout"()
功能JMeter的拋出follolwing異常:
WARN - jmeter.protocol.java.sampler.BSFSampler: BSF error org.apache.bsf.BSFException: exception from Groovy: groovy.lang.MissingFieldException: No such field: $spock_sharedField__browser for class: org.codehaus.groovy.runtime.NullObject
如果我不調用該方法的JMeter不拋出任何錯誤,所以我假設我初始化在我的JMeter腳本中正確地從我的jar中的類。
這樣做的原因是我們可以通過使用PhantomJs運行此測試的多個線程來執行負載測試。
爲什麼要從jmeter運行Geb測試? –