我在管道上创建了,我想在其中执行一个 sql 查询。我编写了以下语句(只有两行代码,没有导入/类等)并在执行时抛出错误。
import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://myIP:3306/dbName", "uname","password", "com.mysql.jdbc.Driver")
sql.execute "select count(*) from TableName"
Run Code Online (Sandbox Code Playgroud)
我收到此错误
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod groovy.sql.Sql newInstance java.lang.String java.lang.String java.lang.String java.lang.String
at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectStaticMethod(StaticWhitelist.java:174)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onStaticCall(SandboxInterceptor.java:142)
at org.kohsuke.groovy.sandbox.impl.Checker$2.call(Checker.java:180)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedStaticCall(Checker.java:177)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:91)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:15)
at WorkflowScript.run(WorkflowScript:3)
at ___cps.transform___(Native Method)
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:55)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:106)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79)
at sun.reflect.GeneratedMethodAccessor841.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
at com.cloudbees.groovy.cps.Next.step(Next.java:58)
at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:19)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:164) …Run Code Online (Sandbox Code Playgroud) 我想在http请求中添加一个以下条件,如果该条件匹配,它将为我提供KO状态。我的条件是WorkflowFailed = True OR count > 8状态将失败。
对于以上条件之一,WorkflowFailed = True我添加了以下代码,它可以正常工作,但count > 8不能正常工作。
.check(jsonPath("$.failed").transform(status => status == "true").is(false))
Run Code Online (Sandbox Code Playgroud)
我也尝试使用此代码,但是没有用,并引发错误。
.check(jsonPath("$.failed").transform(status => status == "true" || count > 8).is(false))
Run Code Online (Sandbox Code Playgroud)
19:00:52.143 [错误] igcZincCompiler $-D:... \ gatling-charts-highcharts-bundle-2.1.7 \ user-file s \ simulations \ LaunchResources.scala:83:value>不是Java的成员.util.concurrent.atomic.AtomicInteger 19:00:52.144 [错误] igcZincCompiler $-.
check(jsonPath(“ $。failed”)。transform(status => status ==“ true” || count> 8).is (false))19:00:52.144 [ERROR] igcZincCompiler $-^ 19:00:52.222 [ERROR] igcZincCompiler $-找到一个错误
这是代码,
class LaunchResources extends Simulation {
val scenarioRepeatCount = Integer.getInteger("scenarioRepeatCount", 1).toInt
val userCount …Run Code Online (Sandbox Code Playgroud) 我有两个场景: 第一个场景“ getAssets”将获取所有资产ID并将其保存在列表中,第二个场景“ fetchMetadata”将迭代这些ID。
我必须执行“getAssets”的情况只有一次获取所有的ID,而“fetchMetadata”的情景,直到给定的持续时间只有1方案完成后。
如何在Chain中依次执行两个方案?
这是代码,但没有按顺序执行场景。
import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.duration._
import io.gatling.core.Predef._
import io.gatling.http.Predef._
class getAssetsMetadata extends Simulation {
val getAssetURL = System.getProperty("getAssetURL", "https://performancetesting.net")
val username = System.getProperty("username", "performanceuser")
val password = System.getProperty("password", "performanceuser")
val limit = Integer.getInteger("limit", 1000).toInt
val userCount = Integer.getInteger("userCount", 100).toInt
val duration = Integer.getInteger("duration",1).toInt //in minutes
var IdList: Seq[String] = _
val httpProtocol = http
.basicAuth(username, password)
.baseURL(getAssetURL)
.contentTypeHeader("""application/vnd.v1+json""")
def getAssets = exec(http("List …Run Code Online (Sandbox Code Playgroud) 我已经搜索了一些代码并找到了一些答案,但无法以粗体显示我的Excel文件输出并设置背景颜色.我试过以下代码.你能告诉我哪里出错了吗?请看一下.谢谢.
仅供参考:我打算用BOLD蓝色或任何浅色背景制作第一排.如果您知道请帮助代码.
// Excel file generation code
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Readings");
CellStyle style = workbook.createCellStyle();
Font font = workbook.createFont();
font.setFontHeightInPoints((short)11);
font.setFontName(HSSFFont.FONT_ARIAL);
font.setBoldweight(HSSFFont.COLOR_NORMAL);
font.setBold(true);
font.setColor(HSSFColor.DARK_BLUE.index);
style.setFont(font);
// Freeze 1st Row
sheet.createFreezePane(0, 1);
HSSFRow row = sheet.createRow(1);
HSSFRow rowhead = sheet.createRow((short) 0);
rowhead.setRowStyle(style);
rowhead.createCell(0).setCellValue("RUN");
rowhead.createCell(1).setCellValue("NUMBER");
Run Code Online (Sandbox Code Playgroud) 我想调用“ myActionID ”变量的值。我怎么做?如果我将诸如“ actionId”:1368201之类的静态值传递给myActionID,则它可以工作,但是如果我使用“ actionId”:$ {actionIdd},它将给出错误。
以下是相关代码:
class LaunchWorkflow_Act extends Simulation {
val scenarioRepeatCount = 1
val userCount = 1
val myActionID = "13682002351"
val scn = scenario("LaunchMyFile")
.repeat (scenarioRepeatCount) {
exec(session => session.set("counter", (globalVar.getAndIncrement+" "+timeStamp.toString())))
.exec(http("LaunchRequest")
.post("""/api/test""")
.headers(headers_0)
.body(StringBody(
"""{ "actionId": ${myActionID} ,
"jConfig": "{\"wflow\":[{\"Wflow\":{\"id\": \"13500145349\"},\"inherit-variables\": true,\"workflow-context-variable\": [{\"variable-name\": \"externalFilePath\",\"variable-value\": \"/var/nem/nem/media/mount/assets/Test.mp4\"},{\"variable-name\": \"Name\",\"variable-value\": \"${counter}\"}]}]}"
}""")))
.pause(pause)
}
}
setUp(scn.inject(atOnceUsers(userCount))).protocols(httpProtocol)
Run Code Online (Sandbox Code Playgroud)
如果我将值13682002351代替myActionID,则一切正常。先谢谢了。在Gatling中执行此脚本时,出现此错误
错误ighttp.action.HttpRequestAction-'httpRequest-3'执行失败:未定义名为'myActionID'的属性
我的脚本中有两个场景。我想将“CreateId”的值传递给第二个场景。我在第一个场景中保存了“CreateId”。
错误说:
未定义名为“CreateId”的属性
jsonPath($.id).find(0).exists, 什么也没找到
场景 - 1
val create = scenario("Create")
.exec(http("post_request_create")
.post("/api/asdf")
.headers(headers_10)
.body(StringBody(session =>s"""{"name": "${randomName()}"}""")).asJSON
.check(jsonPath("$.id")
.saveAs("CreateId"))
)
Run Code Online (Sandbox Code Playgroud)
场景 - 2
val addTerm = scenario("Add Term")
.repeat (repeatCount){
exec(http("Add")
// NOT WORKING
//.post("""/api/asdfg/${CreateId}/terms""")
// NOT WORKING
.post(session => "/api/asdfg/" + session.get("CreateId").asOption[String] + "/terms")
.headers(headers_10)
.body(StringBody(session =>s"""{...somedata...}"""))
)
}
val scn = List(create.inject(atOnceUsers(1)),addTerm.inject(nothingFor(10 seconds), atOnceUsers(userCount)))
setUp(scn).protocols(httpProtocol)
Run Code Online (Sandbox Code Playgroud) 我希望用户可以在从加特林执行时从命令行输入“ Count,repeatCount,testServerUrl和definitionId”。从命令行执行
Run Code Online (Sandbox Code Playgroud)> export JAVA_OPTS="-DuserCount=1 -DflowRepeatCount=1 -DdefinitionId=10220101 -DtestServerUrl='https://someurl.com'" > sudo bash gatling.sh但给出以下错误:
url null / api / workflow无法解析为URI:方案
基本上空值传递在那里。'definitionId'也一样。以下是代码。您可以尝试使用任何网址。您只需要检查通过命令行提供的值是否显示?
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
class TestCLI extends Simulation {
val userCount = Integer.getInteger("userCount", 1).toInt
val holdEachUserToWait = 2
val flowRepeatCount = Integer.getInteger("flowRepeatCount", 2).toInt
val definitionId = java.lang.Long.getLong("definitionId", 0L)
val testServerUrl = System.getProperty("testServerUrl")
val httpProtocol = http
.baseURL(testServerUrl)
.inferHtmlResources()
.acceptHeader("""*/*""")
.acceptEncodingHeader("""gzip, deflate""")
.acceptLanguageHeader("""en-US,en;q=0.8""")
.authorizationHeader(envAuthenticationHeaderFromPostman)
.connection("""keep-alive""")
.contentTypeHeader("""application/vnd.v7811+json""")
.userAgentHeader("""Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36""")
val headers_0 …Run Code Online (Sandbox Code Playgroud) gatling ×5
scala ×5
java ×3
apache-poi ×1
excel ×1
groovy ×1
jenkins ×1
load-testing ×1
performance ×1