Skip to content
Pradip Subedi
All work

OpenCloud Desktop

Desktop GUI automation in Python for a cross-platform sync client, from Squish to open-source Appium, plus the CI pipeline behind it.

Role
Software Developer
Company
JankariTech
Period
May 2025 – now

OpenCloud Desktop is the Qt client that keeps files in sync between a computer and an OpenCloud server, on Windows and Linux. I wrote its GUI tests in Python with Squish, and 48 of my pull requests were merged.

Testing what users actually do

My tests cover selective sync, virtual files, share permissions, syncing 1000 files and 50 MB files, and multibyte file names. Several needed Windows-specific fixes. Writing them turned up client crashes and sync bugs, which I reported.

Illustration of what the GUI tests check: file names in several scripts and a 1000-file batch reaching the server.
This computer → OpenCloud server0 / 1000 files
  • रिपोर्ट-२०८३.pdfwaiting
  • 会議メモ.txtwaiting
  • Ünïcødé-notes.mdwaiting
  • shift-rota.xlsxwaiting
  • pokhara/IMG_0001.jpgwaiting
  • large-video.mp4waiting

From Squish to Appium

In 2026 the team moved the GUI suite from Squish, a commercial Qt testing tool, to Appium, the open-source automation framework, with behave running the Gherkin scenarios.

I ported three smoke-test suites: deleting files and folders, editing files, and login and logout. That meant rewriting page objects to use Appium locators, replacing Squish's waits with WebDriverWait, and converting the step definitions to behave.

Cache that expires on purpose

I redesigned the Woodpecker CI pipeline that purges the S3 build cache. It now runs as matrix jobs with a separate retention time for each cache path, instead of one rule for everything.

Next case studyS3-WebDAV Proxy