Microsoft VBScript (Visual Basic Script) é uma linguagem de script ativa, leve e de uso geral desenvolvida pela Microsoft que é modelada no Visual Basic. Hoje em dia, VBScript é a linguagem de script principal para Quick Test Professional (QTP), que é uma ferramenta de automação de teste.

A seguir estão as vantagens do VBScript -

  • VBScript é uma linguagem de script leve, que possui um interpretador extremamente rápido.

  • O VBScript, em sua maior parte, não faz distinção entre maiúsculas e minúsculas. Possui uma sintaxe muito simples, fácil de aprender e implementar.

  • Ao contrário de C ++ ou Java, VBScript é uma linguagem de script baseada em objetos e NÃO uma linguagem de programação orientada a objetos.

  • Ele usa o Component Object Model (COM) para acessar os elementos do ambiente no qual está executando.

  • A execução bem-sucedida do VBScript só pode ocorrer se for executado em um ambiente de host, como Internet Explorer (IE), Internet Information Services (IIS) e Windows Scripting Host (WSH).

A seguir estão as desvantagens do VBScript -

  • VBscript é usado apenas por navegadores do IE. Outros navegadores, como Chrome, Firefox DONOT suportam VBScript. Portanto, o JavaScript é preferível ao VBScript.

  • VBScript tem um suporte de linha de comando limitado.

  • Como não há ambiente de desenvolvimento disponível por padrão, a depuração é difícil.

Não! VBScript é uma linguagem que não diferencia maiúsculas de minúsculas. Isso significa que palavras-chave do idioma, variáveis, nomes de funções e quaisquer outros identificadores NÃO precisam ser digitados com uma capitalização consistente das letras.

Portanto, os identificadores int_counter, INT_Counter e INT_COUNTER têm o mesmo significado no VBScript.

Variável é um local de memória nomeado usado para conter um valor que pode ser alterado durante a execução do script. VBScript tem apenas UM tipo de dados fundamental, Variant.

Regras para declarar variáveis ​​-

  • O nome da variável deve começar com um alfabeto.

  • Os nomes das variáveis ​​não podem exceder 255 caracteres.

  • As variáveis ​​NÃO devem conter um ponto (.)

  • Os nomes de variáveis ​​devem ser exclusivos no contexto declarado.

As variáveis ​​são declaradas usando a palavra-chave "dim".

Não! Como há apenas UM tipo de dados fundamental, todas as variáveis ​​declaradas são variantes por padrão. Portanto, um usuário NÃO PRECISA mencionar o tipo de dados durante a declaração.

Os valores numéricos devem ser atribuídos sem aspas duplas.

