CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Tue, 05 Aug 2025 21:34:58 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20180611035142
location: https://web.archive.org/web/20180611035142/https://github.com/rdworth/UITest
server-timing: captures_list;dur=1.269523, exclusion.robots;dur=0.068029, exclusion.robots.policy;dur=0.052471, esindex;dur=0.039395, cdx.remote;dur=9.971302, LoadShardBlock;dur=482.943580, PetaboxLoader3.datanode;dur=76.637549, PetaboxLoader3.resolve;dur=290.971583
x-app-server: wwwb-app221
x-ts: 302
x-tr: 549
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app221; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Tue, 05 Aug 2025 21:34:59 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: GitHub.com
x-archive-orig-date: Mon, 11 Jun 2018 03:51:43 GMT
x-archive-orig-transfer-encoding: chunked
x-archive-orig-status: 200 OK
x-archive-orig-cache-control: no-cache
x-archive-orig-vary: X-PJAX
x-archive-orig-set-cookie: logged_in=no; domain=.github.com; path=/; expires=Fri, 11 Jun 2038 03:51:43 -0000; secure; HttpOnly
x-archive-orig-set-cookie: _gh_sess=c1NFNlBRRWRxYTVBS1V5Q1g3S0ovL3ZIdm41Z2xkeU15VjZqY2U3VGw2WkNUTXd2NmcxZEJVYWFSZzFUYjlKZG5ad1JxLzVUcnp5SC9haWJ5YUsrZTdGd0YxYkp0Ym8wMUM3ZGFJU2d2TjNmYVYvVE9aRkNrZkNkanc3RTZWaE9yOXFNSnpURFd2ODBUc1RTVkdmZUl4VUIveHdJZ1ozNFFDbHVzZGR1ZzNVNWNpUlpXb1dGeG5vQzcwMmFETWZvUTl4VnZ2bHJTMjA2blNkQ0dMYWh5TmlFK09uZ2dOVjRLNUhqQ2YzcXZjZWpCL1JEV2ZHTU8wMitQUWNkbWFBTFd0dFI4UU81dEVJWkJZT0kyMkVhY003N2RpUFNFMmFRR1lCaWhQRGFyZVRwZ05LWDdJS0VZbi9hVzhMVEFmNHJNV3d4Z3QxY3pQTjhZa3U2cGphcGxXYUhGcDJ2TGZQNmJRaXBpZWxxbEw4WFZkRkhaTUE0aEVTbHFHZGcvYVZ3RDBQSlNIbGgxZUpRL3ZUVExvMFQrTldYcHprR3VTQ2ZUV0kxN2lCdlJQdz0tLUUwUEpubWJFU1FrQVhLaGY0MHFEalE9PQ%3D%3D--78527257fa49ab2be79d569ce5f86ef02dc9d21f; path=/; secure; HttpOnly
x-archive-orig-x-request-id: 9e18cde7-018b-496e-9058-7b95cab651ea
x-archive-orig-x-runtime: 0.215731
x-archive-orig-strict-transport-security: max-age=31536000; includeSubdomains; preload
x-archive-orig-x-frame-options: deny
x-archive-orig-x-content-type-options: nosniff
x-archive-orig-x-xss-protection: 1; mode=block
x-archive-orig-expect-ct: max-age=2592000, report-uri="https://api.github.com/_private/browser/errors"
x-archive-orig-content-security-policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; frame-src render.githubusercontent.com; img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; manifest-src 'self'; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe-inline' assets-cdn.github.com
x-archive-orig-x-runtime-rack: 0.222705
x-archive-orig-x-github-request-id: 9326:1021:2F3BB88:5EDFC7D:5B1DF1CE
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 11 Jun 2018 03:51:42 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 11 Jun 2018 03:51:42 GMT", ; rel="memento"; datetime="Mon, 11 Jun 2018 03:51:42 GMT", ; rel="next memento"; datetime="Sun, 06 Sep 2020 12:49:51 GMT", ; rel="last memento"; datetime="Sun, 06 Sep 2020 12:49:55 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: archiveteam_github_20180703145256/archiveteam_github_20180703145256.megawarc.warc.gz
server-timing: captures_list;dur=0.769239, exclusion.robots;dur=0.028379, exclusion.robots.policy;dur=0.013685, esindex;dur=0.015905, cdx.remote;dur=10.764619, LoadShardBlock;dur=336.829707, PetaboxLoader3.datanode;dur=168.891920, PetaboxLoader3.resolve;dur=571.297532, load_resource;dur=493.686633
x-app-server: wwwb-app221
x-ts: 200
x-tr: 939
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
GitHub - rdworth/UITest
Fetching latest commit…
Permalink
Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
No description, website, or topics provided.
Clone or download
Launching GitHub Desktop...
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop...
If nothing happens, download GitHub Desktop and try again.
Launching Xcode...
If nothing happens, download Xcode and try again.
Launching Visual Studio...
If nothing happens, download the GitHub extension for Visual Studio and try again.
Pull request
Compare
This branch is 4 commits behind mennovanslooten:master.

