Microsoft VBScript (Visual Basic Script) est un langage de script polyvalent, léger et actif développé par Microsoft sur le modèle de Visual Basic. De nos jours, VBScript est le principal langage de script pour Quick Test Professional (QTP), qui est un outil d'automatisation de test.

Voici les avantages de VBScript -

  • VBScript est un langage de script léger, doté d'un interpréteur ultra-rapide.

  • VBScript, pour la plupart, est insensible à la casse. Il a une syntaxe très simple, facile à apprendre et à mettre en œuvre.

  • Contrairement à C ++ ou Java, VBScript est un langage de script basé sur des objets et PAS un langage de programmation orienté objet.

  • Il utilise le modèle d'objet composant (COM) pour accéder aux éléments de l'environnement dans lequel il s'exécute.

  • L'exécution réussie de VBScript ne peut se produire que si elle est exécutée dans un environnement hôte tel qu'Internet Explorer (IE), Internet Information Services (IIS) et Windows Scripting Host (WSH).

Voici les inconvénients de VBScript -

  • VBscript est utilisé uniquement par les navigateurs IE. D'autres navigateurs tels que Chrome, Firefox DONOT prennent en charge VBScript. Par conséquent, JavaScript est préféré à VBScript.

  • VBScript a un support de ligne de commande limité.

  • Puisqu'il n'y a pas d'environnement de développement disponible par défaut, le débogage est difficile.

Non! VBScript est un langage insensible à la casse. Cela signifie que les mots-clés de langue, les variables, les noms de fonction et tout autre identificateur n'ont PAS besoin d'être tapés avec une majuscule cohérente des lettres.

Ainsi, les identificateurs int_counter, INT_Counter et INT_COUNTER ont la même signification dans VBScript.

La variable est un emplacement de mémoire nommé utilisé pour contenir une valeur qui peut être modifiée pendant l'exécution du script. VBScript n'a qu'un seul type de données fondamental, Variant.

Règles de déclaration des variables -

  • Le nom de la variable doit commencer par un alphabet.

  • Les noms de variable ne peuvent pas dépasser 255 caractères.

  • Les variables ne doivent PAS contenir de point (.)

  • Les noms de variable doivent être uniques dans le contexte déclaré.

Les variables sont déclarées à l'aide du mot-clé "dim".

Non! Puisqu'il n'y a qu'un seul type de données fondamental, toutes les variables déclarées sont variantes par défaut. Par conséquent, un utilisateur NE DOIT PAS mentionner le type de données lors de la déclaration.

Les valeurs numériques doivent être attribuées sans guillemets.

