Exemplos de Expressão Comum

Você pode substituir uma propriedade de reconhecimento por uma expressão comum ou por um intervalo numérico para que o reconhecimento seja com base em padrões. O padrão permite maior flexibilidade no reconhecimento de objetos. Você pode converter as propriedades em expressões comuns e em intervalos numéricos a partir do Editor de Ponto de Verificação ou do mapa de objetos.

Para obter informações sobre como utilizar expressões comuns, consulte Substituindo uma Propriedade de Correspondência Exata por um Padrão.

Quando você converte um valor em expressão comum, você pode testá-la ao editá-la, utilizando o Avaliador de Expressão Comum.

Exemplos de Sintaxes de Expressões Comuns

Estes exemplos são casos de uso típico de expressões comuns.

Ancoragem

Todos os exemplos a seguir, iniciando com o Exemplo Geral, são não ancorados. Os padrões no Avaliador de Expressão Comum são não ancorados por padrão, o que significa que o padrão pode aparecer em qualquer lugar na cadeia. A cadeia também pode conter outros caracteres. A ancoragem funciona da mesma forma que o recurso de Procura na maioria dos programas de software - procurando texto sozinho ou aninhado em outro texto. Para ancorar alguma coisa, utilize esta sintaxe:

^ cadeia$

O "^" e o "$" ancoram os caracteres na cadeia. O "^" representa o começo da cadeia e o "$" representa o final, quando localizados no começo e no final, respectivamente. O caractere "^" possui esse significado especial somente quando é o primeiro caractere em um padrão; o "$" possui esse significado somente quando é o último caractere em um padrão.

Por exemplo, para verificar se um valor de propriedade possui uma cadeia específica de caracteres, confirme sua ancoragem. Suponha que uma etiqueta em um formulário de pedido seja "Order" se o cliente tiver somente um pedido e seja "Orders" se o cliente tiver vários pedidos e você deseja confirmar que esse cliente possui somente um pedido. Na propriedade de texto da etiqueta, altere o valor para uma expressão comum:

^Order$

Neste caso, "Order" é o único valor que corresponde. "Orders" não corresponde.

Exemplo Geral

Notepad

Suponha que deseja determinar que um aplicativo, como o Notepad, foi aberto. Você pode utilizar uma expressão comum na propriedade de legenda para verificar se a palavra "Notepad" aparece no banner. Esse padrão requer que a palavra "Notepad" apareça em qualquer lugar no valor. Se a propriedade de texto da legenda for "Report.txt - Notepad", significando que Notepad está aberto com um arquivo chamado Report.txt, o padrão corresponderá porque contém a cadeia "Notepad".

O comportamento padrão é corresponder um valor que esteja contido em uma cadeia maior. Para corresponder um conjunto exclusivo de caracteres, utilize as tags de ancoragem descritas anteriormente.

Distinção entre Maiúsculas e Minúsculas

[cC]ustomer

Esse padrão permite que qualquer texto que contenha a palavra "customer" com uma letra "c" maiúscula ou minúscula seja transmitido. Isso é importante porque as comparações fazem distinção entre maiúsculas e minúsculas por padrão.

No Avaliador de Expressão Comum, você pode definir uma opção para a distinção entre maiúsculas e minúsculas. A opção Executar Correspondência que Faz Distinção entre Maiúsculas e Minúsculas é o padrão; a correspondência faz distinção entre maiúsculas e minúsculas e esse exemplo mostrado é útil. Para ignorar essa distinção, limpe a caixa de opções. Também é possível definir a distinção entre maiúsculas e minúsculas na interface do mapa de objetos ou no Editor e Comparador de Pontos de Verificação. Nessas ferramentas, quando você clica com o botão direito do mouse em um valor de expressão comum, é possível clicar em Expressão Comum que Faz Distinção entre Maiúsculas e Minúsculas no menu de atalho.

Qualquer Caractere Simples

payment.method

Utilize os caracteres "." para indicar qualquer caractere único na cadeia. Além de letras e de outros caracteres válidos, o caractere pode ser um espaço ou um numeral. Neste caso, "payment method" e "payment0method" correspondem.

Zero ou mais Caracteres de Repetição

fo*bar

Utilize o caractere "*" para indicar qualquer número do caractere anterior ou zero caracteres. Neste exemplo, "fbar" é transmitido; "fobar", "foobar" e "fooooobar" são transmitidos.

Um ou mais Caracteres de Repetição

fo+bar

Utilize o caractere "+" para indicar qualquer número do caractere anterior. A diferença entre esse e o caractere "*" é que você deve ter pelo menos um dos caracteres com "+". Dessa forma, "fbar" não corresponde a esse padrão; mas "fobar", "foobar" e "fooooobar" correspondem.

Zero ou Um Caractere de Repetição

fo?bar

Esse padrão significa que nenhum caractere ou um dos caracteres antes do símbolo é transmitido. Apenas duas cadeias correspondem a esta sintaxe: "fbar" e "fobar".

Curinga

Customer.*Order

Utilize os caracteres "." e "*" para uma correspondência de curinga. Esse padrão permite que qualquer número de quaisquer caracteres apareça. Por exemplo, se um aplicativo, algumas vezes, inserir um espaço entre as duas palavras nessa propriedade, essa sintaxe abrangerá os dois casos.

Qualquer Caractere de um Conjunto

Form[ABC]

Esse padrão permite que a palavra "Form" seguida de qualquer um dos caracteres entre os colchetes corresponda. Se um campo em seu aplicativo listar o formulário utilizado, utilize essa expressão comum para corresponder a estas cadeias: "FormA", "FormB" ou "FormC".

Qualquer Número de Caracteres de um Conjunto

Form[ABC]*

Isso significa que a palavra "Form" seguida de qualquer número de um dos caracteres entre os colchetes corresponde a essa expressão comum. Se você tivesse um campo no aplicativo que listasse qual formulário estava sendo utilizado, os exemplos mostrados anteriormente ainda seriam transmitidos: "FormA", "FormB" ou "FormC". Além disso, múltiplos de um caractere corresponderiam, como "FormAA" ou "FormCCC" e também apenas "Form".

Qualquer Caractere Não

Form[^BE]

Essa sintaxe permite que a palavra "Form" seguida de qualquer caractere, exceto "B" ou "E", corresponda. Por exemplo, "FormA", "FormC" e "FormG" são transmitidos, mas "FormB" ou "FormE" não são.

Conjunto Alfanumérico

Form[A-G]

É possível especificar um intervalo de letras contíguas. Nesta sintaxe, "FormA", "FormB", "FormC", "FormD", "FormE", "FormF" e "FormG" são transmitidos, mas "FormH" ou "FormM" não são. O intervalo alfanumérico faz distinção entre maiúsculas e minúsculas. "Forma" não é transmitido. Utilize essa sintaxe para corresponder as letras maiúsculas e minúsculas neste intervalo: "Form[a-gA-G]". Para corresponder qualquer letra no alfabeto inglês padrão, utilize os intervalos completos para ambas as letras: "Form[a-zA-Z]".

OR Lógico

OK|Cancel

É possível que haja uma caixa de diálogo com três botões: OK, Cancelar e Ajuda. Para verificar se o botão correto foi clicado, utilize uma expressão comum para a propriedade de etiqueta do botão. Para confirmar que OK ou Cancelar foi clicado, mas não Ajuda, você pode utilizar essa sintaxe.

Expressão de Grupo

My (purple|blue|green) kite

Utilize uma expressão de grupo para operar em todos os elementos de um grupo. Por exemplo, para aplicar um operador a um grupo ou localizar uma cadeia específica antes ou depois de cada membro do grupo, utilize uma expressão de grupo. Os parênteses representam o operador de grupo e a "|" é utilizada para separar os elementos. Neste exemplo, "My purple kite", "My blue kite" e "My green kite" correspondem à expressão. "My red kite" ou "My kite" não correspondem.

Classes de Caracteres

Você pode utilizar várias classes de caracteres em expressões comuns.

(caractere de espaço em branco simples, como espaço, tabulação, avanço de linha ou retorno de carro)

Corresponde letras de idiomas diferentes do inglês.

Talvez você queira corresponder um número de pedido. Por exemplo:

Order\d

Essa sintaxe corresponde à palavra "Order" seguida de um único dígito. A palavra "Order" sozinha não corresponde. Estes exemplos correspondem: "Order5", Order3" e "Order0". "Order 3" não corresponde.

Order\d+

Para utilizar mais de um dígito, utilize esse padrão. O \d+ significa um ou mais dígitos. Por exemplo, "Order77" e "Order235" correspondem a esse padrão.

Form\S

A palavra "Form" seguida de qualquer caractere, exceto espaço, corresponde. Se você precisar verificar se uma etiqueta de formulário no aplicativo tem uma letra indicando o formulário, isso testaria, porque se não houvesse nenhuma letra depois da palavra "Form", não haveria correspondência. Por exemplo, "FormB" e "FormX" correspondem. "Form" e "Form " não correspondem.

As outras classes de caracteres funcionam da mesma maneira que esses exemplos.

Caracteres Especiais

Esses exemplos utilizam determinados caracteres especiais. Esses caracteres não são lidos como o caractere literal na expressão comum, são lidos como um operador. Estão incluídos os seguintes caracteres:

Se você utilizar esses caracteres na expressão comum, eles deverão ser colocados como escape, sendo precedidos com uma "\". Por exemplo, se forem necessários parênteses no texto de uma etiqueta, esta propriedade de texto deverá ser obtida:

Orders \(shipped\)

Nesse caso, a etiqueta "Orders (shipped)" corresponde. Quando você converte um valor em uma expressão comum no Editor de Ponto de Verificação ou no mapa de objetos, se o valor original contiver um desses caracteres, o Functional Tester colocará os caracteres como escape para você.


Feedback