-
Notifications
You must be signed in to change notification settings - Fork 27
Testing Procedures
Melissa LeBlanc-Williams edited this page Oct 4, 2025
·
14 revisions
- Open the browser and navigate to code.circuitpython.org (or similar if testing locally/beta)
- Clear all bluetooth devices from OS by opening bluetooth settings, finding any CircuitPython device and removing/forgetting it.
- Clear all bluetooth devices from Chrome by visiting chrome://bluetooth-internals/#devices
- Click the Start Scan
- [TODO] The next step doesn't currently work in Chrome
- For each device starting with CIRCUITPY:
- Click Inspect
- Click Forget
These should be tested in each workflow
- Load Web Page
- The connection dialog should be displayed.
- Click outside of box and the dialog should disappear
- Try typing code in the Code Editor
- Click Save As to save the file.
- Connect using whichever method works for your board
- Save the file as "test.py" by typing it the box at the bottom and clicking Save
- This file will be used for testing File Ops later on down.
- With the board connected, click the info button in the bottom right corner of the screen.
- A dialog should pop up with info about the board.
- Close the dialog
- Slick the Editor and Serial Buttons in the bottom right corner.
- The possible states should be:
- Editor Only
- Serial Only
- Both appear side-by-side
- With both showing, resize the divider.
- The panes should resize properly
- Try resizing the window
- The panes should still adjust properly.
- Follow the UI Testing to create a new file named "test.py"
- Click Open
- Create a new folder named "testfolder" with the + Folder button
- Rename the folder using the Rename button
- Enter into the folder by selecting the folder and clicking Open
- Folder Renaming/Moving is not currently supported by the FS API, so an error should appear in the console, but control should return to the user.
- Enter into the "testfolder" folder by selecting it and clicking the Open Button
- Double-click .. to go back up a directory
- Select the "test.py" file and the using Rename, change it to "testfile.py"
- Select "testfile.py" and click the Move button
- Select "testfolder" as the location to move the file and click Move
- The file should be moved and the new folder and the folder is entered into automatically
- Select testfile.py and click Download
- Click Upload and select the file you just downloaded
- It should ask if you want to overwrite the file. Select Yes.
- Select "testfile.py" press "Delete"
- Upload the file again
- Go up a directory
- Select Testfolder
- Click Download and it should download a file named Testfolder.zip with the contents of the folder inside of a subfolder as a zip file
- Unzip the file and check its contents and ensure it has a valid file that matches the contents of the code you typed. Keep the folder which will be used in an upcoming step.
- Select Testfolder in the editor and delete it
- Select Upload, Upload Folders, and choose the Testfolder you unzipped
- Check that Testfolder contains the correct contents
- Enter into Testfolder
- Without selecting anything, press download
- It should download a zip file named Testfolder.zip with the contents at the root of the zip file
- Go back up a directory and do the same thing at the root of the drive
- Reload the browser and Select Open
- Choose Testfile.py and it should load the contnts of the file into the editor
- Click Open once more and select an item. While holding shift, select another item and everything in that range should be selected.
- Hold Ctrl/Command and click on another item and just that item should be selected or deselected.
- Let go of any modifier keys and select something else not already selected and everything else should be deselected
- Check that when no item is selected, the Delete, Rename, and Move buttons are grayed out.
- Once you are connected, enter a program into the editor with output such and printing a string and click "Save + Run".
- You should see the output in the serial window.
- Click on the serial window and press Ctrl+C for the REPL.
- Enter some commands and run them.
- While entering a command, try pressing backspace to delete some of the text you typed
- Make sure the bluetooth device is in Bluetooth mode by pressing reset while the neopixel flashes blue.
- Start with a clean page load.
- If the connection dialog is not shown, click connect.
- Click Bluetooth
- Click Request Bluetooth Device
- The device should connect and the connect dialog dismissed
- Make sure the connect button changes to disconnect
- Click disconnect and the device should disconnect
- Click connect, then Bluetooth
- Click Reconnect
- The device should connect again
- Make sure the web workflow device is set up to connect (see Learn Guide).
- Start with a clean page load.
- If the connection dialog is not shown, click connect.
- Click WiFi
- Instructions for connecting from the device should be displayed
- Make sure the web workflow device is set up to connect (see Learn Guide).
- Note that only port 80 is currently working.
- Navigate to http://circuitpython.local/code/ (note the HTTP without the S and the ending slash).
- Use the password you assigned in the settings file
- The page should load, but appear like it is loading from the device itself.
- A Current Device Info Dialog should be displayed with details about the device.
Use a device such as the ESP32-S2 or ESP32-S3
Devices with built-in USB use the FileSystem API.
- Make sure the USB device is connected and running CircuitPython.
- Start with a clean page load.
- If the connection dialog is not shown, click connect.
- Click USB
- Click Connect to Device
- Click off the window or hit cancel
- An error should appear that no Serial Port was selected.
- Click Click Connect to Device again
- This time, select the serial port of the device you want to test and click Connect
- If you have previously selected a folder on a device, there will be a button that says something like "Use CIRCUITPY"
- Click Select a Different Folder
- Select the root of the device and click Select or OK
- Click the Use <location> button
- The dialog should automatically be dismissed
- Make sure the connect button changes to disconnect
- Click disconnect and the device should disconnect
- Click connect, then USB, then Connect to Device, then Use <location>
- The device should connect again
Use a device such as the ESP32 or ESP32-C6
Devices without built-in USB use serial to send/receive files.
- Make sure the USB device is connected and running CircuitPython.
- Start with a clean page load.
- If the connection dialog is not shown, click connect.
- Click USB
- Click Connect to Device
- Click off the window or hit cancel
- An error should appear that no Serial Port was selected.
- Click Click Connect to Device again
- This time, select the serial port of the device you want to test and click Connect
- The dialog should automatically be dismissed
- Make sure the connect button changes to disconnect
- Click disconnect and the device should disconnect
- Click connect, then USB, then Connect to Device
- The device should connect again