Les valeurs de chaîne doivent être placées entre guillemets (").

Les variables de date et d'heure doivent être placées entre le symbole de hachage (#).

Voici les portées de la variable dans VBScript -

  • Dim

  • Public

  • Private

Les variables déclarées à l'aide du mot-clé "Dim" au niveau procédure ne sont disponibles que dans la même procédure. Les variables déclarées à l'aide du mot-clé "Dim" au niveau du script sont disponibles pour toutes les procédures d'un même script.

Les variables déclarées à l'aide du mot-clé "Public" sont disponibles pour toutes les procédures dans tous les scripts associés. Lors de la déclaration d'une variable de type "public", le mot clé Dim est remplacé par "Public".

Les variables déclarées comme «privées» n'ont de portée que dans le script dans lequel elles sont déclarées. Lors de la déclaration d'une variable de type "Private", le mot clé Dim est remplacé par "Private".

Les constantes sont déclarées à l'aide du mot-clé "const".

Les constantes publiques sont disponibles pour tous les scripts et procédures.

Les constantes privées sont disponibles dans la procédure ou la classe.

Le langage VBScript prend en charge les types d'opérateurs suivants -

  • Opérateurs arithmétiques

  • Opérateurs de comparaison

  • Opérateurs logiques (ou relationnels)

  • Opérateurs de concaténation

MOD opeator est utilisé pour obtenir le module de deux nombres.

Exemple -

Dim a : a = 5
Dim b : b = 10
Dim c
c = b MOD a
Document.write ("Modulus Result is " &c)

^ opeator est utilisé pour obtenir l'exposant de deux nombres.

Exemple -

Dim a : a = 5
Dim b : b = 10
Dim c
c = b ^ a
Document.write ("Exponentiation Result is " &c)

L'opérateur <> est utilisé pour vérifier si deux nombres sont égaux ou non.

Exemple -

Dim a : a = 5
Dim b : b = 10
Dim c
c = b <> a
Document.write ("Equality Check is " &c)

Opérateur d'exclusion logique appelé XOR. Il est utilisé pour effectuer une opération XOR.

Exemple -

A. Dim a : a = 5
Dim b : b = 10
Dim c
c = b XOR a
Document.write ("XOR Check is " &c)

L'opérateur + ajoute deux valeurs car les valeurs de variable sont numériques. Donc A + B donnera 15.

+ L'opérateur concatène deux Valeurs si les valeurs sont des chaînes. Donc A + B donnera VBScript.

L'opérateur & concatène deux valeurs. Donc A + B donnera 510.

L'opérateur & concatène deux valeurs. Donc A & B donneront VBScript.

VBScript peut également manipuler les cookies à l'aide de la propriété cookie de l'objet Document. JavaScript peut lire, créer, modifier et supprimer le ou les cookies qui s'appliquent à la page Web actuelle.

Le moyen le plus simple de créer un cookie est d'attribuer une valeur de chaîne à l'objet document.cookie, qui ressemble à ceci -

Syntaxe -

document.cookie = "key1 = value1; key2 = value2; expires = date";

Ici, l'attribut expire est facultatif. Si vous fournissez à cet attribut une date ou une heure valide, le cookie expirera à la date ou à l'heure donnée et après cela, la valeur des cookies ne sera plus accessible.

La lecture d'un cookie est aussi simple que l'écriture d'un cookie, car la valeur de l'objet document.cookie est le cookie. Vous pouvez donc utiliser cette chaîne chaque fois que vous souhaitez accéder au cookie.

La chaîne document.cookie conservera une liste de paires nom = valeur séparées par des points-virgules, où nom est le nom d'un cookie et valeur est sa valeur de chaîne.

Vous pouvez utiliser la fonction split () des chaînes pour diviser la chaîne en clé et en valeurs.

Parfois, vous souhaiterez supprimer un cookie afin que les tentatives ultérieures de lecture du cookie ne renvoient rien. Pour ce faire, il vous suffit de définir la date d'expiration sur une heure du passé.

Utilisation de la fonction CDbl, qui convertit un nombre donné de n'importe quel sous-type de variant en double.

Exemple -

x = 123
y = 123.882
document.write("x value after converting to double - " & CDbl(x) & "<br />")

Utilisation de la fonction CInt, qui convertit un nombre donné de n'importe quel sous-type de variant en Integer.

Exemple -

x = 123
y = 123.882
document.write("y value after converting to Int - " & CInt(y) & "<br />")

Utilisation de la fonction CLng, qui convertit un nombre donné de n'importe quel sous-type variant en Long.

Exemple -

x = 123
y = 123.882
document.write("x value after converting to Long -" & CLng(x) & "<br />")

Utilisation de la fonction CSng, qui convertit un nombre donné de n'importe quel sous-type de variante en Single.

Exemple -

x = 123
y = 123.882
document.write("x value after converting to Single -" & CSng(x) & "<br />")

Utilisation de la fonction hexadécimale, qui convertit un nombre donné de n'importe quel sous-type variant en hexadécimal.

Exemple -

x = 123
y = 123.882
document.write("y value after converting to Hex -" & Hex(y) & "<br />")

Utilisation de la fonction FormatNumber, qui renverrait une expression formatée sous forme de nombre.

Exemple -

Dim num : num = -645.998651
document.write(FormatNumber(num, 3))& "<br/>"     '-645.999

Utilisation de la fonction FormatPercent, qui renverrait une expression formatée en pourcentage.

Exemple -

Dim num : num = -645.998651
document.write(FormatPercent(num, 2))& "<br/>"    '-64,599.86%

Utilisation de la fonction Int, qui renvoie la partie entière du nombre donné.

Exemple -

Dim num : num = -645.998651
document.write("int Result of num is : " & int(num))& "<br/>"  '-646

Utilisation de la fonction Log, qui renvoie le logarithme naturel du nombre donné.

Exemple -

Dim num : num = 210
document.write("Log Result of num2 is : " & Log(num2))& "<br/>" '5.34710753071747

Utilisation de la fonction Oct, qui renvoie la valeur octale du nombre donné.

Exemple -

Dim num : num = -645.998651
document.write("Oct Result of num is : " & Oct(num))& "<br/>" '37777776572

Utilisation de la fonction Hex, qui renvoie la valeur hexadécimale du nombre donné.

Exemple -

Dim num : num = -645.998651
document.write("Hex Result of num is : " & Hex(num))& "<br/>" 'FFFFFD7A

Utilisation de la fonction Rnd, qui renvoie un nombre aléatoire entre 0 et 1.

Exemple -

Dim num : num = -645.998651
document.write("Rnd Result of num is : " & Rnd(num))& "<br/>" '0.5130115

Utilisation de la fonction Sqr, qui renvoie la racine carrée du nombre donné.

Exemple -

Dim num : num = -210
document.write("Sqr Result of num is : " & Sqr(num))& "<br/>" '14.4913767461894

Utilisation de la fonction Abs, qui renvoie la valeur absolue du nombre donné.

Exemple -

Dim num : num = -645.998651
document.write("Abs Result of num is : " & Abs(num))& "<br/>" '645.998651

Utilisation de la fonction Exp, qui renvoie la valeur de e élevée au nombre spécifié.

Exemple -

Dim num : num = -645.998651
document.write("Exp Result of num is : " & Exp(num))& "<br/>" '2.79479883633128E-281

Utilisation de la fonction InStr, qui renvoie la première occurrence d'une chaîne dans une autre chaîne. La recherche s'effectue de gauche à droite.

Utilisation de la fonction InStrRev, qui renvoie la première occurrence d'une chaîne dans une autre chaîne. La recherche s'effectue de droite à gauche.

Utilisation de la fonction Lcase, qui renvoie les minuscules de la chaîne spécifiée.

Utilisation de la fonction Ucase, qui renvoie les majuscules de la chaîne spécifiée.

Utilisation de la fonction Ltrim, qui renvoie une chaîne après avoir supprimé les espaces sur le côté gauche de la chaîne spécifiée.

Utilisation de la fonction Rtrim, qui renvoie une chaîne après avoir supprimé les espaces sur le côté gauche de la chaîne spécifiée.

Utilisation de la fonction Trim, qui renvoie une valeur de chaîne après avoir supprimé les espaces vides de début et de fin.

Utilisation de la fonction Len, qui renvoie la longueur de la chaîne donnée.

Utilisation de la fonction Replace, qui renvoie une chaîne après avoir remplacé une chaîne par une autre chaîne.

Utilisation de la fonction Space, qui remplit une chaîne avec le nombre d'espaces spécifié.

Utilisation de la fonction StrComp, qui renvoie une valeur entière après avoir comparé les deux chaînes spécifiées.

La fonction StrComp renvoie une valeur entière après avoir comparé les deux chaînes données. Il peut renvoyer l'une des trois valeurs -1, 0 ou 1 en fonction des chaînes d'entrée à comparer.

  • Si String 1 <String 2, StrComp renvoie -1

  • Si String 1 = String 2, StrComp renvoie 0

  • Si String 1> String 2, StrComp renvoie 1

Utilisation de la fonction String, qui renvoie une chaîne avec un caractère spécifié le nombre de fois spécifié.

En utilisant la fonction StrReverse, whihc renvoie une chaîne après avoir inversé la séquence des caractères de la chaîne donnée.

Les rrays sont déclarés de la même manière qu'une variable a été déclarée sauf que la déclaration d'une variable tableau utilise des parenthèses. Dans l'exemple ci-dessous, la taille du tableau est mentionnée entre crochets.

Exemple -

'Method 1 : Using Dim
Dim arr1() 'Without Size
'Method 2 : Mentioning the Size
Dim arr2(5)  'Declared with size of 5
'Method 3 : using 'Array' Parameter
Dim arr3
arr3 = Array("apple","Orange","Grapes")

Les valeurs sont affectées au tableau en spécifiant la valeur d'index du tableau par rapport à chacune des valeurs à affecter.

Exemple -

Dim arr(5)
arr(0) = "VBScript"    'String
document.write("Value stored in Array index 0 : " & arr(0) & "<br />")

En utilisant l'instruction ReDim, nous pouvons déclarer des variables de tableau dynamique et allouer ou réallouer de l'espace de stockage.

Utilisation de la fonction LBound, qui renvoie un entier correspondant au plus petit indice des tableaux donnés.

Utilisation de la fonction UBound, qui renvoie un entier correspondant au plus grand indice des tableaux donnés.

Utilisation de la fonction Split, qui renvoie un tableau contenant un nombre spécifié de valeurs. Divisé en fonction d'un délimiteur.

Utilisation de la fonction Join, qui retourne une chaîne contenant un nombre spécifié de sous-chaînes dans un tableau. C'est une fonction exactement opposée à la méthode de fractionnement.

À l'aide de la fonction Filter, renvoie un tableau de base zéro qui contient un sous-ensemble d'un tableau de chaînes basé sur un critère de filtre spécifique.

Utilisation de la fonction IsArray, qui renvoie une valeur booléenne indiquant si la variable d'entrée est un tableau.

Utilisation de la fonction Erase, qui récupère la mémoire allouée pour les variables du tableau.

La façon la plus courante de définir une fonction dans VBScript consiste à utiliser le mot clé Function, suivi d'un nom de fonction unique et il peut ou non porter une liste de paramètres et une instruction avec un mot clé End Function, qui indique la fin de la fonction .

Pour appeler une fonction quelque part plus tard dans le script, vous auriez simplement besoin d'écrire le nom de cette fonction avec le mot clé Call.

Pour renvoyer une valeur à partir d'une fonction, affectez simplement la valeur au nom de la fonction lui-même.

Oui! Une fonction peut renvoyer plusieurs valeurs séparées par une virgule sous la forme d'un tableau affecté au nom de la fonction lui-même.

Les procédures Sub sont similaires aux fonctions mais il y a peu de différences.

  • Sous-procédures DONOT Renvoie une valeur tandis que les fonctions peuvent ou non renvoyer une valeur.

  • Sous-procédures Peut être appelée sans mot-clé d'appel.

  • Les procédures Sub sont toujours incluses dans les instructions Sub et End Sub.

Si ByVal est spécifié, les arguments sont envoyés en tant que valeur lorsque la fonction ou la procédure est appelée.

Si ByRef est spécifié, les arguments sont envoyés comme par référence lorsque la fonction ou la procédure est appelée.

nous devons déclarer l'objet et l'instancier à l'aide de Set Keyword.

Exemple -

Dim obj  
Set obj = CreateObject("Scripting.Dictionary")

Afin de détruire les objets, nous devons utiliser Set Keyword suivi du nom de l'objet et le pointer vers Nothing.

Exemple -

Dim obj  
Set obj = CreateObject("Scripting.Dictionary")
Set obj = Nothing

La classe est une construction utilisée pour définir un type unique. Comme la programmation orientée objet, VbScript 5.0 prend en charge la création de classes et est très similaire à l'écriture d'objets COM avec VB.

La classe est simplement le modèle d'un objet et nous instancions un objet pour accéder à ses propriétés et méthodes. Les classes peuvent contenir des variables, des propriétés, des méthodes ou des événements.

Les classes VBScript sont incluses dans Class .... End Class

'Defining the Class
Class classname    'Declare the object name
...
End Class
' Instantiation of the Class
Set objectname = new classname

Les classes peuvent contenir des variables, qui peuvent être privées ou publiques. Les variables au sein des classes doivent suivre les conventions de dénomination VBScript. Par défaut, les variables de la classe sont publiques. C'est pourquoi ils sont accessibles en dehors de la classe.

Exemple -

Dim var1 , var2.
Private var1 , var2.
Public var1 , var2.

Propriétés de classe, telles que Property Let, qui gère le processus de validation des données et d'affectation de la nouvelle valeur à la variable privée. Jeu de propriétés, qui attribue la nouvelle valeur de propriété à la variable d'objet privé.

Les propriétés en lecture seule ont uniquement une procédure Property Get tandis que les propriétés en écriture seule (qui sont rares) ont uniquement une procédure Property Let ou Property Set.

Exemple -

Class Comp
   
   Private modStrType
   Private OS
 
   Public Property Let ComputerType(strType)
      modStrType = strType
   End Property
 
   Public Property Get ComputerType()
      ComputerType = modStrType
   End Property
 
   Public Property Set OperatingSystem(oObj)
      Set OS = oObj
   End Property
 
   Public Property Get OperatingSystem()
      Set OperatingSystem = OS
   End Property
 
End Class

Les méthodes permettent à la classe d'effectuer l'opération souhaitée par le développeur. Les méthodes ne sont que des fonctions ou des sous-programmes.

Exemple -

Class Car
   
   Private Model
   Private Year
 
   Public Start()
      Fuel = 2.45
   Pressure =  4.15
   End Function
 
End Class

Il y a deux événements qui sont automatiquement associés à chaque classe par défaut. Class_Initialize et Class_Terminate.

Class_Initialize est déclenché chaque fois que vous instanciez un objet basé sur la classe. L'événement Class_Terminate est déclenché lorsque l'objet sort de la portée ou lorsque l'objet est défini sur Nothing.

Exemple -

Dans l'exemple ci-dessous, nous vous ferons comprendre comment les événements fonctionnent dans VBScript.

'Instantation of the Object
Set objectname = New classname 
   
Private Sub Class_Initialize(  )
 Initalization code goes here
End Sub
'When Object is Set to Nothing
Private Sub Class_Terminate(  )
 Termination code goes here
End Sub

Cette classe fournit des objets de système de fichiers qui aident les développeurs à travailler avec des lecteurs, des dossiers et des fichiers.

Exemple -

Dim oFS, drive
Set oFS = CreateObject("Scripting.FileSystemObject")
Set drive = oFS.GetDrive(oFS.GetDriveName("C:\"))
Document.write drive.VolumeName

Drive contient des méthodes et des propriétés qui vous permettent de collecter des informations sur un lecteur connecté au système.

Le fichier contient des méthodes et des propriétés qui permettent aux développeurs de créer, supprimer ou déplacer un fichier.

Fichiers fournit une liste de tous les fichiers contenus dans un dossier.

Folder fournit des méthodes et des propriétés qui permettent aux développeurs de créer, supprimer ou déplacer des dossiers.

Dossiers fournit une liste de tous les dossiers d'un dossier.

TextStream permet aux développeurs de lire et d'écrire des fichiers texte.

L'objet RegExp aide les développeurs à faire correspondre le modèle de chaînes et les propriétés et méthodes nous aident à travailler facilement avec les expressions régulières.

Voici les propriétés de l'objet RegExp -

  • Pattern − La méthode Pattern représente une chaîne utilisée pour définir l'expression régulière et elle doit être définie avant d'utiliser l'objet expression régulière.

  • IgnoreCase −Propriété booléenne qui indique si l'expression régulière doit être testée par rapport à toutes les correspondances possibles dans une chaîne si elle est vraie ou fausse. Si elle n'est pas spécifiée explicitement, la valeur IgnoreCase est définie sur False.

  • Global −Propriété booléenne qui indique si l'expression régulière doit être testée par rapport à toutes les correspondances possibles dans une chaîne. S'il n'est pas spécifié explicitement, la valeur globale est définie sur False.

La méthode Test prend une chaîne comme argument et renvoie True si l'expression régulière peut être mise en correspondance avec la chaîne, sinon False est renvoyé.

La méthode Replace prend 2 paramètres. Si la recherche réussit, elle remplace cette correspondance par la chaîne de remplacement et la nouvelle chaîne est renvoyée. S'il n'y a pas de correspondance, la chaîne de recherche d'origine est renvoyée.

La méthode Execute fonctionne comme Replace, sauf qu'elle renvoie un objet de collection Matches, contenant un objet Match pour chaque correspondance réussie. Il ne modifie pas la chaîne d'origine.

Si nous voulons capturer l'erreur, alors Err Object est utilisé.

Utilisez Err.Raise pour lancer une erreur.

Exemple -

Err.Raise 6   ' Raise an overflow error.

Err.Number donne le numéro de l'erreur et Err.Description donne une description de l'erreur.

Exemple -

Err.Raise 6   ' Raise an overflow error.
MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description

Err.Clear efface une erreur.

Exemple -

Err.Raise 6   ' Raise an overflow error.
MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
Err.Clear   ' Clear the error.