Ordres de gestion de script (SCL) est employé pour écrire des scripts. Les scripts définissent et commandent les tests et les entrent qui doivent être employés pour examiner le système de cible.
Les dossiers de script se composent de jusqu'à trois sections qui doivent apparaître dans l'ordre suivant si présent:
· section d'environnement
· Section de définitions
· Section code
La première section est la section obligatoire d'environnement. Cette section définit les attributs globaux du script, c.-à-d. la description de script, le mode de script et les unités de commande d'attente. Elle est présentée par la commande d'Environnement, et continue jusqu'aux DÉFINITIONS ou la commande de CODE est produite.
La deuxième section est la section facultative de définitions. Cette section contient les définitions variables, constantes, de temporisateur et de dossier pour le script. Elle commence par les DÉFINITIONS commandent, et continuent jusqu'à la commande de CODE.
La dernière section est la section obligatoire de code, qui contient les commandes principales de script. Le début de cette section est marqué par la commande de CODE; il continue jusqu'à l'extrémité du dossier de script.
Des tab , les espaces et les chargements de page peuvent être incorporés au code pour aligner des mots-clés et généralement la lisibilité d'aide; elles n'ont aucun autre effet sur la compilation.
Voyez également:
Représentation De Caractère (Character Representation)
Lignes suite (Continuation lines)
Commentaires (Comments)
OpenSTA Datanames (OpenSTA Datanames)
Valeurs maximum en scripts (Maximum Values in Scripts)
Y compris le texte à partir d'autres fichiers source (Inclunding Text from Otehr Source Files)
Compilation conditionnelle de code source (Conditional Compilation of Source Code)
Le texte dans un fichier source de SCL entre dans trois larges catégories:
1. Commandes de SCL.
2. Arguments aux commandes de SCL - noms variables, valeurs de nombre entier ou chaînes de caractères citées, par exemple.
3. Commentaires, pour améliorer la lisibilité et l'entretien.
Dans des arguments de chaîne de caractères, le SCL soutient l'utilisation de n'importe quel caractère avec une valeur d'Ascii dans le gamme HEX 00 à FF inclus. Cependant, les spécifications directes de ces caractères ne sont pas toujours possibles, à deux raisons:
1. Les caractères avec des valeurs dans le HEX de gammes 00 à 20 et le HEX 7F à A0, et le HEX FF de valeur, sont caractères « non imprimable » de , et ne peuvent pas facilement être indiqués dans un fichier source de SCL.
2. Deux caractères sont réservés à l'usage du SCL - un comme caractère de commande et l'autre comme caractère de control. Les caractères utilisés dans ces buts ne peuvent pas être employés en tant que caractères littéraux dans une chaîne de caractères. Les valeurs par défaut sont "~" pour le caractère de commande et "^" pour le caractère de control; ces valeurs sont employées dans toutes ces instructions. Elles peuvent, cependant, être changées dans le script.
Pour résoudre ces problèmes, le SCL fournit un ensemble de « commandes de caractère de » , comme décrit en représentant le caractère de commande et en représentant le caractère de commande . En outre, s'assurer là n'est aucune ambiguïté dans le fichier source, des caractères sont rejetés qui ont des valeurs dans, du HEX de gammes 00 à 20 ou le HEX 7F à A0, ou le HEX FF de valeur, à moins que comme décrit en caractères ignorés par le compilateur .
Des commandes de caractère sont identifiées dans toutes les chaînes de caractères de SCL (excepté un nombre restreint d'exceptions qui sont explicitement énoncées). Ainsi, par exemple, la chaîne de caractères "~<07 >" représente toujours un caractère simple (notamment le caractère avec une valeur hexadécimale de 7), non cinq caractères.
Note: Des citations simples peuvent être incluses dans des chaînes de caractères en employant de doubles citations pour les délimiteurs de chaîne, et vice versa.
Voyez également:
Commande De Caractère En utilisant Le Code Hexadécimal d'cAscii (Charactere Command Using ASCII Code)
Commande De Caractère En utilisant La Mnémonique d'cAscii (Charactere Command Using ASCII Mnemonic)
Commande De Commande (Cintrol Command)
Représentation du caractère de commande (Representing the command Character)
Représentation du caractère de commande (Representing the Control Character)
Vue d'ensemble de syntaxe d'ordres de gestion de script (overview of script Control Language Syntax)
Tous les caractères peuvent être représentés par code hexadécimal d'Ascii, commande de caractère. Le format de commande est:
~<hh >
le "~" est le caractère actuellement défini de commande et le "hh" est le code hexadécimal Ascii du caractère exigé. Cette forme de commande de caractère est principalement prévue pour représenter les caractères qui ne peuvent être représentés par aucune de ces autres formes de commande de caractère.
Par exemple, le caractère de tabulation horizontale Ascii est représenté par "~<09 >" et le caractère nul par "~<00 >".
Voyez également:
Le SCL fournit un certain nombre de commandes de caractère qui donnent une représentation facilement identifiable des caractères de commande communs. Ceux-ci emploient la mnémonique Ascii du caractère de commande en question. Les commandes suivantes sont disponibles:


Voyez également:
Tous les caractères de control 7-bit, c.-à-d. caractères avec des codes Ascii dans de la gamme HEX 00 à 1F inclus, peuvent être représentés en utilisant une commande de contrôle . La commande de contrôle a le format suivant:
^c
"^" est le caractère de contrôle par défaut et "c" est le spécificateur de caractère de contrôle . Le spécificateur de caractère de contrôle est un caractère graphique Ascii avec un code Ascii dans la gamme HEX 40 (ASCII "@") à 5F (ASCII"_"). le compilateur appliquera les bits du fond 6 seulement, pour produire d'un code Ascii dans la gamme HEX 00 au 1F.
Par exemple, le caractère d'appel Ascii (HEX 07 de code Ascii), est représenté par le "^G".
Voyez également:
Le caractère de commande présente toujours une commande et ne peut pas donc être employé pour représenter le caractère de commande lui-même. Le caractère de commande est à la place représenté par une commande du format suivant:
~~
"~ "est le caractère de commande défini.
Voyez également:
Le caractère de contrôle est toujours employé pour représenter la clef de Ctrl, en combinan avec le caractère suivant. Il ne peut pas donc être employé pour représenter le caractère de contrôle lui-même. Le caractère de contrôle est à la place représenté par une commande du format suivant:
~^
le "~" est le caractère de commande défini et "^" est le caractère de contrôle défini.
Voyez également:
Il n'est pas toujours possible d'adapter un rapport ou une commande de script sur une ligne, ainsi le SCL vous permet d'employer des « lignes suite de » « continuation lines ».
Une déclaration ou la commande de SCL peut être dédoublé plus de deux lignes ou plus en terminant tout sauf la dernière ligne de la déclaration avec un caractère d'esperluette ou de trait d'union ("et "ou"-"). pour éviter la confusion possible avec le caractère moindre, on lui recommande que l'esperluette soit employée, et qu'elle soit séparée des caractères précédents sur la ligne par au moins un espace.
Les seules choses qui peuvent suivre un caractère de continuation sont des caractères d'espace, des caractères de TAB et des commentaires (voir la prochaine section).
Une chaîne de caractères citée est continuée sur une autre ligne en la fermant à l'extrémité de la ligne et en la rouvrant sur le prochain. Les citations s'ouvrantes et se fermantes doivent s'assortir sur n'importe quelle une ligne, comme montré dans l'exemple suivant:

Note: Une ligne qui finit avec une commande SCL ou la déclaration terminé "et" ou "-" impliquent que la prochaine ligne produite sera considérée comme une suite de la commande ou du rapport originale.
Voyez également:
Vue d'ensemble de syntaxe d'ordres de gestion de script
Les scripts peuvent incorporer des commentaires, sur des lignes par eux-mêmes ou incluses dans les déclaration ou les commandes. En les deux cas, le commentaire est identifié par la commande de commentaire ("!"),et terminé vers la fin de la ligne. Par exemple:

Voyez également:
Vue d'ensemble de syntaxe d'ordres de gestion de script
Les noms de beaucoup d'articles dans des scripts doivent être définis comme OpenSTA Dataname. Par exemple les labels, les noms variables et les noms de sous-programme doivent tout être OpenSTA Datanames.
Un OpenSTA Dataname comporte entre 1 et 16 caractères alphanumériques, de soulignage ou de trait d'union. Le premier caractère doit être alphabétique; on ne permet pas les espaces; on ne permet pas deux soulignages ou traits d'union adjacents; et ni l'un ni l'autre n'est un soulignage ou un trait d'union de remorquage.
Voyez également:
Vue d'ensemble de syntaxe d'ordres de gestion de script
Le compilateur SCL et le système ressource imposent des limitations au temps d'exécution à la valeur maximum (nombre, taille, niveau etc...) compte tenu d'un certain nombre d'articles qui peuvent être indiqués dans un fichier source de SCL.

Voyez également:
Vue d'ensemble de syntaxe d'ordres de gestion de script
La commande d'Inclure vous permet de combiner plusieurs fichiers source dans un fichier source simple au temps de compilation. Ces fichiers inclus peuvent contenir des commandes de n'importe laquelle de ces sections de script et peuvent enjamber ces sections. Des scripts peuvent être nichés jusqu'à une profondeur de 10, y compris le script principal. Le soin devrait être pris pour éviter de reproduire n'importe laquelle de ces commandes de section de script (par exemple, ENVIRONMENT).
Cette commande peut apparaître à un point quelconque dans le script, incluant avant la commande d'Environment.
INCLUDE filename
Une chaîne de caractères citée qui définit le nom du fichier source à inclure. La location du fichier se transférera sur l'annuaire de Scripts\Include dans le dossier.
INCLUDE 'mydefs.inc '
Voyez également:
Vue d'ensemble de syntaxe d'ordres de gestion de script
Le SCL fournit les commandes qui vous permettent de définir les circonstances pour la compilation d'une section de code. Des sections conditionnelles du code sont identifiées par « les variantes de », qui sont indiquées option sur `-V 'sur la ligne de commande de compilateur SCL quand vous compilez le fichier source.
Les commandes conditionnelles de compilation peuvent apparaître à un point quelconque dans les sections d'environnement, de définitions et de code, incluant avant la commande ENTRY et entre les sous-programmes. Elles ne peuvent pas apparaître voie de partie par une commande ou un rapport. Elles peuvent être nichées à une profondeur de 10.
Condition variant
Une commande conditionnelle de compilation qui commence ou finit une section de code. Ceci peut être l'un de ce qui suit:


# IFDEF, # IFNDEF et des commandes # ELIF exigent de paramétrer une "variable", d'indiquer la condition dans laquelle la section suivante du code sera compilée. # ELSE et # les commandes # ENDIF se relient à la variante le plus récemment indiquée.
Un OpenSTA Dataname ce qui identifie une section du code qui est seulement compilé dans certaines conditions. Le compilateur traite cette variante option en même temps que `-V 'sur le SCL ligne de commande.

Voyez également:
Vue d'ensemble de syntaxe d'ordres de gestion de script
La section d'environnement du code source de SCL est présentée par la commande obligatoire d'Environnement. Elle définit les attributs globaux du script, c.-à-d. la description de script, le mode de script et unités de commande d'attente.
La section d'environnement doit être la première section du script, précédant la section de définitions (si présent) et la section de code. Elle peut, cependant, être précédée par une déclaration d'Inclusion . Pour de plus amples informations, voyez inclure le texte à partir d'autres fichiers source .
Voyez également:
Cette déclaration obligatoire assigne une chaîne de caractères descriptive à un script.
DESCRIPTION String
Une chaîne de caractères citée, entre 1 et 50 caractères de long, utilisée comme description.

Voyez également:
Cette déclaration facultatif définit le script comme script en mode HTTP. Ces scripts sont employés pour publier des requêtes HTTP à un serveur HTTP.
Cette déclaration doit être indiqué afin que les commandes HTTP-spécifiques soient disponible à un script.
Mode http
Aucun
Voyez également:
Cette déclaration facultatif définit l'unité de la période d'attente indiquée dans des commandes d'Attente dans un script. Ceci ne s'applique pas à la période d'attente dans la commande de WAIT FOR SÉMAPHORE - la période d'attente dans cette commande est toujours indiquée en secondes.
Si ce rapport est omis, l'unité d'attente est des secondes.
WAIT UNIT [ SECONDES|MILLISECONDES ]
Aucun
Voyez également:
La section de définitions du code source SCL définit les variables et les constantes employées par le script. Elle peut également contenir des déclarations des temporisateurs et des fichiers. Elle est facultative et est présenté par les commandes DÉFINITIONS.
Seulement une section de définitions peut apparaître dans un script; si elle est présente, elle doit suivre la section d'environnement et précéder la section de code.
Voyez également:
Définitions De Variable D'Exemple
Ce rapport définit une variable de chaîne de caractères se composant des caractères Ascii, y compris des caractères de commande. Le SCL soutient des variables de caractère de entre 1 et 65535 bytes de long.
Des choix de variables de caractère peuvent être définis, avec un maximum de trois dimensions. Pour de plus amples informations au sujet des rangées, voir les rangées variables .
Un astérisque peut être employé au lieu des deux points pour délimiter la taille.
CHARACTER{:n} name {[dimensions]}|{values} {, options}
Une valeur de nombre entier non signé dans la gamme 1-65535, représentant la taille de la variable dans les bytes. Le défaut est 1.
Le nom de la variable. Ceci doit être un OpenSTA valide Dataname .
Les dimensions de la rangée à assigner pour cette variable. Jusqu'à trois dimensions peuvent être indiquées, séparé par des virgules, chacune comportant un ou deux nombres.
Si une dimension a seulement un nombre, les éléments de cette gamme de dimension de 1 au nombre a indiqué. Si deux nombres sont indiqués, ils doivent être séparés par des deux points (":"); les éléments dans cette gamme de dimension du premier nombre au second.
Notez que si des "dimensions" sont indiquées, les "valeurs" peuvent ne pas être.
Une liste de valeurs de caractère à associer à la variable. Notez que si des "valeurs" sont indiquées, les "dimensions" peuvent ne pas être. Voir les valeurs variables pour de plus amples informations sur des valeurs variables.
Une liste d'options variables. Voir les options variables pour de plus amples informations en des options variables.
CHARACTER:15 dept CHARACTER:20 names ('TOM','JOHN','DICK'), SCRIPT CHARACTER:9 months [12] CHARACTER*20 staff-by-dept [8,101:150]
Voyez également:
Ce rapport définit une variable qui a une valeur statique dans un script. Ils peuvent être traduits ainsi au temps de compilation, et ne pas consommer la mémoire au temps d'exécution.
La valeur d'une constante peut être une valeur de nombre entier ou une chaîne de caractères citée.
Des constantes peuvent être employées dans n'importe quelle situation où une coquille du même type (c.-à-d. caractère ou nombre entier) peut être employée, par exemple dans une liste de valeur. La seule contrainte est que la constante doit avoir été définie avant qu'elle soit employée.
CONSTANT name = value
Le nom de la constante. Ceci doit être un OpenSTA valide Dataname .
Une chaîne de caractères citée ou une valeur de nombre entier.
CONSTANT TRUE = -1CONSTANT PROMPT = 'Enter Value : 'CONSTANT SEARCHSTRING = ' "TERMINATE" '
Voyez également:
Cette déclaration déclare une marque (ID) pour tous les fichiers externes qui sont consultés par ce script. La déclaration des FICHIERS est obligatoire pour tous les fichiers qui sont passés comme paramètre au script, et facultatif autrement. Il est dans de bonnes habitudes, cependant, de déclarer formellement toutes les identifications de dossier de cette façon avant l'emploi.
FILE input_fileid
Un OpenSTA Dataname est utilise pour identifier un fichier qui est passé comme paramètre au script.
FILE datafile
Voyez également:
Ce rapport définit une variable avec une valeur intégrale positive ou négative. Dans le SCL, des nombres entiers sont définis en tant qu'étant 4 bytes de long, donnant une gamme de - 2147483648 à +2147483647.
Des choix de variables de nombre entier peuvent être définis, avec un maximum de trois dimensions. Pour de plus amples informations au sujet des rangées, voir les rangées variables .
INTEGER name {[dimensions]}|{values} {, options}
Le nom de la variable. Ceci doit être un OpenSTA valide Dataname .
Les dimensions de la rangée à assigner pour cette variable. Jusqu'à trois dimensions peuvent être indiquées, séparé par des virgules, chacune comportant un ou duex nombres .
Si une dimension a seulement un nombre, les éléments du fait la gamme de dimension de 1 au nombre a indiqué. Si deux nombres sont indiqués, ils doivent être séparés par des deux points (":"); les éléments dans cette gamme de dimension du premier nombre à la seconde. Notez que si des "dimensions" sont indiquées, les "valeurs" peuvent ne pas être.
Une liste ou une gamme des valeurs de nombre entier à associer à la variable.
Notez que si des "valeurs" sont indiquées, les "dimensions" peuvent ne pas être. Pour de plus amples informations sur des valeurs variables, voir les valeurs variables .
Une liste d'options variables. Pour de plus amples informations en des options variables, voir les options variables .
INTEGER loop-count INTEGER fred (1-99), SCRIPT INTEGER values [50:100,20]
Voyez également:
La déclaration de TEMPORISATEUR déclare le nom d'un temporisateur de chronomètre. Ces temporisateurs peuvent être employés en même temps que les rapports de TEMPORISATEUR de DÉBUT(STARTER TIMER) et de TEMPORISATEUR de fin (END STARTER) dans la section de code du script.
Jusqu'à 1020 temporisateurs peuvent être déclarés et employés dans un script.
TIMER nameParamètre:
Le nom du temporisateur. Ceci doit être un OpenSTA valide Dataname .
TIMER Mf-UpdateTIMER Cust-Reg
Voyez également:
Des variables de caractère et de nombre entier avouées dans la section de définitions d'un script peuvent être définies en tant que rangées. Choix de soutiens de SCL jusqu'à trois dimensions. Il n'y a aucune limite définie au nombre d'éléments qui peuvent être déclarés dans une dimension de rangée.
Si un choix de deux ou trois dimensions est indiqué, chaque dimension doit être séparée de la dimension suivante par une virgule. Quand une rangée est mise en référence, des indices inférieurs de rangée doivent être indiqués pour chacune de ses dimensions.
La numérotation des éléments de rangée dépend de la façon dont la rangée a été déclarée. Le S CL soutient les valeurs souscrites de rangée de début et de fin dans la convention de matrice elle-même. Par exemple:
CHARACTER*9 MONTHS [1:12] CHARACTER*9 MONTHS [12]
Tous les deux déclarations variables déclarent un choix de variables de caractère chacune avec 12 éléments. Les éléments dans la rangée sont tous les deux des numéros 1 à 12. Comparez-les à l'exemple suivant:
CHARACTER*9 MONTHS [0:11]
Cet exemple déclare également un choix de 12 éléments, mais les éléments de rangée sont numérotés de 0 à 11.
Seulement des valeurs positives peuvent être indiquées pour les valeurs souscrites de début et de rangée de fin, et la valeur de début doit être inférieur ou égal à la valeur de fin. Si la valeur de début est omise, elle se transfère sur 1.
Quand vous voulez rechercher une valeur d'une variable de rangée, vous pouvez employer des numériques propres , des variables de nombre entier ou des expressions arithmétiques complexes pour indiquer l'element(s). Par exemple:
SET Tax = Revenue [Office, Index + 1] * 0.175
Voyez également:
Un ensemble de valeurs peut être associé à un variable, en utilisant une clause de valeur dans la définition variable. Elles sont employées par le GENERATE et les NEXT commands, qui permettent à la variable d'être assignée une valeur de la liste ou de la gamme, aléatoirement (en utilisant GENERATE) ou séquentiellement (en utilisant NEXT). Des valeurs peuvent être indiquées comme liste (des nombre entier et des caractère de variables) ou comme gamme (nombres entiers seulement). Note: Les listes peuvent contenir seulement différentes valeurs, et pas gammes.
Variables qui ont été déclarées car une rangée peut ne pas avoir une liste ou une gamme associée de valeur. Une liste de valeur a le format suivant:
(value1{, valeur 2, value3... })
Les valeurs doivent être du même type de données que la variable, c.-à-d. valeurs de nombre entier pour des variables de nombre entier et des valeurs de caractère pour des variables de caractère. Elles peuvent être des « « lettres » » ou des constantes qui ont été précédemment définies.
Note: Dans le cas des variables de caractère, la taille maximum d'une constante de caractère ou la chaîne littérale(literal string) est 65535 caractères.
Les gammes fournissent une méthode de sténographie pour définir une liste de valeurs adjacentes de nombre entier et ont le format suivant:
(start_value - end_value)
Si la valeur de début est moins que la valeur de fin, la variable est incrémentée par 1 sur chaque exécution de la PROCHAINE commande, jusqu'à ce que la valeur de fin soit atteinte. Si la valeur de début est plus grande que la valeur de fin, la variable est décrémentée par 1 sur chaque exécution de la PROCHAINE commande, jusqu'à ce que la valeur de fin soit atteinte.
Si la variable est placée à la valeur de fin quand la PROCHAINE commande est exécutée, la variable sera remise à zéro à la valeur de début. Vous pouvez également remettre à zéro la variable explicitement, en employant RESET command .
Dans la liste suivante de définitions variables d'exemple comprenant des valeurs, les deux premières définitions sont équivalentes:
Integer A (4,3,2,1,0,-1)Integer B (4 - -1)Integer C (100 - 999)Integer D (100,200,300,400)Character*10 Language ("ENGLISH", 'FRENCH', & 'GERMAN', "SPANISH")Character Control ("~<CR>", "~<LF>", "^Z", &"^X", "^U")
Voyez également:
Des attributs additionnels peuvent être assignés à une variable en utilisant des clauses d'option. Les options variables suivent les définitions de valeur (si présent), et sont introduites par une virgule. Il y a trois types de clause d'option disponibles: le premier définit la portée de la variable; la seconde est employée avec des variables avec des valeurs associées, pour définir à quel point des valeurs aléatoires doivent être produites, s'il y a lieu; le troisième est employé avec les variables qui sont définies comme paramètre pour le script.
Les sections suivantes décrivent les types de clause d'option de variable.
Voyez également:
Les options variables de portée définissent comment largement accessible la variable est; elles sont mutuellement exclusif. Les options variables de portée sont:
,LOCAL,SCRIPT,THREAD,GLOBAL
Ces options sont décrites ci-dessous:
Les variables locales sont seulement accessibles au thread running le script dans ledquelles elles sont définies. Elles ne peuvent pas être consultées par aucuns autres thread ou script (scripts y compris référencés par le script principal). De même, un script ne peut accéder à aucune des variables locales définies dans aucun de ces scripts qu'il appelle.
L'espace pour des variables locales définies dans un script est assigné quand le script est activé et délocalisé quand l'exécution de script accomplit.
C'est le défaut si aucune option de portée n'est indiquée dans la définition variable.
Les variables de script sont accessibles à n'importe quel thread courant le script dans lesquelles elles sont définies.
L'espace pour les variables de script définies dans un script est assigné quand le script est activé et il n'y a aucun fil courant actuellement le script. Si un ou plusieurs fils courent déjà le script, les données variables de script existant sont employées.
L'espace pour des variables de script est normalement délocalisé quand l'exécution d'un script se termine, et autre thread ne court pas le script. Dans certains cas, cependant, il peut être souhaitable de maintenir les teneurs des variables de script même s'il n'y a aucun fil accédant au script. Ceci peut être réalisé en employant la clause « ,keepalive » sur la commande EXIT. L'espace assigné aux variables de script est seulement supprimé quand un thread est le dernier thread accédant au script et n'a pas indiqué clause ", keepalive ". Une utilisation particulière de cette clause est où le script s'appelle par un certain nombre de thread , mais il n'y a aucune garantie qu'il y aura au moins un thread accédant au script à tout moment.
Les variables de thread sont accessibles de n'importe quel script exécuté par le thread qui déclare un exemple d'elles.
L'espace pour des variables de thread est délocalisé quand le thread est accomplit.
Les variables de thread ne peuvent pas avoir associé des listes de valeur ou des gammes.
Les variables globales sont accessibles à n'importe quel thread courant n'importe quel script sous le même test manager .L'espace pour des variables globales est désaffecté quand le test manager en question est fermé.Les variables globales ne peuvent pas avoir associé des listes de valeur ou des gammes.
Voyez également:
Les options aléatoires sont seulement valides pour les variables qui ont un ensemble associé de valeurs; elles sont mutuellement exclusif. Les deux options aléatoires sont:
,RANDOM
,REPEATABLE {RANDOM} {, SEED = n}
Fonction de ces options comme suit:
Cette option indique qu'une valeur doit être choisie aléatoirement à partir d’une liste ou gamme, de le moment où la variable est employée en même temps que la commande de GENERATE. Les valeurs seront choisies dans un ordre différent chaque fois que elles sont produites; ceci est réalisé en produisant d'une valeur différente de multiple variable chaque fois que la variable est initialisée. Des variables locales sont initialisées quand l'exécution de script commence. Des variables de script sont initialisées par le premier thread pour exécuter le script.
Cette option est particulièrement utile quand vous démarrez un test sur un système.
C'est le défaut si aucune option aléatoire n'est indiquée.
Voyez également:
Cette option indique qu'une valeur doit être choisie aléatoirement à partir d'une liste ou d'une gamme, quand la variable est employée en même temps que la commande GENERATE, mais dans le même ordre chaque fois que le script est en cours . Ceci est réalisé en employant la même valeur de variable « multiple »chaque fois que la variable est initialisée.
Cette option est particulièrement utile dans le test de la régression quand l'entrée reproductible est exigée.
Cette option peut être employée en même temps que l'option REPEATABLE RADOM , pour indiquer la valeur multiple qui doit être employée en produisant de l'ordre aléatoire des nombres. Ceci permet pour employer un ordre différent des valeurs aléatoires pour chaque variable aléatoire qu'on peut répéter. "n" est un numérique propre dans la gamme -2147483648 à +2147483647.
Voyez également:
L'option variable de fichier associe un fichier des textes Ascii des valeurs - un par la ligne – avec variable:
, FILE = filename
où est écrit le "filename" est une chaîne de caractères citée qui définit le nom du fichier de textes Ascii, le nom de chemin et le fichier d’extension . Le fichier doit résider dans le dossier de données principal et avoir .FVR en extension de fichier .
Le dossier est employé par la NEXT commande, qui permet à la variable d'être assignée une valeur à partir du fichier séquentiellement.
Des valeurs sont tenues dans le fichier avec une valeur par la ligne. Les valeurs doivent être du même type de données que la variable, c.-à-d. valeurs de nombre entier pour des variables de nombre entier et des valeurs de caractère pour des variables de caractère. Par exemple, un fichier pour une variable de nombre entier a pu contenir les valeurs:
-100
0
100
Un fichier pour une variable de
caractère a pu contenir les valeurs:
Pele
10
Cruyff
14
Note: Des commandes de caractère SCL ne sont pas identifiées dans les fichiers
variables de fichier - le fichier devrait contenir les caractères crus Ascii seulement.
Des valeurs sont recherchées à partir du fichier lié à une variable en utilisant la NEXT commande. Cette commande recherche la prochaine valeur séquentielle à partir du fichier. Quand la NEXT commande est d'abord exécutée, elle recherchera la première valeur à partir du fichier. Si la variable est placée à la dernière valeur dans le fichier quand la NEXT commande est exécutée, la variable sera remise à zéro à la première valeur dans le fichier. Vous pouvez également remettre à zéro la variable explicitement, en employant la commande de RESET.
L'option de fichier n est pas la valable pour les variables qui:

Voyez également:
Cette section montre à un certain nombre d'exemple des définitions variables:

Voyez également:
La section obligatoire de code du fichier source de SCL contient toutes les commandes qui définissent le comportement du script.
Un fichier de script doit contenir la section (simple) de code comme dernière section dans le fichier. Il est présenté par la commande obligatoire de CODE.
Voyez également:
Marques de CORPS de la CHARGE RESPONSE_info
Codez Les Commandes De Section
La section de code d'un fichier source de SCL se compose de:
Le SCL fournit un éventail de commandes qui commandent le comportement du script.
Une commande est normalement terminée vers la fin de la ligne de source, mais peut être continuée sur une ligne suivante en indiquant le caractère de suite comme dernier caractère sur une ligne - à part pour n'importe quel commentaire de ligne. Une esperluette ou un trait d'union ("et "ou" -") peut être employée comme caractère de suite; ceci est décrit dans des lignes suite .
Les espaces et des tabs sont traités comme séparateurs dans une commande, bien que les espaces soient significatifs quand ils apparaissent dans des arguments de chaîne de caractères.
Le compilateur de script permet à n'importe quel caractère avec une valeur Ascii dans la gamme HEX 00 à 20 ou le HEX 81 à 8F inclus d'apparaître au début d'une ligne ou de l'extrémité d'une ligne. Il ignore ces caractères, permettant à des tabs et à des chargements de page, par exemple, d'être employés pour faciliter la lisibilité.
Si n'importe quel caractère de commande Ascii apparaît ailleurs, le compilateur de script produira d'une erreur de compilation.
Voyez également:
Le SCL offre un grand nombre de commandes pour soutenir la création des scripts puissants et flexibles. Ceux-ci entrent dans un certain nombre de catégories distinctes:
· Commandes de HTTP (http Commands)
· Commandes D'Entrée De Jet D'Entrée (Input Stream Entry Commands)
· Jet De Rendement Manipulant Des Commandes (Output Stream Handling Commands)
· Commandes De Commande D'Écoulement (Flow Control Commands)
· Dossier Manipulant Des Commandes (File Handling Commands)
· Commandes De Commande Formelles D'Test (Formal Test Control Commands)
· Commandes De Synchronisation (Synchronization Commands)
· Commandes Statistiques D'Enregistrement De Données (Statistical Data Logging Commands)
· Commandes Diagnostiques Diagnostic Commands
· Commandes Diverses Miscellaneous commands
Voyez également:
Quand un script est exécuté, la première commande dans le script est choisie et exécutée.
Des commandes sont traitées séquentiellement, à moins qu'une commande qui change l'écoulement de la commande soit exécutée, dans ce cas le traitement continue au point défini dans le script.
Un script se termine quand la fin du script est atteinte, quand une EXIT, ou DÉTACH la commande { THREAD } est exécutée, ou quand une erreur est détectée et le probleme d'erreur n'est pas permis pour le script.
Voyez également:
Toutes les variables ont accédé par un script doivent être prédéfinies dans la section de définitions du script. Si une variable non définie est consultée dans d'un fichier source de SCL, une erreur sera rapportée.
Toutes les variables de nombre entier sont au commencement placées à zéro, et les variables de caractère sont vides
Voyez également:
Des labels peuvent être employées pour identifier des rapports de SCL. Un label se compose du nom du label suivi des deux points. Par exemple:
REQ_TIMEOUT: LOG "HTTP GET", url, "timed out"
Un nom de label doit être un OpenSTA valide Dataname .
Aucun sous-programme défini peut ne pas mettre en référence des labels définies dans d'autres sections du code, puisque les labels sont locales au module dans lequel elles sont définies.
Voyez également:
Pendant la compilation, le compilateur maintient des tables de symbole de tous les symboles qu'il a rencontrés, de sorte qu'il puisse résoudre des références par rapport elles. Il y a les tables de symbole séparées pour des variables, des temporisateurs et des labels.
Tous les symboles dans une table de symbole doivent être uniques. Cependant, l'utilisation des tables de symbole séparées permet, par exemple, le même nom d'être employé pour un label quant à une variable.
En outre, parce que des labels ne sont pas propagées dans des sous-programmes ou vice versa, les labels dans un sous-programme peuvent reproduire des labels dans d'autres sous-programmes, ou dans le corps principal du code.
Voyez également:
La commande de LOAD RESPONSE_INFO BODY charge une variable de caractère avec l'ensemble ou une partie des données d'un corps de message de réponse HTTP pour un connexion indiqué en TCP. Pour de réponse body contenus dans un document HTML, la clause "WITH" peut être employé pour charger une variable de caractère avec un élément ou partie d'un élément du document.
la clause "WITH" a le format suivant:
,WITH identifier
Note: la marque est une chaîne variable et citée de caractère de caractères ou expression de caractère identifiant les données à rechercher du document de HTML dans le corps de message de réponse. Les sections suivantes décrivent le format de cette marque.
Un élément dans un document HTML est identifié par un élément d adresse string .
tag(tagnum){/tag(tagnum)}:element_type:{attribute}(element_num)
The html tag name
Un nombre identifiant le tag relatif à son tag de parent ou à la racine de document.
0 = d'abord étiquette
d'enfant 0 = First child tag
1 = deuxième étiquette d'enfant 1 =
Second child tag
n = nième étiquette d'enfant n
= nth child tag
Le type d'élément de HTML. Ceci doit être l'un de ce qui suit:
ANONYMOUS ATTRIBUTE
ATTRIBUTE
COMMENT
SCRIPT
TEXT
Pour l'Attribut d'element_type, indique le nom de l'attribut de HTML.
Un nombre identifiant l'élément. Pour l'Attribut de type d'élément, le nombre identifie l'attribut relativement à son étiquette associée.
0 = premier attribut
1 = second attribut
n = nième attribut
HTML(0)/BODY(1)/TABLE(1)/TBODY(0)/TR(0)/TD(0):TEXT:(0) HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)
Notes:
· Il ne doit y avoir aucun whitespace entre aucun de ces composants d’un identifiant .
· Des identifiant ne sont pas validées au moment de la compilation .
Une chaine complète d'élément HTML peut être recherchée d'un document de HTML en utilisant une marque contenant seulement une adresse d'élément HTML. Cependant, une sous-chaîne peut être choisie parmi elle employant une variété de qualificateurs. Ces qualificateurs suivent immédiatement l'adresse d'élément HTML et sont décrits ci-dessous.
Une sous-chaîne d'élément de HTML peut être choisie en utilisant un identifiant spécifique indiquant l'offset la sous-chaîne et sa longueur.
element_addr[offset, length ]
là où "[" et "]" sont les caractères et la partie littérale de la syntaxe exigée.
L'adresse d'élément de HTML dans le format décrit ci-dessus.
L’offset du premier caractère de la sous-chaîne dès le début de la chaîne d'élément.
Le nombre de caractères dans la sous-chaîne.
Notes:
· Si l'offset est invalide , une chaîne vide est retournée.
· Si la longueur est zéro, ou est invalid, tous les caractères dès le début l'offset à l'extrémité de la chaine d'élément sont retournés.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)[2,5]
Une sous-chaîne d'élément HTML peut être choisie en indiquant un identifiant contenant deux délimiteurs de chaîne. La sous-chaîne retournée contient tous les caractères entre la première occurrence du premier délimiteur et la première occurrence de la seconde. La chaîne inclura également les deux chaînes de délimiteur.
element_addr[delimiter1,delimiter2]
là où "[" et "]" sont les caractères et la partie littérale de la syntaxe exigée.
L'adresse d'élément de HTML dans le format décrit ci-dessus.
Une chaîne - incluse dans des citations simples - identification des caractères au début de la sous-chaîne.
Une chaîne - incluse dans des citations simples - identification des caractères à la fin du
sous-chaîne.
Notes:
· Si delimiter1 ne peut pas être trouvé, une chaîne vide est retournée.
· Si delimiter2 ne peut pas être trouvé, tous les caractères de et inclure delimiter1 à l'extrémité de la chaîne d'élément sont retournés.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)['document.cookie=',';']
Les deux méthodes ci-dessus de choix de sous-chaîne peuvent être combinées, permettant à une sous-chaîne d'élément HTML d'être identifiée par une chaîne de début et une longueur ou un offset et une chaîne d'arrêt.
element_addr[delimiter1,length]
ou
element_addr[offset,delimeter2]
là où "[" et "]" sont les caractères et la partie littérale de la syntaxe exigée.
L'adresse d'élément de HTML dans le format décrit ci-dessus.
Une chaîne - incluse dans des citations simples - identification des caractères au début de la sous-chaîne.
Le nombre de caractères dans la sous-chaîne.
L'offset du premier caractère de la sous-chaîne dès le début de la chaîne d'élément.
Une chaîne - incluse dans des citations simples - identification des caractères à la fin du
sous-chaîne.
Notes:
· Si delimiter1 ne peut pas être trouvé, une chaîne vide est retournée.
· Si l'offset est invalide, une chaîne vide est retournée.
· Si delimiter2 ne peut pas être trouvé, tous les caractères ensuite, et incluant, delimiter1 à l'extrémité de la chaîne d'élément sont retournés.
· Si la longueur est zéro, ou est invalide, tous les caractères de l'offset indiqué à l'extrémité de la chaîne d'élément sont retournés.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)['cookie=',3] HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)[2,';']
La syntaxe étant décrit ci-dessus, toutes les chaînes de délimiteur indiquées sont incluses dans la sous-chaîne retournée. L'un ou l'autre ou les deux délimiteurs peuvent être exclus de la sous-chaîne retournée le plus presque en inversant le crochet au délimiteur, c.-à-d. à l'aide d'un crochet d'ouverture au lieu d'un crochet se fermant et vice versa.
Cette méthode peut également être employée avec des paramètres offset. Au lieu d'identifier l'offset du premier caractère de la sous-chaîne à choisir, en utilisant cette syntaxe alternative, l'offset devient l'offset du caractère juste avant que le premier caractère à choisir.
Les exemples suivants illustrent comment une sous-chaîne peut être choisie parmi la chaîne d’attribut CONTENT d'une MÉTA tag HTML.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)]2,';']
Choisit la sous-chaîne qui commence à l'offset 3 à partir du commencement de la chaîne d'attribut et qui est terminée par - et inclut - le prochain point-virgule dans la chaîne.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)[2,';'[
Choisit la sous-chaîne qui commence à l'offset 2 à partir du commencement de la chaîne d'attribut et qui est terminée par - mais n'inclut pas - le prochain point-virgule dedans
la chaîne.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)]2,';'[
Choisit la sous-chaîne qui commence à l’offset 3 à partir du commencement de la chaîne d’attribut et qui est terminée par – mais n’inclut pas – le prochain point-virgule dans la chaîne.
Il y a des occasions quand il est utile d'employer les équipements ci-dessus à partir d'un certain point dans la chaîne d'élément, plutôt qu'au début de la chaîne. Ceci peut être réalisé en remettant à zéro la base de choix. Ceci peut être fait en indiquant la base de choix comme offset du commencement de la chaîne d'élément, ou en indiquant une sous-chaîne qui identifie les caractères au début de la sous-chaîne à examiner. L'offset ou la sous-chaîne est précédé par un de deux opérateurs ">" ou de ">=":
L'offset est celui du caractère juste avant que la sous-chaîne à examiner.
La sous-chaîne identifie les caractères à l'extrémité de la chaîne à ignorer. La sous-chaîne commence par le premier caractère après la sous-chaîne.
L'offset est celui du premier caractère dans la sous-chaîne à examiner.
La sous-chaîne identifie les caractères au début de la sous-chaîne à examiner.
Note:
Si l'offset ou la sous-chaîne ne peut pas être trouvé, une chaîne vide est retournée.
Les exemples suivants illustrent comment la base de choix est remise à zéro pour un choix à partir de la chaîne d un attribut CONTENT d'une MÉTA tag HTML.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)]>'// Cookie','document.cookie=',';']
L'offset de base de choix est placé à l'offset du premier caractère après la première occurrence de la chaîne "// Cookie "dans la chaîne d'élément. La sous-chaîne choisie commence par le caractère après "document.cookie =" et finie avec - et inclut - le prochain point-virgule.
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)]>='// Cookie','document.cookie=',';']
Même chose qu'en haut, sauf que l'offset de base de choix est maintenant le premier caractère du "// cookie ".
HTML(0)/HEAD(0)/META(1):ATTRIBUTE:CONTENT(1)]>=50,'document.cookie=',';']
Même chose qu’en haut, sauf que l’offset de base de choix est maintenant 50 caractères dès le début de la chaîne d’élément.
Toutes les comparaisons de chaîne indiquées par des marques de LOAD RESPONSE_INFO BOSY sont par le cas de défaut sensible. La caisse de caractères peut être ignorée dans les comparaisons en mettant en tête la chaîne de recherche ou la chaîne de délimiteur par "I".
/de HTML(0)/head(0)/meta(1):attribute:content(1)]>i '/Cookie', I'document.cookie =',';']
La base de choix est remise à zéro en recherchant la chaîne d'élément "// cookie "; le bloc de caractères est ignorée dans la recherche.
Des chaînes de caractères citées dans le SCL sont délimitées, par des citations simples ou par de doubles citations. Puisque la syntaxe d'une marque de LOAD RESPONSE_INFO BODY inclut des citations simples, on lui recommande que des citations de double soient employées pour délimiter une chaîne de caractères citée contenant une telle marque.
Un caractère littéral de citation simple peut être inclus dans une chaîne de marque en la précédant avec un antislash. Par exemple:
"HTML(0)/HEAD(0)/META(1):ATTRIBUTE:XYZZY(1)[0,'\'']"
Ceci choisit une sous-chaîne terminée par une citation simple.
Un double caractère littéral de citation peut être indiqué dans une chaîne de marque, en utilisant la commande de caractère de SCL, ~<22 >. Par exemple,
"HTML(0)/HEAD(0)/META(1):ATTRIBUTE:XYZZY(1)[0,'~<22>']"
Ceci choisit une sous-chaîne terminée par une double citation.
Voyez également:
Cette section décrit les commandes qui peuvent être incluses dans la section de code d'un fichier script.
La section de code peut également contenir des labels et des commentaires. Davantage d'information sur ces articles est fournie dans la vue d'ensemble de la syntaxe d'ordres de gestion de script .
Référez-vous à la section de commandes de HTTP pour information concernant les commandes qui peuvent être employées avec le HTTP.
Voyez également:
Commandes de HTTP (http Commands)
Commandes D'Entrée De Jet D'Entrée (input Stream entry commands)
Jet De Rendement Manipulant Des Commandes (output Stream Handing Commands)
Commandes De Commande D'Écoulement (Flow control Commands)
Dossier Manipulant Des Commandes (file Handing commands)
Commandes De Commande Formelles D'Test (Formal Test Control commands)
Commandes De Synchronisation (Synchronisation Commands)
Commandes D'Entrée De Jet D'Entrée (input Stream Entry Commands)
Commandes Statistiques D'Enregistrement De Données (Statistical Data logging Commands)
Commandes Diagnostiques (diagnostic commands)
Commandes Diverses (Commands diverses)
La Section de CODE (la section code)
Les commandes HTTP fournissent des équipements pour publier des requêtes HTTP des ressources, examining/ interrogating les messages de réponse et synchronisant des requêtes. Ce