我有一个jmeter脚本来测试用户通过多种形式的旅程。
理想情况下,每次旅行的电子邮件地址都是唯一的,但事实证明很难实现这一目标。
我有一个用户定义的电子邮件变量;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="big-wrap">
<div class="logoburger">
<div class="burgermenu">
<img class="burger" alt="menu-alt.svg" src="http://lorempixel.com/200/200/food">
</div>
<div class="search">
<div id="search-icon"></div>
<form class="ui-widget" method="POST" action="../">
<input id="tags" placeholder="Search.." name="search" class="ui-autocomplete-input" autocomplete="off">
</form>
</div>
<div class="logo">
<a class="homepage" href="/">
<img src="http://lorempixel.com/50/50/business" alt="Logo">
</a>
</div>
</div>
<div class="big-content"></div>
</div>
然后用BeanShell PreProcessor创建唯一ID;
${__V(${__UUID()}${__RandomString(20,abcdefghijklmnopqrstuvwxyz,)}_jmeter@my-co.com)}
最后,在POST数据中,我一直在定义;
int threadNo = ctx.getThreadNum()+1; //to get the thread number in beanshell
int base = 35000;
int uniqueId = threadNo + base;
vars.put("uniqueId", Integer.toString(uniqueId));
但是如果我想运行一个长测试,线程循环所以我相信线程号是相同的,所以电子邮件不会改变。或者至少在较长时间的测试中看到的403错误表明了这一点。
是否可以在_${__threadNum}.${uniqueId}.${Email}
或POST的数据中使用循环计数或其他标识符?
答案 0 :(得分:0)
您可以使用以下内容:
然而HTTP Status Code 403代表&#34;禁止&#34;
服务器理解请求,但拒绝履行请求。 授权无效,请求不应重复。 如果请求方法不是HEAD并且服务器希望进行 公开为什么请求没有得到满足,它应该描述 实体拒绝的原因。如果服务器不希望 将此信息提供给客户端,状态代码404 (未找到)可以代替使用。
所以你的问题似乎与其他东西有关