Choosing a Test Automation Language
Image Credit: Timothy Cope

Choosing a Test Automation Language

I took some of the most popular programming languages and wrote test automation frameworks for them.

#1 JavaScript cucumber-javascript?

#3 Python cucumber-python

#5 Java cucumber-java

#7 TypeScript cucumber-typescript

#8 C# cucumber-csharp?

The frameworks all employ the same technologies and concepts. A developer of one should be able to switch to another.

Technologies

  • AltUnity?enables UI test automation, by instrumenting games to get access and programmatically control the Unity objects.
  • Appium?is an open-source automation tool for running scripts and testing native applications, mobile-web applications, and hybrid applications on Android or iOS using a web driver.
  • Selenium?is an open-source automated testing framework for web applications.

Concepts

  • Behaviour Driven Development?is an agile software development process that encourages collaboration among developers, quality assurance testers, and customer representatives in a software project.
  • Environment variable?is a?dynamic-named?value?that can affect the way running?processes?will behave on a computer.
  • Fluent Interface?is an object-oriented API whose design relies extensively on method chaining.
  • Page Object Model?is a Design Pattern that has become popular in test automation for enhancing test maintenance and reducing code duplication.

Thoughts

If you only need mobile (Appium) and/or web (Selenium) then TypeScript is probably the way to go. WebdriverIO has a lot of handy features and shortcuts like setting up the WebDriver for you and `$` instead of `driver.findElements()` for a more jQuery-like syntax. There is also an AltUnity plugin in development by Jonathan Lipps.

For AltUnity, Java and Python are close but the Java API is a bit clunky. I have reached out to the developers on their Discord about it. Also, my code uses Appium to install and start the app (which would otherwise be scripted) and the way I got it working for C# is not great. If you know of a better way, send a DM or a PR!

要查看或添加评论,请登录

Timothy Cope的更多文章

社区洞察

其他会员也浏览了