GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||
GeezerVison is showing www.mediawiki.org — Selenium/How-to/Use MediaWiki API - MediaWiki
You can use the MediaWiki action API for testing, reusing parts of Selenium/Explanation/Stack, but without Selenium. This tutorial will assume that you are running tests from your machine, targeting mediawiki-quickstart. For more examples see Selenium/Reference/Example Code. In this example, we will check if a page exists using MediaWiki action API. This needs wdio-mediawiki 6.0.0 or later. StackThe stack:
Advantages
Disadvantages
Code
// Example code for Selenium/How-to/Use MediaWiki API // https://www.mediawiki.org/wiki/Selenium/How-to/Use_MediaWiki_API import assert from 'assert'; import { createApiClient } from 'wdio-mediawiki/Api.js'; // apiUrl is required for our continuous integration. // If you don't have MW_SERVER and MW_SCRIPT_PATH environment variables set // you can probably hardcode it to something like this: // const apiUrl = 'http://localhost:8080/w/api.php'; const apiUrl = `${ process.env.MW_SERVER }${ process.env.MW_SCRIPT_PATH }/api.php`; const apiClient = await createApiClient( { apiUrl: apiUrl } ); describe( 'API', () => { it( 'Main Page should exist', async () => { const response = await apiClient.read( 'Main Page' ); assert.strictEqual( Object.values( response.query.pages )[ 0 ].pageid > 0, true ); } ); it( 'Missing Page should not exist', async () => { const response = await apiClient.read( 'Missing Page' ); // { pages: { '-1': { ns: 0, title: 'Missing Page', missing: '' } } } assert.strictEqual( response.query.pages[ '-1' ].missing, '' ); } ); } ); Outputnpm run selenium-test -- --spec tests/selenium/docs/Use_MediaWiki_API/specs/api.js > selenium-test > if [ "$CI" = true ]; then node tests/selenium/docs/Stack/webdriverio.js; fi && wdio ./tests/selenium/wdio.conf.js --spec tests/selenium/docs/Use_MediaWiki_API/specs/api.js Execution of 1 workers started at 2025-10-10T11:19:05.758Z Run test targeting http://localhost:8080/w [0-0] RUNNING in chrome - file:///tests/selenium/docs/Use_MediaWiki_API/specs/api.js [0-0] PASSED in chrome - file:///tests/selenium/docs/Use_MediaWiki_API/specs/api.js "spec" Reporter: ------------------------------------------------------------------ [chrome 141.0.7390.77 mac #0-0] Running: chrome (v141.0.7390.77) on mac [chrome 141.0.7390.77 mac #0-0] Session ID: 30c59ce74cebfad96b510f39e39aa20d [chrome 141.0.7390.77 mac #0-0] [chrome 141.0.7390.77 mac #0-0] » tests/selenium/docs/Use_MediaWiki_API/specs/api.js [chrome 141.0.7390.77 mac #0-0] API [chrome 141.0.7390.77 mac #0-0] ✓ Main Page should exist [chrome 141.0.7390.77 mac #0-0] ✓ Missing Page should not exist [chrome 141.0.7390.77 mac #0-0] [chrome 141.0.7390.77 mac #0-0] 2 passing (216ms) Spec Files: 1 passed, 1 total (100% completed) in 00:00:06 | ||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |