我有两个URL,第一个是BaseURL创建用户,第二个是用来为asLongAs循环中的每个用户设置密码。我在第二个url请求中设置“计数器”时遇到问题,即“更改密码”。它在错误下面抛出,
9425[GatlingSystem-akka.actor.default-调度-11]ERRORi.g.http.action.HttpRequest estAction-'httpRequest-4'执行失败:未定义名为'计数器'的属性
我无法在这里设置计数器,
.exec(http("Change_Password")
.put(setPasswordURL + "/api/authentication/accounts/" + accountName + "/users/" + unm + "${counter}/actions/setPassword")
如果我把静态值放入。提出请求。
这是密码,
import scala.concurrent.duration._
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.jdbc.Predef._
class setPass extends Simulation {
val testServerUrl = System.getProperty("testServerUrl", "https://abcde.net")
val username = System.getProperty("username", "ma")
val password = System.getProperty("password", "ma")
val accntID = Integer.getInteger("accountID", 27280asd5).toInt
val rolID = Integer.getInteger("roleId", 272812506).toInt
val startNum = Integer.getInteger("startNum", 2).toInt
val endNum = Integer.getInteger("EndNum", 2).toInt
val userCount = Integer.getInteger("userCount", 1).toInt
val unm = System.getProperty("CreateUserName", "TestUser")
val FirstName = System.getProperty("FirstName", "Test")
val LastName = System.getProperty("LastName", "Yo")
val emailDomain = System.getProperty("EmailDomain", "@testdomain.com")
val accountName = System.getProperty("AccountName", "info")
val counter = new java.util.concurrent.atomic.AtomicInteger(startNum)
val setPasswordURL = "http://XYZ-differentURL.net:18101"
val httpProtocol = http
.baseURL(testServerUrl)
.basicAuth(username, password)
.inferHtmlResources()
.acceptHeader("""*/*""")
.acceptEncodingHeader("""gzip, deflate""")
.acceptLanguageHeader("""en-US,en;q=0.8""")
.contentTypeHeader( """application/json""")
.userAgentHeader("""Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36""")
val headers_0 = Map(
"""Cache-Control""" -> """no-cache""",
"""Origin""" -> """chrome-extension://fhbjgbifasdsgdshghfdhdcbncdddomop""")
val headers_1 = Map(
"""Accept""" -> """application/json""",
"""Content-Type""" -> """application/json""")
val scn = scenario("sc1")
.asLongAs(session => counter.getAndIncrement() < endNum)
{
exec(http("req1")
.post("""/api/user""")
.headers(headers_0)
.body(StringBody(session =>s"""{"name": "$unm${counter.get()}" ,"roleId": $rolID, "accountId": $accntID, "firstName": "$FirstName${counter.get()}", "lastName": "$LastName${counter.get()}", "email": "$unm${counter.get()}$emailDomain"}"""))
.check(jsonPath("$.id").saveAs("UserID"))
)
.exec(http("Change_Password")
.put(setPasswordURL + "/api/authentication/accounts/" + accountName + "/users/" + unm + "${counter}/actions/setPassword")
.headers(headers_1)
.body(StringBody("""{"newPassword":"password"}"""))
)
}
.exec(session => session.set("count", counter.getAndIncrement))
setUp(scn.inject(atOnceUsers(userCount))).protocols(httpProtocol)
}
你可以用不雅的方式使用加特林请求id。
.exec{session => session.set("number",session.userId.split("-").last.toInt)}
.exec{session => session("number").as[Int] }
我用它每10个请求和每100个请求调用一个请求。
.exec{session => session.set("number",session.userId.split("-").last.toInt)}
.exec(request1)
.doIf(session => session("number").as[Int] % 10 == 0) {
exec(request2)
.doIf(session => session("number").as[Int] % 100 == 0) {
exec(pause(10 seconds))
.exec(request3)
.exec(pause(4 seconds))
.exec(request4)
}
}
问题内容: 我想知道是否可以将PUT,DELETE请求(实际上)发送java.net.HttpURLConnection到基于HTTP的URL。 我已经读了很多描述如何发送GET,POST,TRACE,OPTIONS请求的文章,但是我仍然没有找到成功执行PUT和DELETE请求的示例代码。 问题答案: 要执行HTTP PUT: 要执行HTTP删除:
问题内容: 我的Java Web应用程序有问题。 这是index.jsp中的代码: 当我有线请求时,我的浏览器发送以下标头: Tomcat服务器返回以下信息: 但是,如果我以我的形式发送“é”(UTF-8中的%C3%A9),则会显示“é”。 我了解的是浏览器发送了一个用UTF-8(%C3%A9)编码的“é”。 但是服务器将其解释为ISO-8859-1。因此,%C3解码为Ã,%A9解码为©,然后发
问题内容: 我得到了这个servlet,它将pdf文件返回到客户端Web浏览器。我们不希望冒任何风险,即当请求数量过多时,服务器将瘫痪。 我们希望采用一种应用程序级别(程序)的方式来设置并发请求数的限制,并在达到限制时向浏览器返回错误消息。我们需要在审批级别进行操作,因为我们在开发级别(tomcat)和生产级别(websphere)具有不同的servlet容器。 我必须强调,我想控制最大请求数,而
问题内容: 我在Go中做一个简单的http GET: 但是我找不到在doc中自定义请求标头的方法,谢谢 问题答案: 请求的字段是公共的。您可以这样做:
问题内容: 我有Restful Web服务,我发送POST和GET HTTP请求,以及如何使用JAVA在httpURLConection中发送PUT和DELTE请求HTTP。 问题答案: 放 删除
问题内容: 我正在从Java中的Web servlet调用SAP SOAP服务。由于某种原因,每次我在请求的字段中使用特殊字符(例如“è”或“à”)时,SAP都会给我一个错误。SOAP Service的WSDL在UTF-8中定义,我已经相应地设置了字符编码,如下所示。但是我不确定这是正确的方法。另外,请注意,如果我使用SOAP UI(具有相同的信封),则请求可以正常工作,因此它一定是Java方面的