முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்

வயர்மாக் சேவை

wdio-wiremock-service என்பது ஒரு மூன்றாம் தரப்பு பேக்கேஜ், மேலும் தகவலுக்கு தயவுசெய்து GitHub | npm ஐப் பார்க்கவும்

downloads

இந்த சேவை WebdriverIO உடன் சோதனைகளை இயக்கும்போது WireMock ஐ எளிமையாக இயக்க உதவுகிறது. இது நன்கு அறியப்பட்ட Maven களஞ்சியத்தைப் பயன்படுத்தி WireMock jar ஐ உங்களுக்காகப் பதிவிறக்குகிறது, இது பின்னர் தானாகவே நிறுவப்பட்டு, தொடங்கப்பட்டு மற்றும் நிறுத்தப்படுகிறது. உதவி மற்றும் ஆதரவுக்காக Gitter இல் சமூகத்தில் சேர்வதன் மூலம் புதுப்பிப்புகளைப் பெறுங்கள்.

நிறுவல்

npm i -D wdio-wiremock-service

WebdriverIO ஐ எவ்வாறு நிறுவுவது என்பதற்கான அறிவுறுத்தல்கள் இங்கே காணலாம்.

பயன்பாடு

ரூட் டைரக்டரியில் (இயல்புநிலை ./mock), நீங்கள் இரண்டு துணை டைரக்டரிகளைக் காணலாம், __files மற்றும் mappings, இவை உங்கள் fixtures மற்றும் mocks க்குப் பயன்படுகின்றன.

மேலும் தகவலுக்கு, WireMock இன் அதிகாரப்பூர்வ ஆவணத்தைப் பார்க்கவும்.

கட்டமைப்பு

wdio டெஸ்ட்ரன்னருடன் சேவையைப் பயன்படுத்த, உங்கள் சேவை அரேயில் அதைச் சேர்க்க வேண்டும்:

// wdio.conf.js
export.config = {
// ...
services: ['wiremock'],
// ...
};

webdriverio standalone ஐப் பயன்படுத்தும்போது, சேவையைச் சேர்க்க வேண்டும் மற்றும் onPrepare மற்றும் onComplete hooks ஐ கைமுறையாக தூண்ட வேண்டும். ஒரு எடுத்துக்காட்டு இங்கே காணலாம் (எடுத்துக்காட்டு Jest ஐப் பயன்படுத்துகிறது):

விருப்பங்கள்

பின்வரும் விருப்பங்களை சேவைக்குச் சேர்க்கலாம்.

port

WireMock இயங்க வேண்டிய போர்ட்.

வகை: Number

இயல்புநிலை: 8080

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { port: 8181 }]],
// ...
};

rootDir

WireMock கோப்புகளைத் தேடும் பாதை.

வகை: String

இயல்புநிலை: ./mock

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { rootDir: './mock' }]],
// ...
};

version

பதிவிறக்கப்பட்டு பயன்படுத்தப்படும் WireMock பதிப்பு.

வகை: String

இயல்புநிலை: 3.3.1

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { version: '2.25.1' }]],
// ...
};

skipWiremockInstall

WireMock ஐ பதிவிறக்குவதைத் தவிர்க்க சேவைக்குச் சொல்லுங்கள்.

வகை: Boolean

இயல்புநிலை: false

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { skipWiremockInstall: true }]],
// ...
};

binPath

உள்ளூர் Wiremock binary க்கான தனிப்பயன் பாதை (பெரும்பாலும் skipWiremockInstall உடன் சேர்த்துப் பயன்படுத்தப்படுகிறது).

வகை: String

இயல்புநிலை: './wiremock-standalone-3.0.0.jar' (சேவையிலிருந்து தொடர்புடையது)

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { binPath: './my-custom/example-path/wiremock-standalone-3.0.0.jar' }]],
// ...
};

silent

WireMock இன் வெளியீட்டிற்கான அமைதி முறை (சேவையிலிருந்து கூடுதல் பதிவு உட்பட).

வகை: Boolean

இயல்புநிலை: false

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { silent: true }]],
// ...
};

mavenBaseUrl

Maven க்கான அடிப்படை பதிவிறக்க url.

வகை: String

இயல்புநிலை: https://repo1.maven.org/maven2

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [['wiremock', { mavenBaseUrl: 'https://repo1.maven.org/maven2' }]],
// ...
};

args

WireMock ஐ கட்டமைப்பதற்கான அனைத்து ஆதரிக்கப்படும் அர்குமெண்ட்களையும் நீங்கள் அனுப்பக்கூடிய பட்டியல்

குறிப்பு: நீங்கள் விருப்பங்களை (port, rootDir, stdio, mavenBaseUrl) இங்கே அனுப்ப முடியாது, அவை புறக்கணிக்கப்படும்.

வகை: Array

எடுத்துக்காட்டு:

// wdio.conf.js
export const config = {
// ...
services: [
[
'wiremock',
{
args: ['--verbose', '--match-headers'],
},
],
],
// ...
};

சோதனைகளை எழுதுதல்

உங்கள் முதல் சோதனையை எழுதுவது மிகவும் நேரடியானது:

WDIO டெஸ்ட்ரன்னரைப் பயன்படுத்துதல்

import fetch from 'node-fetch'; // you can use any HTTP client you like
import { equal } from 'node:assert'; // you can use any assertion library you like

describe('example', () => {
it(`should assert the mock data`, async () => {
const body = await fetch('http://localhost:8080/api/mytest');
equal(body.text(), 'Hello world!');
});
});

WebdriverIO Standalone ஐப் பயன்படுத்துதல்

import fetch from 'node-fetch'; // you can use any HTTP client you like
import { equal } from 'node:assert'; // you can use any assertion library you like
import { remote } from 'webdriverio';
import { launcher } from 'wdio-wiremock-service';

const WDIO_OPTIONS = {
capabilities: {
browserName: 'chrome',
},
};

describe('example', () => {
let wiremockLauncher;
let client;

beforeAll(async () => {
wiremockLauncher = new launcher(); // create instance of the service
await wiremockLauncher.onPrepare(WDIO_OPTIONS); // run the onPrepare hook
client = await remote(WDIO_OPTIONS);
});

afterAll(async () => {
await client.deleteSession();
await wiremockLauncher.onComplete(); // run the onComplete hook
});

test('should showoff a mocked api response', async () => {
const body = await fetch('http://localhost:8080/api/mytest');
equal(body.text(), 'Hello world!');
});
});

WebdriverIO பற்றிய மேலும் தகவலுக்கு முகப்புப் பக்கத்தைப் பார்க்கவும்.

Welcome! How can I help?

WebdriverIO AI Copilot