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