Guía de Instalación para Entorno de Automatización con Robot Framework
Al desarrollar pruebas de automatización en nuestra computadora local o al desplegar nuevas máquinas en pipelines u otros entornos para ejecutar casos de prueba automatizados, necesitamos instalar una serie de paquetes de software relacionados. Este documento proporciona una guía de instalación detallada.
Alcance de la Guía
1. Máquinas para desarrollo personal
Laptops, computadoras de escritorio y otros dispositivos para desarrollo personal.
2. Máquinas virtuales dedicadas para pruebas
Utilizadas en común por proyectos a través de pipelines de GitLab.
O como máquinas de prueba en redes internas del cliente.
3. Máquinas físicas dedicadas para pruebas
Para simuladores de dispositivos móviles de pruebas de aplicaciones, las máquinas virtuales pueden ser más estables y fluidas.
Sistema Operativo
1. Para máquinas de prueba especializadas
Se recomienda Ubuntu 20, ya que incluye Python3, tiene buen soporte de herramientas, alto grado de automatización, es gratuito, de código abierto y se actualiza regularmente; pero no tiene soporte para WeChat Work.
2. Para entornos de desarrollo local personal
Se recomienda macOS. La terminal de macOS tiene comandos similares a Linux, con una buena experiencia. Windows presenta muchos problemas.
Requisitos de Hardware
- Memoria RAM: 8GB o más
- Núcleos de CPU: 4 o más
Herramientas de Instalación
1. Herramientas de instalación por línea de comandos
| Ubuntu | macOS | Windows |
|---|---|---|
| Herramienta de instalación por línea de comandos apt $ sudo apt install -h La herramienta de instalación dpkg de Ubuntu puede instalar paquetes descargados deb, por ejemplo: $ sudo dpkg -i google-chrome-stable_current_amd64.deb | Herramienta de instalación por línea de comandos brew % brew install -i | setup.exe |
2. Herramienta de instalación de Python pip
A través del espejo de Alibaba Cloud para instalar varios software, aplicable a Windows (Git Bash con privilegios de administrador), Ubuntu Linux y macOS.
Instalación de Herramientas de Automatización
Instalación de Git
URL: https://git-scm.com/download
En sistemas Windows, Git Bash se instala automáticamente, que se utilizará más adelante.
Instalación de Python3
Dirección de descarga oficial: https://www.python.org/downloads/
Se recomienda descargar el paquete de instalación de la versión 3.8.x.
Después de descargar, haga doble clic en el archivo para instalar. La ruta de instalación predeterminada es: C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38 (puede cambiar la ruta de instalación, pero asegúrese de que no contenga caracteres chinos).
Después de la instalación de Python, debe configurar las variables de entorno, agregue las dos rutas de Python a la variable Path:
Windows => Sistema => Configuración avanzada del sistema => Pestaña Avanzada => Variables de entorno => Path => Editar => Nuevo
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38;
C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38\\Scripts.
Después de configurar las variables de entorno, ingrese python en la ventana de línea de comandos cmd. Si se muestra la siguiente información, la instalación fue exitosa:
>python -V
Python 3.8.10
Instalación de setuptools y pip
El proceso de instalación de Python ya instala setuptools y pip, por lo que este paso se puede omitir.
Para verificar si Python ha instalado setuptools y pip, ingrese pip list en la línea de comandos cmd.
Edite el archivo pip.ini para usar el espejo de Alibaba Cloud de forma predeterminada:
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
Instalación del Navegador Chrome
- Se recomienda Chrome - https://www.google.cn/chrome
- Si conoce el número de versión, puede descargarlo directamente. Por ejemplo, en el sistema Ubuntu, descargue 97.0.4692.71-1:
wget http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_97.0.4692.71-1_amd64.deb
- Nota: La versión 98+ de Chrome tiene problemas. Se recomienda actualizar solo a la versión 97.
Instalación del Controlador del Navegaddor Chrome
Dirección de descarga de Chromedriver (Google): https://registry.npmmirror.com/binary.html?path=chromedriver/
Nota: Chromedriver debe corresponder a la versión del navegador Chrome.
Después de descargar y descomprimir chromedriver, coloque el archivo chromedriver.exe en el directorio de instalación de Python (C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38). Haga lo mismo para el navegador Chrome correspondiente.
En Linux o macOS, se recomienda instalar chromedriver en /usr/local/bin.
Instalación de Robot Framework y Bibliotecas de Python
Instale las bibliotecas de Python relacionadas según el requirements.txt descargado:
Cree un nuevo archivo de texto llamado: requirements.txt, con el siguiente contenido:
Faker
PyMySQL
SecretStorage
clipboard
pyperclip
requests
robotframework
robotframework-databaselibrary
robotframework-excel
robotframework-faker
robotframework-pythonlibcore
robotframework-requests
robotframework-selenium2library
robotframework-seleniumlibrary
robotframework-seleniumtestability
robotframeworklexer
scrapy
selenium==4.2.0
six==1.11.0
testresources
urllib3==1.26.8
xlrd==1.2.0
xlutils
xlwt
En la ventana de comandos de Python, ejecute el siguiente comando:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
Después de la instalación:
- Verifique que las versiones de las bibliotecas de Python coincidan con la siguiente lista:
% pip list
Package Version
------------------------ --------
chardet 4.0.0
click 7.1.2
clipboard 0.0.4
elasticsearch 7.10.0
Faker 9.7.1
pip 21.3.1
regex 2021.4.4
requests 2.26.0
robotframework-ride 1.7.4.2 #(puede omitir la instalación)
robotframework 4.1.1
robotframework-appiumlibrary 1.6.3
robotframework-excel 1.0.0b4
robotframework-faker 5.0.0
robotframework-pythonlibcore 3.0.0
robotframework-requests 0.9.2
robotframework-selenium2library 3.0.0
robotframework-seleniumlibrary 5.1.3
robotframework-seleniumtestability 1.1.0
robotframeworklexer 1.1
selenium 4.2.0
setuptools 45.2.0
six 1.11.0
tornado 6.1
tox 3.14.0
uiautomator 1.0.2
urllib3 1.26.6
wheel 0.34.2
wxPython 4.0.7.post2 #(puede omitir la instalación)
xlrd 1.2.0 #(debe instalar esta versión: pip install xlrd==1.2.0)
xlutils 2.0.0
xlwt 1.3.0
yarl 1.6.3
- Ejecute robot --help para confirmar que Robot Framework se instaló correctamente y se puede ejecutar.
Instalación de IDE
Seleccione un IDE para editar/ejecutar archivos Robot Framework (.robot). No se recomienda RIDE:
1. PyCharm / IDEA
- Instale los complementos:
- Hyper Robot Framework Support (no instale en Windows, hay problemas)
- Robot Framework Language Server
- Robot Framework Support
- Run Robot Framework file
- YAML
- Git
2. Visual Studio Code
- Instale los complementos:
- Python
- Robot Framework Intellisense
- Robot Framework Language Server
- robotframework
- robotcode (solo compatible con python3.8+)
- Robotframework Debugger
3. Robotframework-RIDE (no recomendado)
- Instale wxPython:
pip install wxPython==4.0.7.post2 -i https://mirrors.aliyun.com/pypi/simple/
- Instale robotframework-ride:
pip install robotframework-ride -i https://mirrors.aliyun.com/pypi/simple/
Problemas Comunes
Problema de Locale al usar RIDE en Windows con chino
self.normal = self._get_image(image_list, normal)
File "C:\Users\AIT\AppData\Local\Programs\Python\Python38\lib\site-packages\robotide\ui\images.py", line 91, in _get_image
img = wx.Image(path, wx.BITMAP_TYPE_PNG).ConvertToBitmap()
wx._core.wxAssertionError: C++ assertion "strcmp(setlocale(LC_ALL, NULL), "C") == 0" failed at ..\..\src\common\intl.cpp(1579) in wxLocale::GetInfo(): You probably called setlocale() directly instead of using wxLocale and now there is a mismatch between C/C++ and Windows locale.
Things are going to break, please only change locale by creating wxLocale objects to avoid this!
Solución
- Edite site-packages\robotide\ui\images.py y site-packages\robotide\application\application.py
- Agregue una línea wx.Locale(wx.LANGUAGE_ENGLISH): En images.py:
class TreeImageList(wx.ImageList):
def __init__(self):
wx.ImageList.__init__(self, *_SIZE)
self.locale = wx.Locale(wx.LANGUAGE_ENGLISH) # Agregue esta línea
En application.py:
class RIDE(wx.App):
...
def OnInit(self):
# DEBUG To test RTL
# self._initial_locale = wx.Locale(wx.LANGUAGE_ARABIC)
self._initial_locale = wx.Locale(wx.LANGUAGE_ENGLISH)
self.locale = wx.Locale(wx.LANGUAGE_ENGLISH) # Agregue esta línea
Problema de caracteres confusos en la página después de ejecutar scripts en RIDE
Solución
En site-packages\robotide\contrib\testrunner\testrunnerplugin.py, cambie textctrl.AppendTextRaw(bytes(string, encoding['SYSTEM'])) a textctrl.AppendTextRaw(bytes(string, encoding['OUTPUT']))