Saltar al contenido

Prueba de extremo a extremo para una aplicación segura

En preparación, proteja su aplicación de los tutoriales de un extremo a otro para el SDK de Project SAP Cloud, como se explica en Obtenga su aplicación.

La primera página que ve al ingresar a la aplicación es la aplicación del enrutador que muestra un formulario de inicio de sesión. La idea básica es que la primera parte de la prueba es iniciar sesión en la aplicación como usuario. Personaliza las pruebas de tal manera que primero visitan la página de inicio de sesión, ingresan las credenciales y luego presionan el botón de inicio de sesión.

Primero, crea el siguiente objeto de página en e2e-tests/page_objects/login.js. El objeto de esta página lee las credenciales de la configuración y las ingresa en los campos de entrada. Los selectores para estos campos se especifican en la sección de elementos. Estos selectores funcionan para la aplicación de enrutador estándar. Para otras formas, p. Ej. en Cloud Platform Neo, o en formularios personalizados, estos selectores deben actualizarse.

"use strict";

const loginCommands = {
  loginWithForm: function () {
    const user = this.api.globals.user;
    const pass = this.api.globals.pass;
    delete this.api.globals.user;
    delete this.api.globals.pass;
    this.waitForElementVisible("@usernameField").setValue(
      "@usernameField",
      user
    );
    this.waitForElementVisible("@passwordField").setValue(
      "@passwordField",
      pass
    );
    this.waitForElementVisible("@submitButton").click("@submitButton");

    this.expect.element("@usernameField").to.not.be.present;
    return this;
  },
};

module.exports = {
  url: function () {
    return this.api.launchUrl;
  },
  elements: {
    usernameField: "input[name=username]",
    passwordField: "input[name=password]",
    submitButton: "input[type=submit]",
  },
  commands: [loginCommands],
};

Como siguiente paso, debe activar el inicio de sesión antes de la prueba. Esto se puede configurar en el archivo e2e-tests/cucumber.conf.js creado en los tutoriales de extremo a extremo para proyectos SAP Cloud SDK. Contenido actualizado BeforeAll El método es como sigue:

BeforeAll(async () => {
  const options = {
    configFile: __dirname + "/nightwatch.conf.js",
    env: argv.NIGHTWATCH_ENV || "firefox",
  };
  await startWebDriver(options);
  await createSession(options);
  const loginPage = client.page.login();
  await loginPage.navigate().loginWithForm(false);
});

Hay dos nuevas líneas en el BeforeAll bloquear para iniciar sesión en la aplicación.

Además, tienes la username y password. Nuestro caso es que provienen de variables ambientales.
El archivo actualizado e2e-tests/nightwatch.conf.js lo siguiente de e2e-test:

const chromedriver = require('chromedriver');
const geckodriver = require('geckodriver');
const argv = require("yargs").argv;

module.exports = {
  //...
  test_settings: {
    default: {
      //...
      globals: {
        //...
        user: "${e2e_username}",
        pass: "${e2e_password}"
      },
      //...
    },
  },  
};

Globalmente, usted define un usuario y un pasaporte. ${e2e_username} significa que el valor se toma de la variable ambiental e2e_username.

Hecho

Inicie sesión para responder la pregunta