Te doy la bienvenida a nuestro espacio, ahora hallarás la solucíon de lo que necesitas.
Solución:
En una tabla de variables
Si está creando las cadenas en un *** Variables ***
tabla, puede distribuir la definición en varias líneas. Puedes usar un argumento especial SEPARATOR
para definir cómo se unen las celdas. De forma predeterminada, las líneas están unidas por un espacio, por lo que querrá configurarlo en el vacío string al no dar explícitamente SEPARATOR
un valor.
Consulte la tabla de variables en la guía del usuario para obtener más información.
*** Variables ***
$example_regex= SEPARATOR=
... (?m)Setting IP address to [0-9]1,3\.[0-9]1,3\.[0-9]1,3\.[0-9]1,3\n
... Setting MAC address to [0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2\n
... Setting IP forwarding kernel options
En un caso de prueba o palabra clave
Si está tratando de hacer esto en un caso de prueba o palabra clave, no puede definir directamente una multilínea string. Sin embargo, puede obtener el mismo efecto utilizando la palabra clave catate en un caso de prueba o palabra clave para unir datos que se distribuyen en varias celdas. Asegúrese de escapar correctamente de sus barras diagonales inversas y establezca el carácter separador en un vacío string si no desea saltos de línea en los datos.
*** Test Cases ***
Multiline variable example
$example_regex= catenate SEPARATOR=
... (?m)Setting IP address to [0-9]1,3\.[0-9]1,3\.[0-9]1,3\.[0-9]1,3\n
... Setting MAC address to [0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2\n
... Setting IP forwarding kernel options
log regex: '$example_regex'
Robot Framework 2.9 agregó soporte para cadenas literales multilínea según los documentos.
test.robot
*** Variables ***
$example_regex = SEPARATOR=
... (?m)Setting IP address to [0-9]1,3\.[0-9]1,3\.[0-9]1,3\.[0-9]1,3\n
... Setting MAC address to [0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2\n
... Setting IP forwarding kernel options
*** Test Cases ***
Show output
Log n$example_regex console=yes
robot test.robot
==============================================================================
Test
==============================================================================
Show output
(?m)Setting IP address to [0-9]1,3.[0-9]1,3.[0-9]1,3.[0-9]1,3nSetting MAC address to [0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2nSetting IP forwarding kernel options
Show output | PASS |
------------------------------------------------------------------------------
Test | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Algunas notas:
- Todos los espacios en blanco iniciales y finales se recortan de cada línea
- Una llanura
SEPARATOR=
en la primera línea no especifica ningún separador
También puede considerar el uso de archivos variables, ya que obtiene todo el poder del formato literal de Python, lo que puede facilitar el mantenimiento de cosas como expresiones regulares complicadas. Si está utilizando Robot Framework 3+ y Python 3.5+ (para f
-strings) entonces puede verse así:
vars.py
ip_address_pattern = r'[0-9]1,3.[0-9]1,3.[0-9]1,3.[0-9]1,3'
lower_mac_address_pattern = '[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2:[0-9a-f]2'
example_regex = (
rf'(?m)Setting IP address to ip_address_patternn'
rf'Setting MAC address to lower_mac_address_patternn'
'Setting IP forwarding kernel options'
)
test.robot
*** Settings ***
Variables vars.py
*** Test Cases ***
Show output
Log n$example_regex console=yes
Lo que da como resultado el mismo resultado que el anterior.
Eres capaz de añadir valor a nuestra información asistiendo con tu experiencia en las explicaciones.