jmeter中实现每隔一定时间登陆

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter中实现每隔一定时间登陆相关的知识,希望对你有一定的参考价值。

参考技术A        在实际项目的测试中,往往会遇到业务流程必须是先登录再执行后续相关操作的业务场景。有的登录请求中会用到token的验证,token的实效时长设定的比较短,项目组又不愿意去修改实效时长。此时在测试稳定性的过程中必须在token实效前重新进行一次登录操作。

        目前使用jmeter的测试过程中未想到其他的好方法,暂时的实现方法如下:

登录操作放到仅一次控制器中,在仅一次控制器中使用beanshell脚本获取当前的时间,仅一次控制器后面增加beanshell脚本判断运行时长,脚本后面增加if控制器判断运行时长,若超过条件则重新进行登录操作,并在if控制器下增加beanshell再次获取当前时间戳

        具体jmeter脚本实现如下:

1、脚本结构

2、仅一次控制器中beanshell sampler获取当前时间内容:

long timestart = System.currentTimeMillis()/1000;

String timestartString = String.valueOf(timestart);

vars.put("timestartString",timestartString);

3、Beanshell 判断运行时长脚本内容:

long timesNow = System.currentTimeMillis()/1000;

String aaa = vars.get("timestartString");

long timestartLong = Long.parseLong(aaa);

long bbb = timesNow-timestartLong;

vars.put("bbb",String.valueOf(bbb));

//log.info("生成数值测试cccccccccc"+bbb);

4、if逻辑控制器中内容:jexl3函数的使用可自行查找。

5、if控制器下的beanshell sampler再次获取时间戳内容:

long timestart = System.currentTimeMillis()/1000;

String timestartString = String.valueOf(timestart);

vars.put("timestartString",timestartString);

//log.info("生成数值测试cccccccccc");

        以上是针对登录token实效后重新刷新或者登录的实现方法的记录,后续获取其他同学有更好的方法可分享学习。

如何在 Atmega324a 微控制器上实现每隔几秒打开和关闭信号 (PWG) 的定时器?

【中文标题】如何在 Atmega324a 微控制器上实现每隔几秒打开和关闭信号 (PWG) 的定时器?【英文标题】:How do I implement a timer which turn a signal on and off (PWG) every few seconds on an Atmega324a microcontroller? 【发布时间】:2019-07-23 15:32:55 【问题描述】:

我正在对 Atmega324a 微控制器进行编程,并且我正在尝试实现一个计时器(在本例中为 Timer1),它应该使连接到我的电路板的第二个 LED 闪烁。 我还需要知道如何识别 LED 连接到的引脚 我找到了数据表: http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega164A_PA-324A_PA-644A_PA-1284_P_Data-Sheet-40002070A.pdf 但细节对我来说太技术性了,我不知道从哪里开始寻找,最重要的是,得到结果,这就是代码本身。

另外,ISR 功能有什么作用?

下面是 Timer 0 当前的 Init_timer 函数。我可以同时启用两个计时器吗?

static void init_timer(void)

    // Configure Timer0 for CTC mode, 64x prescaler for 1 ms interval
    TCCR0A = _BV(WGM01);
    TCCR0B = _BV(CS01) | _BV(CS00);
    OCR0A = 124;
    TIMSK0 = _BV(OCIE0A);


int main(void)
    MCUSR = 0;
    wdt_disable();

    init_pins();        // Reset all pins to default state
    init_timer();       // Initialize 1 msec timer interrupt

    configure_as_output(LOAD_ON);
    configure_as_output(LED1);
    configure_as_output(LED2);

    sei();
        .
        .
        .


ISR(TIMER0_COMPA_vect)

    static uint16_t ms_count = 0;

    ms_count++;             // milliseconds counter

    if (ms_count == TMP107_POLL_PERIOD)
    
        tmp107_command();   // send command to temperature sensor
        toggle(LED1);       // blink status led

        ms_count = 0;
    

【问题讨论】:

【参考方案1】:

首先:*** 是一个围绕源代码提问的网站,它不是一个提供服务的解决方案。请拨打tour,它将帮助您得到满意的答复。

不过没关系,因为你是新人:

例如,您可以按以下步骤为脉冲宽度发生器实现定时器:

    学习阅读数据表。没有人能减轻你的负担。 了解如何使用输出引脚。 编写一些测试以确保您了解输出引脚。 选择一个计时器来测量时钟周期。显然你已经这样做了。 学习使用此计时器。一些定时器可以在硬件中生成 PWM(脉冲宽度调制)信号。但是,输出引脚可能位于固定位置,可能的周期范围可能无法满足您的要求。 编写一些测试以确保您了解计时器和中断。 例如,如果所需的脉冲周期对于计时器来说太长,您可以添加一个额外的变量来按比例缩小。 实现其余部分。

另外,ISR 功能有什么作用?

当满足中断条件时,硬件会“神奇地”调用此函数。在所示情况下,tmp107_command()toggle(LED1) 仅在每 TMP107_POLL_PERIOD 次调用一次。

我可以同时启用两个计时器吗?

当然。

【讨论】:

以上是关于jmeter中实现每隔一定时间登陆的主要内容,如果未能解决你的问题,请参考以下文章

Hangfire 定时任务设置某个时间区间每隔一定时间触发的Cron表达式

Jmeter 用表格查看结果 详解

JMeter—定时器

7Jmeter定时器

JMeter — JMeter中实现跨线程组关联

Jmeter 使用集合点