Cannot retrieve the latest commit at this time.
Failed to load latest commit information. | |||
![]() |
demo | ||
![]() |
js | ||
![]() |
GPL-LICENSE.txt | ||
![]() |
MIT-LICENSE.txt | ||
![]() |
README | ||
![]() |
blank.html | ||
![]() |
index.html | ||
![]() |
test.html | ||
![]() |
uitest_tests.js |
README
UITest - jQuery Driven Automated UI Testing DESCRIPTION UITest is the automated UI testing framework for jQuery projects as demo'd by Menno van Slooten on April 25th at the jQuery Bay Area conference 2010. It was initially written for automated testing on hte eBuddy Web Messenger (www.ebuddy.com) and later generalized to work for some/most/all jQuery projects. INSTALLATION Place the uitest directory in your project's root. WRITING A TEST Edit the uitest_tests.js file and add a basic test: UITest.addTestScript({ name : 'My test', url : '../index.html', waitFor : 'pageToLoad', thenRun : function() { UITest.log('The page has loaded'); // Your tests here } }); The waitFor property takes 5 types of arguments: 1. "pageToLoad": The most common. It fires up the test as soon as the page is loaded and jQuery is available and ready. See this.waitForPageToLoad() in js/uitest.js. 2. "#any.jquery[selector]": This starts testing as soon as the selector returns one or more elements that are visible. See this.waitForElementVisible() in js/uitest.js. 3. "!#any.jquery[selector]": (Notice the exclamation mark) This starts testing as soon as the selector returns zero elements or one or more elements that are hidden. See this.waitForElementVisible() in js/uitest.js. 4. A number: This starts testing after n milliseconds. 5. A function: This starts testing as soon as the function returns true. See this.waitForExpressionTrue() in js/uitest.js. In uitest_tests.js you will find examples of how to do basic actions and asserts. For a full list of available asserts you can open the file js/assert.js. RUNNING A TEST You can then run the test by opening https://your.project.url/uitest/ and choosing your test from the list on the right. Running the test "fast" (without interruptions) will probably go too fast to notice, so you might want to hit "slow" which will pause on every UITest.log() statement. Choosing "no tests" will just load the file defined by the url property of that test. ASYNCHRONOUS ACTIONS Any test involving asynchronous actions (Ajax requests, animations or anything having to do with setTimeout or setInterval) will have to be broken up. Study the difference between the "Ajax fail" and "Ajax success" demo tests to see how this is done. SETUP/TEARDOWN If something needs to run before and/or after tests are started you can use the setup and teardown options: UITest.addTestScript({ name : 'My test', url : '../index.html', waitFor : 'pageToLoad', thenRun : function() { UITest.log('The page has loaded'); // Your tests here }, setup : function(testframe) { // Run before the tests }, teardown: function(testframe) { // Run after the tests fail or succeed } }); The testframe variable passed to these functions is the frame of the page where the tests are run. REMARKS UITest is a very, very basic framework and not originally intended for public consumption. Prolonged exposure to the code may induce nausea and dizziness. Please help the project by: * Improving documentation * Finding, reporting and/or fixing bugs * Creating more helpful asserts * Figuring out a way to add a "record" functionality * Figuring out a better way to run tests in "slow motion" * Figuring out a way to include tests in any type of automated build process.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.