В этом блоге мы узнаем, как настроить и запустить тест Cypress с вашим плагином WordPress.

Исходный код: (для умных людей 😉) https://github.com/imranhsayed/aquila-features/pull/7

В этом блоге мы узнаем, как настроить и запустить тест Cypress с вашим плагином WordPress.

Шаг 1: Установите Cypress (если у вас уже есть файл package.json в вашем проекте, иначе сначала запустите npm init.

npm install cypress --save-dev

Это установит кипарис локально в node_modules вашего проекта.

Шаг 2. Добавьте скрипт cypress:open в файл package.json.

"scripts": {
		"cypress:open": "node_modules/.bin/cypress open"
	},

Шаг 3: Теперь запустите `npm run cypress:open`, чтобы открыть cypress. Это откроет приложение Cypress в вашем браузере, а также добавит папки cypress.config.js и cypress с некоторыми тестами по умолчанию в корне вашего проекта.

npm run cypress:open

Давайте выберем наши варианты и выберем e2e (сквозное) тестирование.

Шаг 4. Добавьте базовый (корневой) URL-адрес вашего сайта WordPress, а также имя пользователя и пароль в cypress.config.js (примечание. Это только для целей тестирования, мы не должны публиковать наши учетные данные на Github и т. д.)

const { defineConfig } = require("cypress");
module.exports = defineConfig({
	env: {
		wpUser: 'root',
		wpPassword: 'root',
	},
  e2e: {
	  baseUrl: 'http://localhost:8888',
    setupNodeEvents(on, config) {
      // implement node event listeners here
    },
  },
});

Вы также можете создать свой собственный тестовый файл с именем admin-login.cy.js в cypress/e2e folder, как показано ниже:

describe( 'Run a pull', function() {
	// Go to WordPress login page and login.
	beforeEach( function() {
		cy.visit( '/wp-login.php' );
		cy.wait( 1000 );
		cy.get( '#user_login' ).type( Cypress.env( "wpUser" ) );
		cy.get( '#user_pass' ).type( Cypress.env( "wpPassword" ) );
		cy.get( '#wp-submit' ).click();
	} );
	
	it( 'can run a pull', function() {
		cy.wait( 2000 );
		cy.url().should('eq', 'http://localhost:8888/wp-admin/');
	} );
});

Теперь давайте запустим этот тест, нажав на admin-login.cy.js

Поздравляем, проверка входа прошла успешно.

https://github.com/imranhsayed/aquila-features/pull/7

Для получения более подробной информации посетите https://docs.cypress.io/guides/getting-started/

Это все люди!