Weeklies - amauran/project-giskard GitHub Wiki
2023-09-18
Done
- finished current version of Portfolio and started applying for jobs
To Do
- look into writing a custom RPA library
- downloads an image and saves it into a folder
- renaming the file also
- keep applying for jobs
- read about testing in theory (again :D)
- read about testing through APIs
2023-08-29
Done
- finished writing the test
- installed Browser library and Playwright
- ran successful tests both on Selenium and Browser libraries
- created a Portfolio folder and copied things there for final cleanup and documentation
- finished cleaning up code
- created pushable log folders
- merged feature to main branch
- created a branch for documentation
To Do
- documentation
- README.md files on all necessary pages (= inside the folders they need to be in)
- GitHub page documentation and organization
- what you want to be seen on the front pages of the project and wiki
- theory of testing (still need to read up on that :D)
2023-08-18
Done
- made a cleaner and better organized version of previous test folder
- made a plan for a portfolio test suite
- started building order handling test
- created a manager level user for Happy Robot shop (not fully admin, but with enough rights to handle shop)
- customer login already existed, built manager login for WordPress/WooCommerce side of things
- customer putting things in shopping cart done earlier, now added things needed to finalize order
- note: had to set shop payment method to 'cash on delivery' to avoid adding actual payment methods to shop
- added segment to check shopping cart contents on customer side
- started building segment for manager to check orders
To Do
- finish order handling test
- manager checks order and adds discount coupon, and processes order
- customer checks order to see coupon is added and order is processed
- manager logs in and deletes order
- re-install Browser library and test its wrapper also works
- learn more about testing theories
2023-08-04
Done
- created user keyword wrappers for Selenium and Browser (updated as needed with new keywords)
- created tests using user keywords and wrappers
- login into Happy Robot shop as an existing user
- add items into shopping cart, then empty shopping cart
To Do
- make a cleaner and better organized version of previous test folder
- make a plan for a portfolio test suite
- making an order, checking it on the admin side
- re-install Browser library and test its wrapper also works
- learn more about testing theories
- refresh what you learned about selectors
Break for summer
2023-05-03
Done
- started creating user keywords using SeleniumLibrary keywords
- started reorganizing test folders (Resources)
- created a test using user keywords
- login into Happy Robot shop as an existing user
To Do
- Make a prototype of the Portfolio project
- Create thin wrappers that allow selecting between Selenium and Browser libraries
- See: https://github.com/amauran/project-giskard/wiki/A-Draft-for-the-Portfolio
- If Anne feels like writing, the creative writing is a top priority
- Think about naming conventions and where different types of information needs to be located
- If there is extra time, study about the theory of testing
- Links can be found in previous weeklies
2023-04-18
Done
-
Learned more about selectors (starting with CSS)
- Tested different CSS selectors:
- all different selector types mentioned in CSS selectors
- documented tests with examples (Selector tests code)
- Tested different CSS selectors:
-
Did different robot tests (login and shopping cart functions)
- go to a specific page in shop
- select a specific product in shop (go to product page, find it by searching by name, etc.)
- handling the shopping cart features (add/remove/item count/etc.)
- pushed example codes into Github, documentation of what was done is in the code
To Do
- repeat previous tests but now using custom keywords
- learn how to create keywords in Robot Framework
- clear, single purpose keywords that are reusable in other test suites as well (log in, add item to cart, etc.)
- reusable both on user side as well as admin side (making and order, checking the order as admin)
Easter holidays and other stuff
2023-03-26
Done
-
wrote a test case that signs a user into the Happy Robot shop (the test environment)
- created a test user (customer) beforehand
- created a new email address in the nimbus.fi domain for the test user
- created a new user in the shop with the test email
- after signing the new user in, put something in the shopping cart
- created two products in the Happy Robot shop to use for the test
- logged the user in, added products in the cart, and checked they really were in the cart
- tests are better documented in the robot files
- tests succeeded, eventually :)
- created a test user (customer) beforehand
-
check out Robocorp beginner course
- partially checked
To Do
-
Learn more about selectors (start with CSS)
-
Links:
-
Test different CSS selectors:
- all different selector types mentioned in CSS selectors
- document tests with examples (use Happy Robot main page for these)
Note: learning CSS first because it is better to understand that before xpath, and using CSS is preferable in most cases.
-
-
Plan different selection/selector strategies and think about when it's best to use which (using the Happy Robot shop)
- go to a specific page in shop
- select a specific product in shop (go to product page, find it by searching by name, etc.)
- handling the shopping cart features (add/remove/item count/etc.)
2023-03-19
Done
-
Wrote and ran first robot tests
- using Chrome and SeleniumLibrary's built in keywords
- opening browser, going to a specific url
- finding elements on page and interacting with them
- button
- text box
- used simple yaml files as variable files
- element paths
- login information
-
To be able to use yaml files
- installed pyYaml to venv with poetry
- added yaml syntax highlighting to VSCode
-
Set up a testing environment (webshop done by Tero)
To Do
- check out Robocorp beginner course
- write a test case that signs a user into the Happy Robot shop (the test environment)
- create a user beforehand
- can also try creating a new user through the shop
- after signing new user in, put something in the shopping cart
GOAL FOR TESTS
- get more used to writing test cases (the basic structure, jargon, etc.)
- aiming to be able to talk about creating custom keywords next time
2023-03-12
Done
-
Finished development workspace setup
-
Installed into WSL
- poetry, Node
-
Cloned git project (project-giskard) to WSL
- created virtual environment into project folder
- installed Robot Framework into venv
- after some thought installed Selenium and SeleniumLibrary into venv
- installed chromedriver into venv
-
Installed Chrome into Ubuntu for all users
- fixed apt-key issue with Google repository
- installed Chrome
-
tested development environment with a few easy demo robots - great success :D
-
created firewall for test server
- made inbound rule to accept only specific IP
-
Started a new wiki page (glossary/dictionary)
-
Documented everything (as well as I remembered)
-
Learned about Linux root directories
To Do
- Start doing tests
- simple tests on different sites or do other random test :D
- like the image search/save from instagram or similar site
- test posting without publishing on DW?
- autologin somewhere
- find simple demo samples and try to figure out how they work
- simple tests on different sites or do other random test :D
GOAL FOR TESTS
- to learn how to write a simple test that is able to fill a form (such as login, etc.) and check the result
- like change a part of text and then search for it like in the Playwright example
Secondary to do
- Things to read/learn if time:
- types of software testing
- agile manifesto https://agilemanifesto.org/ + one critique against it
- learn them in a way that you could explain them to a newbie
2023-03-05
Done
-
Finished work things and said farewell to co-workers -_-
-
Organized part of the physical workspace
-
Organized part of the development workspace
- uninstalled Ubuntu from Windows
- removed old WSL feature
- updated BIOS, firmware, graphic drivers, Windows, etc.
https://github.com/amauran/project-giskard/wiki/Setting-up-the-work-environment
-
PoC Happy-Robot
- Proof of Concept: testing some concept to see if it's viable
- tested setting up a server (Linux)
- tested installing nginx on the server
- tested editing the index page
- planned to use a similar setup, because we need a server to set up a test environment in https://happy-robot.nimbus.fi/
-
Documented things
To Do
-
Check if Python is still installed on the Windows side
- remove if it is
-
Install into WSL
- poetry (and venv if needed)
- Node with Node Version Manager (nvm)
- Robot Framework plugin (if not there already)
- any other modules needed
- Browser library for Robot Framework (replaces Selenium) https://robotframework-browser.org/
-
Clone git project (project-giskard) to WSL
-
After development workspace is ready, test it
- find some simple Robot Framework code online, copy/modify it and make a test run
- preferably code that uses Browser library instead of Selenium (because Selenium is getting old)
-
Start a new wiki page (glossary/dictionary)
-
Document everything
-
Things to read/learn if time:
- understanding Linux root folders https://averagelinuxuser.com/linux-root-folders-explained/ or similar reading
- types of software testing
- agile manifesto https://agilemanifesto.org/ + one critique against it
- learn them in a way that you could explain them to a newbie
-
Add Hetzner Firewall to the Happy Robot server.
- Configure firewall so that the server can only be accessed from the home network IP address
2023-02-25
Done
- Wrote a short story and made two banners for it
- Posted all of those
- Started project calendars and bought supplies for using them
To Do
- Work Monday & Tuesday, say farewell to co-workers and stuff
- Wednesday is a day off, REST
- Organize physical workplaces for next week
- Organize development workspace
-
remove old development installations
-
install Visual Studio Code
- install WSL2 plugin
- install Robot Framework plugin
-
remove and re-install WSL2
- install Python with venv and poetry
- install Node with Node Version Manager (nvm)
-
clone git project to WSL2
-
use venv to install Python, use nvm to install Node
-
install Robot Framework, modules etc. in project (~/git/project-giskard)
-
document everything to this wiki
-
Decisions
- Weekly routine:
- Monday - Thursday: 3 days for writing, 1 day for Robot Framework
- Friday: day off
- Saturday - Sunday: Robot Framework
- Weekly meeting on Saturday
2023-02-18
Done
- Made preliminary plans
- Created a GitHub repository + wiki for this project
- Decided to start with one week sprints with weekly meetings on Saturdays
- Decided to split the week between this project and creative work (3 days for each, 1 day off)
- Decided the project will start on Monday March 6th
To Do
- Dedicate next week to creative stuff