Difference between revisions of "Custom LoadRunner Library Code"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) |
PeterHarding (talk | contribs) |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
<pre> | <pre> | ||
// | // | ||
// | // | ||
//------------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------------- | ||
| Line 234: | Line 233: | ||
#endif // _LIB_H_ | #endif // _LIB_H_ | ||
/pre> | </pre> | ||
=globals.h= | |||
<pre> | |||
#ifndef _GLOBALS_H_ | |||
#define _GLOBALS_H_ | |||
//------------------------------------------------------------------------------------------------- | |||
// Include Files | |||
#include "lrun.h" | |||
#include "web_api.h" | |||
#include "lrw_custom_body.h" | |||
//------------------------------------------------------------------------------------------------- | |||
// Global Variables | |||
extern int load_resources; | |||
extern double t_tx; | |||
extern char *project; | |||
//------------------------------------------------------------------------------------------------- | |||
</pre> | |||
[[Category:LoadRunner]] | [[Category:LoadRunner]] | ||
Latest revision as of 17:34, 24 September 2014
lib.c
C utilities for local customization of LoadRunner scripts.
Source Code: lib.c
//
//
//-------------------------------------------------------------------------------------------------
#include "web_api.h"
#include "lrw_custom_body.h"
#include "lib.h"
//-------------------------------------------------------------------------------------------------
typedef long time_t;
//-------------------------------------------------------------------------------------------------
static time_t save;
//-------------------------------------------------------------------------------------------------
char msgbuf[4096000];
char tmpbuf[102400];
long lfp = NULL;
char *logfile = "_run.log";
//-------------------------------------------------------------------------------------------------
long
refTime(int flg)
{
long
t;
time(&t);
if (flg) {
save = t;
t = 0;
} else {
t = t - save;
}
return t;
} // refTime
//-------------------------------------------------------------------------------------------------
double
theTime(void)
{
double
t;
t = refTime(0) * 1.0;
return t;
} // theTime
//-------------------------------------------------------------------------------------------------
void initLog(char *project, char *script, char* sgroup, int vuser_id)
{
char logfile[128];
time_t t;
double now;
refTime(1);
time(&t);
if (vuser_id != -1) {
sprintf(logfile, "C:\\lr\\%s\\log\\%s__%03d__%s.log", project, sgroup, vuser_id, script);
} else {
sprintf(logfile, "_run.log", vuser_id);
}
if ((lfp = fopen(logfile, "a")) == NULL ) {
lr_error_message("Cannot open %s", logfile);
lr_abort();
exit(1);
}
sprintf(msgbuf, "Timestamp (%d) - %s", t, ctime(&t) );
fprintf(lfp, "------ %s------ =================================================\n", msgbuf);
fprintf(lfp, "------ Script: %s Scenario Group: %s\n", script, sgroup);
fflush(lfp);
lr_output_message("=====> %s", msgbuf);
} // initLog
//-------------------------------------------------------------------------------------------------
void closeLog(void)
{
time_t t;
time(&t);
sprintf(msgbuf, "Timestamp (%d) - %s", t, ctime(&t) );
fprintf(lfp, "------ Close() @ %s------ =================================================\n", msgbuf);
fflush(lfp);
close(lfp);
lr_output_message("=====> %s", msgbuf);
} // initLog
//-------------------------------------------------------------------------------------------------
void userLog(char *msg)
{
double
now;
now = theTime();
if (lfp != 0) {
fprintf(lfp, "%06.1f %s\n", now, msg);
fflush(lfp);
}
lr_output_message("=====> %s", msg);
} // userLog
//-------------------------------------------------------------------------------------------------
char *
upper(char* s)
{
int i;
static char buf[128];
int l = strlen(s);
if (l >= 127) {
userLog("upper() overflow!");
lr_abort();
}
for (i = 0; i < l; i++) {
buf[i] = toupper(s[i]);
}
buf[l] = '\0';
return buf;
} // upper
//-------------------------------------------------------------------------------------------------
int day_of_week(char *day)
{
char *uc_day = upper(day);
int l = strlen(day);
int rc = 0;
if (!strncmp(day, "SUNDAY", l)) {
rc = 1;
} else if (!strncmp(uc_day, "MONDAY", 3)) {
rc = 2;
} else if (!strncmp(uc_day, "TUESDAY", 3)) {
rc = 3;
} else if (!strncmp(uc_day, "WEDNESDAY", 3)) {
rc = 4;
} else if (!strncmp(uc_day, "THURSDAY", 3)) {
rc = 5;
} else if (!strncmp(uc_day, "FRIDAY", 3)) {
rc = 6;
} else if (!strncmp(uc_day, "SATURDAY", 3)) {
rc = 7;
}
return rc;
} // day_of_week
//-------------------------------------------------------------------------------------------------
int randidx(int array_count)
{
int n;
srand(time(NULL));
n = rand() % array_count;
return n + 1; // matched arra
} // randint
//-------------------------------------------------------------------------------------------------
Header: lib.h
#ifndef _LIB_H_ #define _LIB_H_ //------------------------------------------------------------------------------------------------- #define TRUE 1 #define FALSE 0 //------------------------------------------------------------------------------------------------- extern char tmpbuf[]; extern char msgbuf[]; extern long lfp; extern char *logfile; //------------------------------------------------------------------------------------------------- void initLog(char *project, char *script, char* group, int vuser_id); void userLog(char *msg); void closeLog(void); int day_of_week(char *day); //------------------------------------------------------------------------------------------------- extern char *strtok(char *string, char *separators); extern char *SEPARATORS; //------------------------------------------------------------------------------------------------- #endif // _LIB_H_
globals.h
#ifndef _GLOBALS_H_ #define _GLOBALS_H_ //------------------------------------------------------------------------------------------------- // Include Files #include "lrun.h" #include "web_api.h" #include "lrw_custom_body.h" //------------------------------------------------------------------------------------------------- // Global Variables extern int load_resources; extern double t_tx; extern char *project; //-------------------------------------------------------------------------------------------------