2017-05-05 23 views
0

我正在Jmeter中使用Jmeter來克隆多個git存儲庫。我通過10個線程用戶克隆了10個不同的存儲庫。Jmeter Jgit JSR223Sampler javax.script.ScriptException錯誤

下面是我正在使用的代碼。

import org.eclipse.jgit.api.Git; 
    import org.apache.commons.io.FileUtils; 
    import org.eclipse.jgit.revwalk.RevCommit; 
    import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider; 
    import org.eclipse.jgit.transport.CredentialsProvider; 
    def url_var = vars.get("repo_url"); 
    log.info("This is the URL " + url_var) 
    Git git = Git.cloneRepository().setURI(url_var).call(); 

我在運行測試時遇到錯誤。

o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: javax.script.ScriptException: org.eclipse.jgit.api.errors.JGitInternalException: Destination path ".git" already exists and is not an empty directory javax.script.ScriptException: javax.script.ScriptException: org.eclipse.jgit.api.errors.JGitInternalException: Destination path ".git" already exists and is not an empty directory at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:158) ~[groovy-all-2.4.10.jar:2.4.10] at javax.script.AbstractScriptEngine.eval(Unknown Source) ~[?:1.8.0_73] at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:222) ~[ApacheJMeter_core.jar:3.2 r1790748] at org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.java:69) [ApacheJMeter_java.jar:3.2 r1790748] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:491) [ApacheJMeter_core.jar:3.2 r1790748] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:425) [ApacheJMeter_core.jar:3.2 r1790748] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:254) [ApacheJMeter_core.jar:3.2 r1790748] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73]

輸出10個的線程,8將與克隆操作成功和失敗2與上述錯誤。我沒有指定任何目標,因此repo目錄在默認的jmeter bin目錄中創建。我試圖指定repo目錄,但它仍然會失敗,已存在,並不是空目錄錯誤。

回答

0

爲每個存儲庫創建一個不同的文件夾,在運行該命令並運行克隆部分之前對其進行清理。