Os valores de String devem ser colocados entre aspas duplas (").

As variáveis ​​de data e hora devem ser colocadas entre o símbolo hash (#).

A seguir estão os escopos de variável em VBScript -

  • Dim

  • Public

  • Private

Variáveis ​​declaradas usando a palavra-chave "Dim" em um nível de procedimento estão disponíveis apenas dentro do mesmo procedimento. As variáveis ​​declaradas usando a palavra-chave "Dim" no nível do script estão disponíveis para todos os procedimentos dentro do mesmo script.

As variáveis ​​declaradas usando a palavra-chave "Pública" estão disponíveis para todos os procedimentos em todos os scripts associados. Ao declarar uma variável do tipo "pública", a palavra-chave Dim é substituída por "Pública".

As variáveis ​​declaradas como "Privadas" têm escopo apenas dentro do script em que são declaradas. Ao declarar uma variável do tipo "Privado", a palavra-chave Dim é substituída por "Privado".

As constantes são declaradas usando a palavra-chave "const".

As constantes públicas estão disponíveis para todos os scripts e procedimentos.

Constantes privadas estão disponíveis no procedimento ou na classe.

A linguagem VBScript suporta os seguintes tipos de operadores -

  • Operadores aritméticos

  • Operadores de comparação

  • Operadores lógicos (ou relacionais)

  • Operadores de concatenação

O opeator MOD é usado para obter o módulo de dois números.

Exemplo -

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

^ opeator é usado para obter o expoente de dois números.

Exemplo -

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

O operador <> é usado para verificar se dois números são iguais ou não.

Exemplo -

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

XOR Called Logical Exclusion operador. É usado para fazer uma operação XOR.

Exemplo -

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

O operador + adiciona dois valores, pois os valores das variáveis ​​são numéricos. Portanto, A + B dará 15.

O operador + concatena dois valores se os valores forem string. Portanto, A + B fornecerá VBScript.

O operador & concatena dois valores. Portanto, A + B dará 510.

O operador & concatena dois valores. Portanto, A & B fornecerá VBScript.

O VBScript também pode manipular cookies usando a propriedade cookie do objeto Document. JavaScript pode ler, criar, modificar e excluir o cookie ou cookies que se aplicam à página da web atual.

A maneira mais simples de criar um cookie é atribuir um valor de string ao objeto document.cookie, que se parece com isto -

Sintaxe -

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

Aqui, o atributo expires é opcional. Se você fornecer a este atributo uma data ou hora válida, o cookie irá expirar na data ou hora fornecida e, depois disso, o valor dos cookies não estará acessível.

Ler um cookie é tão simples quanto escrever um, porque o valor do objeto document.cookie é o cookie. Portanto, você pode usar essa string sempre que quiser acessar o cookie.

A string document.cookie manterá uma lista de pares nome = valor separados por ponto e vírgula, onde name é o nome de um cookie e value é o valor da string.

Você pode usar a função split () das strings para dividir a string em chave e valores.

Às vezes, você desejará excluir um cookie para que as tentativas subsequentes de ler o cookie não retornem nada. Para fazer isso, você só precisa definir a data de validade para uma hora no passado.

Usando a função CDbl, que converte um determinado número de qualquer subtipo de variante em double.

Exemplo -

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

Usando a função CInt, que converte um determinado número de qualquer subtipo de variante em inteiro.

Exemplo -

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

Usando a função CLng, que converte um determinado número de qualquer subtipo variante em Long.

Exemplo -

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

Usando a função CSng, que converte um determinado número de qualquer subtipo de variante em Único.

Exemplo -

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

Usando a função Hex, que converte um determinado número de qualquer subtipo de variante em Hexadecimal.

Exemplo -

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

Usando a função FormatNumber, que retornaria uma expressão formatada como um número.

Exemplo -

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

Usando a função FormatPercent, que retornaria uma expressão formatada como um percentual.

Exemplo -

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

Usando a função Int, que retorna a parte inteira do número fornecido.

Exemplo -

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

Usando a função Log, que retorna o logaritmo natural do número fornecido.

Exemplo -

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

Usando a função Oct, que retorna o valor octal do número fornecido.

Exemplo -

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

Usando a função Hex, que retorna o valor hexadecimal do número fornecido.

Exemplo -

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

Usando a função Rnd, que retorna um número aleatório entre 0 e 1.

Exemplo -

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

Usando a função Sqr, que retorna a raiz quadrada do número fornecido.

Exemplo -

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

Usando a função Abs, que retorna o valor absoluto do número fornecido.

Exemplo -

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

Usando a função Exp, que retorna o valor de e elevado ao número especificado.

Exemplo -

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

Usando a função InStr, que retorna a primeira ocorrência de uma string dentro de outra string. A busca acontece da esquerda para a direita.

Usando a função InStrRev, que retorna a primeira ocorrência de uma string dentro de outra string. A busca acontece da direita para a esquerda.

Usando a função Lcase, que retorna as letras minúsculas da string especificada.

Usando a função Ucase, que retorna as letras maiúsculas da string especificada.

Usando a função Ltrim, que retorna uma string depois de remover os espaços no lado esquerdo da string especificada.

Usando a função Rtrim, que retorna uma string após remover os espaços no lado esquerdo da string especificada.

Usando a função Trim, que retorna um valor de string após remover os espaços em branco à esquerda e à direita.

Usando a função Len, que retorna o comprimento da string fornecida.

Usando a função Replace, que retorna uma string após substituir uma string por outra string.

Usando a função Espaço, que preenche uma string com o número especificado de espaços.

Usando a função StrComp, que retorna um valor inteiro após comparar as duas strings especificadas.

A função StrComp retorna um valor inteiro após comparar as duas strings fornecidas. Ele pode retornar qualquer um dos três valores -1, 0 ou 1 com base nas strings de entrada a serem comparadas.

  • Se String 1 <String 2, StrComp retorna -1

  • Se String 1 = String 2, StrComp retorna 0

  • Se String 1> String 2, StrComp retorna 1

Usando a função String, que retorna uma String com um caractere especificado o número especificado de vezes.

Usando a função StrReverse, que retorna uma String após reverter a sequência dos caracteres da string fornecida.

rrays são declarados da mesma maneira que uma variável foi declarada, exceto que a declaração de uma variável de array usa parênteses. No exemplo abaixo, o tamanho do array é mencionado entre colchetes.

Exemplo -

'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")

Os valores são atribuídos à matriz especificando o valor do índice da matriz em relação a cada um dos valores a serem atribuídos.

Exemplo -

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

Usando a instrução ReDim, podemos declarar variáveis ​​de matriz dinâmica e alocar ou realocar espaço de armazenamento.

Usando a função LBound, que retorna um número inteiro que corresponde ao menor subscrito das matrizes fornecidas.

Usando a função UBound, que retorna um inteiro que corresponde ao maior subscrito dos arrays fornecidos.

Usando a função Split, que retorna uma matriz que contém um número especificado de valores. Dividido com base em um delimitador.

Usando a função Join, que retorna uma String que contém um número especificado de substrings em uma matriz. Esta é uma função exatamente oposta ao método de divisão.

Usando a função Filter, retorna uma matriz baseada em zero que contém um subconjunto de uma matriz de string com base em um critério de filtro específico.

Usando a função IsArray, que retorna um valor booleano que indica se a variável de entrada é ou não uma matriz.

Usando a função Erase, que recupera a memória alocada para as variáveis ​​do array.

A maneira mais comum de definir uma função em VBScript é usando a palavra-chave Function, seguida por um nome de função exclusivo e pode ou não conter uma lista de parâmetros e uma instrução com uma palavra-chave End Function, que indica o fim da função .

Para invocar uma função em algum lugar posteriormente no script, você simplesmente precisa escrever o nome dessa função com a palavra-chave Call.

Para retornar um valor de uma função, simplesmente atribua o valor ao próprio nome da função.

Sim! Uma função pode retornar vários valores separados por vírgula como uma matriz atribuída ao próprio nome da função.

Os subprocedimentos são semelhantes às funções, mas existem algumas diferenças.

  • Subprocedimentos DONOT Retorna um valor enquanto as funções podem ou não retornar um valor.

  • Subprocedimentos podem ser chamados sem palavra-chave call.

  • Os procedimentos Sub são sempre incluídos nas instruções Sub e End Sub.

Se ByVal for especificado, os argumentos serão enviados como por valor quando a função ou procedimento for chamado.

Se ByRef for especificado, os argumentos serão enviados como referência quando a função ou procedimento for chamado.

precisamos declarar o objeto e instanciá-lo usando Set Keyword.

Exemplo -

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

Para destruir os objetos, precisamos usar Set Keyword seguido do nome do objeto e apontá-lo para Nothing.

Exemplo -

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

Classe é uma construção usada para definir um tipo único. Como a Programação Orientada a Objetos, o VbScript 5.0 oferece suporte à criação de classes e é muito semelhante a escrever objetos COM com o VB.

A classe é simplesmente o modelo para um objeto e nós instanciamos um objeto para acessar suas propriedades e métodos. As classes podem conter variáveis, propriedades, métodos ou eventos.

As classes VBScript são incluídas em Class .... End Class

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

As classes podem conter variáveis, que podem ser privadas ou públicas. As variáveis ​​dentro das classes devem seguir as convenções de nomenclatura VBScript. Por padrão, as variáveis ​​da classe são Públicas. É por isso que eles podem ser acessados ​​fora da classe.

Exemplo -

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

Propriedades de classe, como Property Let, que lida com o processo de validação de dados e atribuição do novo valor à variável privada. Conjunto de propriedades, que atribui o novo valor da propriedade à variável do objeto privado.

Propriedades somente leitura possuem apenas um procedimento Property Get, enquanto propriedades somente gravação (que são raras) têm apenas um procedimento Property Let ou Property Set.

Exemplo -

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

Os métodos permitem que a classe execute a operação que o desenvolvedor deseja. Os métodos nada mais são do que funções ou sub-rotinas.

Exemplo -

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

Existem dois eventos que são automaticamente associados a todas as classes por padrão. Class_Initialize e Class_Terminate.

Class_Initialize é disparado sempre que você instancia um objeto com base na classe. O evento Class_Terminate é disparado quando o objeto sai do escopo ou quando o objeto é definido como Nothing.

Exemplo -

No exemplo abaixo, faremos você entender como os eventos funcionam no 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 classe fornece objetos do sistema de arquivos que ajudam os desenvolvedores a trabalhar com unidades, pastas e arquivos.

Exemplo -

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

Drive contém métodos e propriedades que permitem reunir informações sobre um drive conectado ao sistema.

Arquivo contém métodos e propriedades que permitem aos desenvolvedores criar, deletar ou mover um arquivo.

Arquivos fornece uma lista de todos os arquivos contidos em uma pasta.

O Folder fornece métodos e propriedades que permitem aos desenvolvedores criar, excluir ou mover pastas.

Pastas fornece uma lista de todas as pastas dentro de uma pasta.

TextStream permite aos desenvolvedores ler e escrever arquivos de texto.

O objeto RegExp ajuda os desenvolvedores a combinar o padrão de strings e as propriedades e métodos nos ajudam a trabalhar com expressões regulares facilmente.

A seguir estão as propriedades do objeto RegExp -

  • Pattern − O método Pattern representa uma string que é usada para definir a expressão regular e deve ser definida antes de usar o objeto de expressão regular.

  • IgnoreCase −Uma propriedade booleana que representa se a expressão regular deve ser testada em relação a todas as correspondências possíveis em uma string se verdadeiro ou falso. Se não for especificado explicitamente, o valor de IgnoreCase é definido como False.

  • Global −Uma propriedade booleana que representa se a expressão regular deve ser testada em relação a todas as correspondências possíveis em uma string. Se não for especificado explicitamente, o valor global será definido como False.

O método Test usa uma string como argumento e retorna True se a expressão regular pode ser correspondida com sucesso com a string, caso contrário, False é retornado.

O método Replace leva 2 parâmetros. Se a pesquisa for bem-sucedida, ela substitui essa correspondência pela string de substituição e a nova string é retornada. Se não houver correspondências, a string de pesquisa original é retornada.

O método Execute funciona como Replace, exceto que retorna um objeto de coleção Matches, contendo um objeto Match para cada correspondência bem-sucedida. Não modifica a string original.

Se quisermos capturar o erro, então Err Object é usado.

Use Err.Raise para lançar um erro.

Exemplo -

Err.Raise 6   ' Raise an overflow error.

Err.Number fornece o número do erro e Err.Description fornece a descrição do erro.

Exemplo -

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

Err.Clear limpa um erro.

Exemplo -

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