TL;DR

I created an automation framework using Playwright, Python, and visual comparison, to test the creation of a circle and a rectangle in the AutoCAD Web application.

https://github.com/chavus/autocad_web_playwright_test

Here is a video of the automated test execution:

https://youtu.be/LeT0fG1oRAc


In this article, I'll go over how I approach the development of an end-to-end test automation framework from scratch, using AutoCAD Web as an example. Starting by analyzing the application under test, then selecting the most suitable tools, and ending with the development of the framework itself. While doing so, I'll demonstrate some of the capabilities of Playwright, how to use visual comparison for testing, and how to structure a UI end-to-end test framework.

About AutoCAD Web

Learning as much as possible about the application to be tested is the initial stage in an automation project. It is crucial to understand the context of the application in terms of features, business rules, and the full portfolio of the company. Then, the technical side should be considered, for example, what stack is used for development, the architecture, and services connected.

AutoCAD is a computer-aided design (CAD) software for drawing and modeling in 2D and 3D. Although it is mainly distributed as a desktop application, it also has a web version that allows editing, creating, and viewing CAD drawings in the browser. AutoCAD Web is only one of the products from the broad portfolio that Autodesk offers, and the one will focus on here.

These are the technical details of the application:

Tests

For demonstration purposes, I'll be focusing on just a couple of test flows that will interact with the main views and validate core functionalities of the application.

These are the overall test steps:

  1. Log in
  2. Create a new drawing