header background

LMAX Exchange blog - FX industry thought leadership

All the latest business and technology views and insights on the FX industry from LMAX Exchange management and staff

header background
  • [email protected] – Isolate UI Tests with vncserver

    One reason that automated UI tests can be unreliable is that they tend to be sensitive to what else is on screen at the time and even things like the current screen size. Developers running the tests locally also find it annoying to have windows openin…

  • [email protected] – Compatibility Tests

    Once an application goes live, it is absolutely essential that any future changes are able to be work with the existing data in production, typically by migrating it as changes are required. That existing data and the migrations applied to it are often the riskiest and least tested functions in the system. Mistakes in a migration […]

  • [email protected] – Making Test Output Useful

    Just like production code, you should assume things are going to go wrong in your tests and when it does you want good logging to help track down what happened and why. So just like production code, you should use a logging framework within your DSL, u…

  • Alert Dialogs Do Not Appear When Using WebDriverBackedSeleniu

    With Selenium 1, JavaScript alert and confirmation dialogs were intercepted by the Selenium JavaScript library so they never appeared on-screen and were accessed using selenium.isAlertPresent(), selenium.isConfirmationPresent(), selenium.chooseOkOnNext…

  • [email protected] – Introducing ElementSpecification

    Today LMAX Exchange has released ElementSpecification, a very small library we built to make working with selectors in selenium/WebDriver tests easier. It has three main aims:Make it easier to understand selectors by using a very English-like syntaxAvo…

  • Use More Magic Literals

    In programming courses one of the first thing you’re taught is to avoid “magic literals” – numbers or strings that are hardcoded in the middle of an algorithm. The recommended solution is to extract them into a constant. Sometim…

  • Travis CI

    Probably the best thing I’ve discovered with my recent playing is Travis CI. I’ve known about it for quite some time, even played with it for simple projects but never with anything with any real complexity. Given this project uses rails wh…

  • Playing with Ruby on Rails

    I’ve been playing around with ruby on rails recently, partly to play around with rails and partly to take a run at a web app I’ve been considering (which I’ve open sourced because why not?).It turns out the last time I played with …

  • [email protected] – Replacements in DSL

    Given our DSL makes heavy use of aliases, we often have to provide a way to include the real name or ID as part of some string. For example, an audit record for a new account might be:Created account 127322 with username someUser123.But in our acceptan…

  • Decision By Consensus

    Rich Bowen – We’ve Always Done It That Way:Principle 13 in the Toyota Way says that one should make decisions slowly, by consensus, thoroughly considering all options, and then implement those decisions rapidly. We believe a similar thing…

Previous Posts

Sign up for Global FX Insights, the daily market commentary from LMAX Exchange

Your information will not be distributed or shared with third parties