GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar phantomjs en RHEL 8 / CentOS 8

Phantomjs es un navegador sin cabeza programable. Puede ser una ayuda esencial en las pruebas automatizadas de los servicios web, puede generar capturas de pantalla de la página que está visitando, imprimir de manera efectiva el tráfico mientras navega por una página, solo por nombrar algunas de sus características. Phantomjs se puede programar en JavaScript, por lo que no necesitamos aprender otro idioma si estamos familiarizados con él. Lamentablemente, su desarrollo está suspendido en este momento, pero la última versión estable está disponible para descargar.

En este tutorial instalaremos phantomjs en RHEL 8/CentOS 8 y ejecutaremos uno de los ejemplos enviados con el paquete para ver cómo funciona nuestra herramienta.

En este tutorial aprenderás:

  • Cómo descargar el paquete phantomjs
  • Cómo extraer y colocar el binario en la ruta
  • Cómo ejecutar un script de ejemplo con phantomjs

Ejecutando un script de ejemplo con phantomjs.

Requisitos de software y convenciones utilizadas

Cómo instalar phantomjs en RHEL 8 / CentOS 8 instrucciones paso a paso

Phantomjs es realmente autónomo. Si tenemos los pocos paquetes que requiere, no necesitaríamos root acceso para instalar la herramienta por nosotros mismos (es decir, accesible solo para nuestro usuario). Para garantizar que todos los usuarios del sistema puedan usar esta herramienta, la colocaremos en una ruta de todo el sistema y esto requiere un usuario privilegiado.

  1. Primero debemos comprobar que tenemos los paquetes necesarios:
    $ rpm -q glibc
    glibc-2.28-18.el8.x86_64
    $ rpm -q fontconfig
    fontconfig-2.13.1-2.el8.x86_64

    Si no, podemos instalar los paquetes anteriores con dnf :

    # dnf install glibc fontconfig
  2. Podemos visitar el sitio de descarga oficial para encontrar la URL que necesitamos. En nuestro caso es la dirección del paquete para Linux x86_64. Ingresamos el /opt directorio, donde almacenaremos el binario, ejemplos y readmes:
    # cd /opt

    Y descarga el paquete con wget :

    # wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
  3. Luego extraemos el archivo:
    # tar -xvf phantomjs-2.1.1-linux-x86_64.tar.bz2
  4. Un lugar común para los binarios y herramientas instalados por el usuario (es decir, que no se originan en los repositorios de la distribución) es /usr/local/bin . En RHEL, también está en el $PATH de todos. por defecto. Creamos un enlace simbólico en este directorio y, al hacerlo, cualquier usuario antiguo o nuevo lo encontrará con un simple autocompletado de bash:
    # ln -s /opt/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
  5. Para probar tenemos phantomjs en nuestra ruta, podemos escribir el comando sin ninguna ruta como cualquier usuario del sistema:
    $ phantomjs --version
    2.1.1
  6. Si bien el binario en sí está ahora en nuestro camino, los ejemplos enviados con el paquete distribuido no lo están. Podemos probar nuestra herramienta ejecutando estos ejemplos, que nos pueden dar un comienzo para escribir nuestros propios scripts para phantomjs. El siguiente ejemplo, netlog.js imprimirá todo el tráfico generado mientras phantomjs visita un sitio web, incluida la información del encabezado y los datos binarios. En nuestro caso lo ejecutamos contra el famoso info.php (phpinfo(); de php llamado) atendido por un servidor web que se ejecuta localmente.
    $ phantomjs /opt/phantomjs-2.1.1-linux-x86_64/examples/netlog.js http://localhost/info.php

    Se nos proporcionan todos los datos solicitados y recibidos, por lo que una simple llamada como esta producirá una salida larga.

    requested: {
        "headers": [
            {
                "name": "Accept",
                "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
            },
            {
                "name": "User-Agent",
                "value": "Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1"
            }
        ],
        "id": 1,
        "method": "GET",
        "time": "2019-01-15T17:48:57.393Z",
        "url": "http://localhost/info.php"
    }
    received: {
        "body": "",
        "bodySize": 60718,
        "contentType": "text/html; charset=UTF-8",
        "headers": [
            {
                "name": "Date",
                "value": "Tue, 15 Jan 2019 17:48:57 GMT"
            },
            {
                "name": "Server",
                "value": "Apache/2.4.35 (Red Hat Enterprise Linux) mod_perl/2.0.10 Perl/v5.26.2"
            },
            {
                "name": "X-Powered-By",
                "value": "PHP/7.2.11"
            },
            {
                "name": "Keep-Alive",
                "value": "timeout=5, max=100"
            },
          [...]

Cent OS
  1. Cómo instalar phpMyAdmin en RHEL 8 / CentOS 8

  2. Cómo instalar Icinga 2 en CentOS 8 / RHEL 8

  3. Cómo instalar MongoDB en CentOS 8 / RHEL 8

  4. Cómo instalar Firefox 10 en CentOS 6 / RHEL 6

  5. Cómo instalar PostgreSQL 10 en CentOS 6 / RHEL 6

Cómo instalar maven en RHEL 8 / CentOS 8

Cómo instalar cpan en RHEL 8 / CentOS 8

Cómo instalar ruby ​​en RHEL 8 / CentOS 8

Cómo instalar Docker CE en RHEL 8 / CentOS 8

Cómo instalar VirtualBox 6.0 en CentOS 8 / RHEL 8

Cómo instalar PHP 7.4 en CentOS 8 / RHEL 8

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software Phantomjs 2.1.1
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios