Microsoft VBScript (Visual Basic Script) es un lenguaje de scripting activo, ligero y de uso general desarrollado por Microsoft que se basa en Visual Basic. Hoy en día, VBScript es el lenguaje de programación principal para Quick Test Professional (QTP), que es una herramienta de automatización de pruebas.
Las siguientes son las ventajas de VBScript:
VBScript es un lenguaje de scripting ligero, que tiene un intérprete ultrarrápido.
VBScript, en su mayor parte, no distingue entre mayúsculas y minúsculas. Tiene una sintaxis muy simple, fácil de aprender e implementar.
A diferencia de C ++ o Java, VBScript es un lenguaje de programación basado en objetos y NO un lenguaje de programación orientado a objetos.
Utiliza Component Object Model (COM) para acceder a los elementos del entorno en el que se está ejecutando.
La ejecución exitosa de VBScript solo puede ocurrir si se ejecuta en un entorno host como Internet Explorer (IE), Internet Information Services (IIS) y Windows Scripting Host (WSH).
Las siguientes son las desventajas de VBScript:
VBscript solo lo utilizan los navegadores IE. Otros navegadores como Chrome, Firefox NO admiten VBScript. Por lo tanto, se prefiere JavaScript a VBScript.
VBScript tiene un soporte de línea de comando limitado.
Dado que no hay un entorno de desarrollo disponible de forma predeterminada, la depuración es difícil.
¡No! VBScript es un lenguaje que no distingue entre mayúsculas y minúsculas. Esto significa que las palabras clave del idioma, las variables, los nombres de las funciones y cualquier otro identificador NO necesitan escribirse con letras mayúsculas consistentes.
Entonces, los identificadores int_counter, INT_Counter e INT_COUNTER tienen el mismo significado dentro de VBScript.
La variable es una ubicación de memoria con nombre que se utiliza para contener un valor que se puede cambiar durante la ejecución del script. VBScript tiene solo UN tipo de datos fundamentales, Variant.
Reglas para declarar variables -
El nombre de la variable debe comenzar con un alfabeto.
Los nombres de las variables no pueden superar los 255 caracteres.
Las variables NO deben contener un punto (.)
Los nombres de las variables deben ser únicos en el contexto declarado.
Las variables se declaran mediante la palabra clave "dim".
¡No! Dado que solo hay UN tipo de datos fundamentales, todas las variables declaradas son variantes por defecto. Por lo tanto, un usuario NO DEBE mencionar el tipo de datos durante la declaración.
Los valores numéricos deben asignarse sin comillas dobles.
Los valores de cadena deben encerrarse entre comillas dobles (").
Las variables de fecha y hora deben incluirse entre el símbolo de almohadilla (#).
Los siguientes son los alcances de la variable en VBScript:
Dim
Public
Private
Las variables declaradas con la palabra clave "Dim" en un nivel de procedimiento están disponibles solo dentro del mismo procedimiento. Las variables declaradas mediante la palabra clave "Dim" a nivel de script están disponibles para todos los procedimientos dentro del mismo script.
Las variables declaradas mediante la palabra clave "pública" están disponibles para todos los procedimientos en todos los scripts asociados. Al declarar una variable de tipo "público", la palabra clave Dim se reemplaza por "Público".
Las variables que se declaran como "Privadas" tienen alcance solo dentro del script en el que se declaran. Al declarar una variable de tipo "Privada", la palabra clave Dim se reemplaza por "Privada".
Las constantes se declaran utilizando la palabra clave "const".
Las constantes públicas están disponibles para todos los scripts y procedimientos.
Las constantes privadas están disponibles dentro del procedimiento o clase.
El lenguaje VBScript admite los siguientes tipos de operadores:
Operadores aritméticos
Operadores de comparación
Operadores lógicos (o relacionales)
Operadores de concatenación
El operador MOD se usa para obtener el módulo de dos números.
Ejemplo -
Dim a : a = 5
Dim b : b = 10
Dim c
c = b MOD a
Document.write ("Modulus Result is " &c)
^ operador se usa para obtener el exponente de dos números.
Ejemplo -
Dim a : a = 5
Dim b : b = 10
Dim c
c = b ^ a
Document.write ("Exponentiation Result is " &c)
El operador <> se usa para verificar si dos números son iguales o no.
Ejemplo -
Dim a : a = 5
Dim b : b = 10
Dim c
c = b <> a
Document.write ("Equality Check is " &c)
XOR llamado operador de exclusión lógica. Se utiliza para realizar una operación XOR.
Ejemplo -
A. Dim a : a = 5
Dim b : b = 10
Dim c
c = b XOR a
Document.write ("XOR Check is " &c)
El operador + agrega dos valores ya que los valores de las variables son numéricos. Entonces A + B dará 15.
El operador + concatena dos valores si los valores son cadenas. Entonces A + B dará VBScript.
El operador & concatena dos valores. Entonces A + B dará 510.
El operador & concatena dos valores. Entonces A & B darán VBScript.
VBScript también puede manipular cookies utilizando la propiedad de cookie del objeto Document. JavaScript puede leer, crear, modificar y eliminar las cookies que se aplican a la página web actual.
La forma más sencilla de crear una cookie es asignar un valor de cadena al objeto document.cookie, que se ve así:
Sintaxis -
document.cookie = "key1 = value1; key2 = value2; expires = date";
Aquí expira el atributo es opcional. Si proporciona a este atributo una fecha u hora válida, la cookie caducará en la fecha u hora indicadas y, después, no se podrá acceder al valor de las cookies.
Leer una cookie es tan simple como escribir una, porque el valor del objeto document.cookie es la cookie. Por lo tanto, puede utilizar esta cadena siempre que desee acceder a la cookie.
La cadena document.cookie mantendrá una lista de pares nombre = valor separados por punto y coma, donde nombre es el nombre de una cookie y valor es su valor de cadena.
Puede usar la función split () de cadenas para dividir la cadena en clave y valores.
A veces, querrá eliminar una cookie para que los intentos posteriores de leer la cookie no devuelvan nada. Para hacer esto, solo necesita establecer la fecha de vencimiento en un tiempo en el pasado.
Usando la función CDbl, que convierte un número dado de cualquier subtipo de variante al doble.
Ejemplo -
x = 123
y = 123.882
document.write("x value after converting to double - " & CDbl(x) & "<br />")
Usando la función CInt, que convierte un número dado de cualquier subtipo de variante en Integer.
Ejemplo -
x = 123
y = 123.882
document.write("y value after converting to Int - " & CInt(y) & "<br />")
Usando la función CLng, que convierte un número dado de cualquier subtipo de variante en Long.
Ejemplo -
x = 123
y = 123.882
document.write("x value after converting to Long -" & CLng(x) & "<br />")
Usando la función CSng, que convierte un número dado de cualquier subtipo de variante en Single.
Ejemplo -
x = 123
y = 123.882
document.write("x value after converting to Single -" & CSng(x) & "<br />")
Usando la función Hex, que convierte un número dado de cualquier subtipo de variante en Hexadecimal.
Ejemplo -
x = 123
y = 123.882
document.write("y value after converting to Hex -" & Hex(y) & "<br />")
Usando la función FormatNumber, que devolvería una expresión formateada como un número.
Ejemplo -
Dim num : num = -645.998651
document.write(FormatNumber(num, 3))& "<br/>" '-645.999
Usando la función FormatPercent, que devolvería una expresión formateada como porcentaje.
Ejemplo -
Dim num : num = -645.998651
document.write(FormatPercent(num, 2))& "<br/>" '-64,599.86%
Usando la función Int, que devuelve la parte entera del número dado.
Ejemplo -
Dim num : num = -645.998651
document.write("int Result of num is : " & int(num))& "<br/>" '-646
Usando la función Log, que devuelve el logaritmo natural del número dado.
Ejemplo -
Dim num : num = 210
document.write("Log Result of num2 is : " & Log(num2))& "<br/>" '5.34710753071747
Usando la función Oct, que devuelve el valor octal del número dado.
Ejemplo -
Dim num : num = -645.998651
document.write("Oct Result of num is : " & Oct(num))& "<br/>" '37777776572
Usando la función Hex, que devuelve el valor hexadecimal del número dado.
Ejemplo -
Dim num : num = -645.998651
document.write("Hex Result of num is : " & Hex(num))& "<br/>" 'FFFFFD7A
Usando la función Rnd, que devuelve un número aleatorio entre 0 y 1.
Ejemplo -
Dim num : num = -645.998651
document.write("Rnd Result of num is : " & Rnd(num))& "<br/>" '0.5130115
Usando la función Sqr, que devuelve la raíz cuadrada del número dado.
Ejemplo -
Dim num : num = -210
document.write("Sqr Result of num is : " & Sqr(num))& "<br/>" '14.4913767461894
Usando la función Abs, que devuelve el valor absoluto del número dado.
Ejemplo -
Dim num : num = -645.998651
document.write("Abs Result of num is : " & Abs(num))& "<br/>" '645.998651
Usando la función Exp, que devuelve el valor de e elevado al número especificado.
Ejemplo -
Dim num : num = -645.998651
document.write("Exp Result of num is : " & Exp(num))& "<br/>" '2.79479883633128E-281
Usando la función InStr, que devuelve la primera aparición de una cadena dentro de otra cadena. La búsqueda se realiza de izquierda a derecha.
Usando la función InStrRev, que devuelve la primera aparición de una cadena dentro de otra cadena. La búsqueda se realiza de derecha a izquierda.
Usando la función Lcase, que devuelve la minúscula de la cadena especificada.
Usando la función Ucase, que devuelve las mayúsculas de la cadena especificada.
Usando la función Ltrim, que devuelve una cadena después de eliminar los espacios en el lado izquierdo de la cadena especificada.
Usando la función Rtrim, que devuelve una cadena después de eliminar los espacios en el lado izquierdo de la cadena especificada.
Uso de la función Trim, que devuelve un valor de cadena después de eliminar los espacios en blanco iniciales y finales.
Usando la función Len, que devuelve la longitud de la cadena dada.
Usando la función Reemplazar, que devuelve una cadena después de reemplazar una cadena con otra cadena.
Usando la función Space, que llena una cadena con el número especificado de espacios.
Usando la función StrComp, que devuelve un valor entero después de comparar las dos cadenas especificadas.
La función StrComp devuelve un valor entero después de comparar las dos cadenas dadas. Puede devolver cualquiera de los tres valores -1, 0 o 1 según las cadenas de entrada que se van a comparar.
Si String 1 <String 2, StrComp devuelve -1
Si String 1 = String 2, StrComp devuelve 0
Si String 1> String 2, StrComp devuelve 1
Usando la función String, que devuelve una String con un carácter especificado el número especificado de veces.
Usando la función StrReverse, que devuelve una Cadena después de invertir la secuencia de los caracteres de la cadena dada.
Los rrays se declaran de la misma manera que se ha declarado una variable, excepto que la declaración de una variable de matriz utiliza paréntesis. En el siguiente ejemplo, el tamaño de la matriz se menciona entre paréntesis.
Ejemplo -
'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")
Los valores se asignan a la matriz especificando el valor del índice de la matriz frente a cada uno de los valores a asignar.
Ejemplo -
Dim arr(5)
arr(0) = "VBScript" 'String
document.write("Value stored in Array index 0 : " & arr(0) & "<br />")
Usando la declaración ReDim, podemos declarar variables de matriz dinámica y asignar o reasignar espacio de almacenamiento.
Usando la función LBound, que devuelve un número entero que corresponde al subíndice más pequeño de las matrices dadas.
Usando la función UBound, que devuelve un número entero que corresponde al subíndice más grande de las matrices dadas.
Usando la función Split, que devuelve una matriz que contiene un número específico de valores. Dividido según un delimitador.
Usando la función Join, que devuelve una cadena que contiene un número específico de subcadenas en una matriz. Esta es una función exactamente opuesta al método de división.
Usando la función de filtro, devuelve una matriz de base cero que contiene un subconjunto de una matriz de cadena según un criterio de filtro específico.
Usando la función IsArray, que devuelve un valor booleano que indica si la variable de entrada es una matriz o no.
Usando la función de borrado, que recupera la memoria asignada para las variables de matriz.
La forma más común de definir una función en VBScript es mediante el uso de la palabra clave Function, seguida de un nombre de función único y puede o no llevar una lista de parámetros y una declaración con una palabra clave End Function, que indica el final de la función. .
Para invocar una función en algún lugar más adelante en el script, simplemente necesitaría escribir el nombre de esa función con la palabra clave Call.
Para devolver un valor de una función, simplemente asigne el valor al nombre de la función.
¡Si! Una función puede devolver varios valores separados por comas como una matriz asignada al nombre de la función en sí.
Los subprocedimientos son similares a las funciones, pero hay pocas diferencias.
Subprocedimientos NO Devolver un valor mientras que las funciones pueden o no devolver un valor.
Subprocedimientos Se pueden llamar sin la palabra clave de llamada.
Los procedimientos secundarios siempre se incluyen en las instrucciones Sub y End Sub.
Si se especifica ByVal, los argumentos se envían por valor cuando se llama a la función o procedimiento.
Si se especifica ByRef, los argumentos se envían como referencia cuando se llama a la función o al procedimiento.
necesitamos declarar el objeto y crear una instancia usando Establecer palabra clave.
Ejemplo -
Dim obj
Set obj = CreateObject("Scripting.Dictionary")
Para destruir los objetos, debemos usar Establecer palabra clave seguida del nombre del objeto y apuntar a Nada.
Ejemplo -
Dim obj
Set obj = CreateObject("Scripting.Dictionary")
Set obj = Nothing
La clase es una construcción que se usa para definir un tipo único. Al igual que la programación orientada a objetos, VbScript 5.0 admite la creación de clases y es muy similar a escribir objetos COM con VB.
La clase es simplemente la plantilla para un objeto y creamos una instancia de un objeto para acceder a sus propiedades y métodos. Las clases pueden contener variables, propiedades, métodos o eventos.
Las clases de VBScript están incluidas dentro de Class .... End Class
'Defining the Class
Class classname 'Declare the object name
...
End Class
' Instantiation of the Class
Set objectname = new classname
Las clases pueden contener variables, que pueden ser privadas o públicas. Las variables dentro de las clases deben seguir las convenciones de nomenclatura de VBScript. Por defecto, las variables de la clase son Públicas. Por eso se puede acceder a ellos fuera de la clase.
Ejemplo -
Dim var1 , var2.
Private var1 , var2.
Public var1 , var2.
Propiedades de clase, como Property Let, que maneja el proceso de validación de datos y asigna el nuevo valor a la variable privada. Conjunto de propiedades, que asigna el nuevo valor de propiedad a la variable de objeto privado.
Las propiedades de solo lectura tienen solo un procedimiento Property Get mientras que las propiedades de solo escritura (que son raras) tienen solo un procedimiento Property Let o Property Set.
Ejemplo -
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
Los métodos permiten que la clase realice la operación que desea el desarrollador. Los métodos no son más que funciones o subrutinas.
Ejemplo -
Class Car
Private Model
Private Year
Public Start()
Fuel = 2.45
Pressure = 4.15
End Function
End Class
Hay dos eventos que se asocian automáticamente con cada clase de forma predeterminada. Class_Initialize y Class_Terminate.
Class_Initialize se activa cada vez que crea una instancia de un objeto basado en la clase. El evento Class_Terminate se activa cuando el objeto sale del alcance o cuando el objeto se establece en Nothing.
Ejemplo -
En el siguiente ejemplo, le haremos entender cómo funcionan los eventos en 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
Esta clase proporciona objetos del sistema de archivos que ayudan a los desarrolladores a trabajar con unidades, carpetas y archivos.
Ejemplo -
Dim oFS, drive
Set oFS = CreateObject("Scripting.FileSystemObject")
Set drive = oFS.GetDrive(oFS.GetDriveName("C:\"))
Document.write drive.VolumeName
La unidad contiene métodos y propiedades que le permiten recopilar información sobre una unidad conectada al sistema.
El archivo contiene métodos y propiedades que permiten a los desarrolladores crear, eliminar o mover un archivo.
Archivos proporciona una lista de todos los archivos contenidos en una carpeta.
Carpeta proporciona métodos y propiedades que permiten a los desarrolladores crear, eliminar o mover carpetas.
Carpetas proporciona una lista de todas las carpetas dentro de una carpeta.
TextStream permite a los desarrolladores leer y escribir archivos de texto.
El objeto RegExp ayuda a los desarrolladores a hacer coincidir el patrón de cadenas y las propiedades y métodos nos ayudan a trabajar con expresiones regulares fácilmente.
A continuación se muestran las propiedades del objeto RegExp:
Pattern − El método Pattern representa una cadena que se usa para definir la expresión regular y debe establecerse antes de usar el objeto de expresión regular.
IgnoreCase −Una propiedad booleana que representa si la expresión regular debe probarse con todas las posibles coincidencias en una cadena si es verdadera o falsa. Si no se especifica explícitamente, el valor de IgnoreCase se establece en False.
Global −Una propiedad booleana que representa si la expresión regular debe probarse con todas las coincidencias posibles en una cadena. Si no se especifica explícitamente, el valor global se establece en falso.
El método Test toma una cadena como argumento y devuelve True si la expresión regular se puede comparar correctamente con la cadena; de lo contrario, se devuelve False.
El método Reemplazar toma 2 parámetros. Si la búsqueda tiene éxito, reemplaza esa coincidencia con la cadena de reemplazo y se devuelve la nueva cadena. Si no hay coincidencias, se devuelve la cadena de búsqueda original.
El método Execute funciona como Reemplazar, excepto que devuelve un objeto de colección Coincidencias, que contiene un objeto Coincidencia para cada coincidencia exitosa. No modifica la cadena original.
Si queremos capturar el error, entonces se utiliza Err Object.
Utilice Err.Raise para lanzar un error.
Ejemplo -
Err.Raise 6 ' Raise an overflow error.
Err.Number proporciona el número de error y Err.Description proporciona la descripción del error.
Ejemplo -
Err.Raise 6 ' Raise an overflow error.
MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
Err.Clear borra un error.
Ejemplo -
Err.Raise 6 ' Raise an overflow error.
MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
Err.Clear ' Clear the error.