Open Source Practical Test Cancellation Check Tool

  • CraigWatson's Avatar
    Hi everyone,

    I've been learning to drive for the last few months and have recently booked my practical test ... for September!

    It's the first date that the test centre will give me that my instructor can also make, and he mentioned sites that check for cancellations on your behalf and notify you, for anything between £10 and £30.

    I'm a professional sysadmin so I thought I'd have a crack at writing something that can do the same thing. The finished script is written in PHP and based loosely on another I found in Python.

    https://github.com/craigwatson/dvsa-test-check

    In the spirit of open source, if anyone has any feature requests, contributions or just fancies testing it out for themselves, feedback would be hugely appreciated.

    Cheers,
    Craig
  • 7 Replies

  • Santa's Avatar
    It may well work, but I don't have Linux and don't want to mess with programming. A better approach would be to get people to sign up for email or text notifications and for you to do a daily check. An app would be even better.
  • DARN53487's Avatar
    I used this to get my tests. http://www.driving-test-cancellations-4all.co.uk/

    Pretty good, for a small amount of £20. It's lifetime. You have to enter your desired dates E.g From 24 june to 25 July. It'll then keep checking for any bookings every 5 minutes. You can fully customize it for your own liking, such as weekends only, time etc. You can choose up to 5 test centres to look after. When it finds a date, it'll contact you via email, or sms. You can put it on auto book, or get a notification on your phone to confirm your booking you have 30 minutes to reply. If they don't find a booking for your desired dates, they'll refund you the money.

    - Found a test within 2 days.
  • CraigWatson's Avatar
    It may well work, but I don't have Linux and don't want to mess with programming. A better approach would be to get people to sign up for email or text notifications and for you to do a daily check. An app would be even better.

    Thanks for the feedback, however I have a full time job and no app-level programming experience (I'm a systems administrator, so I deal with servers most days rather than applications) so I don't have the commercial inclination to set up a full chargeable service.

    Ultimately I'm sharing the script I wrote in the spirit of open source, hoping that someone with the technical skill to use it finds it useful - it's provided as-is and for free, so if it saves one person a £20 fee from one of the other companies then it's been worth writing in my eyes :)

    I used this to get my tests. http://www.driving-test-cancellations-4all.co.uk/

    Pretty good, for a small amount of £20. It's lifetime. You have to enter your desired dates E.g From 24 june to 25 July. It'll then keep checking for any bookings every 5 minutes. You can fully customize it for your own liking, such as weekends only, time etc. You can choose up to 5 test centres to look after. When it finds a date, it'll contact you via email, or sms. You can put it on auto book, or get a notification on your phone to confirm your booking you have 30 minutes to reply. If they don't find a booking for your desired dates, they'll refund you the money.

    - Found a test within 2 days.

    Thanks - I was aware of this website before I released my script, but thought that £20 was a bit of a rip-off, especially when you consider what's happening under the hood. The DVSA has no public API, so these companies are effectively doing exactly the same as my script does - logging you into the DVSA website and page-scraping for dates.

    In the end, my script came through in less than 24 hours and I ended up moving my test two months closer into July - without having to pay the fees that these companies charge :)
  • SarahSmith's Avatar
    Hi Craig,
    I am impressed with the work you have done by developing an open source test cancellation checker. My server doesn't support PHP and I would really appreciate if you can write one for ASPX ? It would be really handy, I also used a similar service (https://testfinder.co.uk) but as you said, its like a rip off, it worked the first time, but they were asking me to signup again (so paying £18 x 2 ???) thats too much!
  • Max's Avatar
    @CraigWatson Craig, I know it's been a few years and you likely won't respond but I need some help. I'm an A level student making a cancellation program for my NEA project and I'm not sure what I need. Did you use any specific API or anything that let you access data from the government booking site.
  • Inacio650's Avatar
    @CraigWatson Are there any updates to the script for 2023/2024? I've been waiting for 2 years now and even re-took my theory. I cannot find anything local.
  • CraigWatson's Avatar
    @CraigWatson Craig, I know it's been a few years and you likely won't respond but I need some help. I'm an A level student making a cancellation program for my NEA project and I'm not sure what I need. Did you use any specific API or anything that let you access data from the government booking site.

    Sorry for the year-plus delay - the script essentially uses HTTP requests and 'fakes' a browser's pathway through the site - there's no API to consume, so you effectively have to page scrape your way though. Ineligent, but it (used to) work.

    @CraigWatson Are there any updates to the script for 2023/2024? I've been waiting for 2 years now and even re-took my theory. I cannot find anything local.

    Unfortunately not - I've revisited the script a few times over the last few years, and it seems the DVSA have 'wised up' to script-based tooling and introduced a mechanism to detect stuff like this and black-hole the traffic before it reaches them.

    The script itself needs 'live' login details for the site in order to test, so I'm extremely limited in what I can do to troubleshoot things. At this stage, your most likely avenue is to try the script yourself and attempt to bodge/fix things - if you have success with this, a pull request is greatly appreciated to keep the open source spirit of the project.