88""Yb 888888    db    8888b.  Yb  dP   888888  dP"Yb    888888 888888 .dP"Y8 888888 
88__dP 88__     dPYb    8I  Yb  YbdP      88   dP   Yb     88   88__   `Ybo."   88   
88"Yb  88""    dP__Yb   8I  dY   8P       88   Yb   dP     88   88""   o.`Y8b   88   
88  Yb 888888 dP""""Yb 8888Y"   dP        88    YbodP      88   888888 8bodP'   88                                                                                                  
            
Software Quality Assurance ★ Automation ★ Manual Testing
Current Date & Time (Pacific) ★

------------------------------------------------------------------------
sitemap
usa flag nevada flag
About ℹ️
This is my personal homepage where I've been tinkering with test
automation and other random projects along the way. Learn more
about my water well lid project, testing skills, and QA philosophy.

Curious about the design choice of this page? It was inspired
by and a nod to the charm of 90s websites. Imagine there is
background midi music 🎵 playing for the full experience.
------------------------------------------------------------------------
Ready to Test (QA) GitHub Profile 👤
https://github.com/readytotest
Down to repo list
------------------------------------------------------------------------
UI Test Automation with Playwright
This project uses Husky, ESLint, Prettier, and lint-staged to enforce code
quality checks on staged files through a pre-commit hook.

-----
CI/CD

playwright-mysite.yml | Actions workflow | 📸 look1 | 📸 look2
This GitHub Actions YAML file sets up a workflow to run Playwright
in a GitHub Runner environment when a pull request or push occurs.
It checks out two repositories, installs dependencies, starts a local
web server, executes the tests, and uploads the results.
-----
Helpful Tip 💡
The default time zone for GitHub runners is UTC. To prevent issues such as
the date being a day ahead in the runner environment and causing date
assertions to fail, set the time zone of the CI/CD runner environment using a
Marketplace action in your YAML configuration.

-----
Spec: homePage.spec.ts | 📸 look1 | 📸 look2
Highlight: File download and verification
Spec: weatherAlertPage.spec.ts | 🎥 watch
Highlight: Exploring two browser sessions and clipboard operations
Spec: philosophyPage.spec.ts
Highlight: Directly using a page object versus initializing it first
Spec: testingSkillsPage.spec.ts
Highlight: Very simple script with no page objects or helper scripts
-----
Page Object: homePageObject.ts
Page Object: weatherAlertPageObject.ts
Page Object: philosophyPageObject.ts
Using function-based page objects as they are simpler and easier to maintain.
Look in the test-playwright repo pages directory for examples of class-based.
-----
Helper Function 1: verifyTextAndLink.ts
Helper Function 2: getHrefCopyToClipboard.ts
Helper Function 3: readClipboardContent.ts
Helper Function 4: navigation.ts
Helper Function 5: typeTodaysDate.ts
Helper Function 6: getTimeZoneInfo.ts | 📸 look1 | 📸 look2
-----
Test ID Generator: testIdGenerator.ts
Test Data: testData.ts
-----
Feedback Widget Test Run: 📸 look | 🎥 watch
-----
Playwright Config Local: playwright.config.ts
Playwright Config CI: playwright.actions.config.ts
------------------------------------------------------------------------
Start Local Server 🏭
Bash: start-server.sh | 📸 look1 | 📸 look2
Node: server.js
------------------------------------------------------------------------
UI Test Automation with Cypress
Note: I haven't used Cypress for a while and have switched to Playwright.
Spec: orangeDemoSmoke.cy.js View run in Mochawesome report 👇
Spec: sauceDemoSmoke.cy.js View run in Cypress Cloud 👇
Spec: sauceDemoLoginOnlyTest.cy.js View run in Cypress Cloud 👇
Spec: lambdaTestDemoRegistration.cy.js | 🎥 watch | 📸 look
Spec: readyToTestSmoke.cy.js | 🎥 watch | 📸 look
Spec: scratchPad.cy.js (experimental) | 🎥 watch | 📸 look
------------------------------------------------------------------------
API Test Automation with Cypress
Spec: catApiTest.cy.js | 📸 look1 | 📸 look2
------------------------------------------------------------------------
Automated Visual Testing with Cypress 🖼️
Spec: checkGitHubPage.cy.js | 📸 image diff| 📸 slider | 📸 mirror
Spec: checkMusicalNoteElement.cy.js | 📸 image diff | 📸 server
------------------------------------------------------------------------
Mochawesome Report 📝
Cypress doesn't have built-in test reports so I used this
Orange demo: sample script results and video
------------------------------------------------------------------------
Cypress Cloud 📊
I set this up primarily to explore parallel test execution,
but there is also test reporting and a centralized dashboard.
Sauce demo: two sample scripts ran in parallel results and video
------------------------------------------------------------------------
GitHub Actions 🎬
These are some YAML files I was tinkering with early on. I have
a Cypress test that runs against this site on a cron schedule.
There's also an integration with Cypress Cloud in the sauce YAML,
and a few manually triggered Cypress tests for some random sites.
cypress-mysite.yml | orange.yml | sauce.yml | lambdaTest.yml
View workflows
------------------------------------------------------------------------
Postman API Testing 📬
My profile and public workspace/collections
------------------------------------------------------------------------
National Weather Service API ⛈️🌡️❄️☔🌤
Click Here --> View weather alerts on my page <-- Click Here
Weather API Status:  🕘 Last Update:  • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
Safari/IOS users: Refresh your browser if you encounter issues with ticker.
------------------------------------------------------------------------
The weather and earthquake data on this page are part of my
exploration into API interactions, and I wanted some dynamic,
live updates to make the site more interesting.
------------------------------------------------------------------------
Most Recent Earthquake via 📳 USGS Realtime GeoJSON Feed
Source File: earthQuake.js
Place:
Magnitude:
Latitude:
Longitude:
Depth: km
Time: Pacific
URL: 📍
------------------------------------------------------------------------
Code Quality and Site Monitoring ⚠️
Driven by curiosity, I decided to tinker with SonarCloud and
Sentry to explore their functionalities and understand how
they can enhance my projects.



------------------------------------------------------------------------
Slack Integration 🪛
Slack integration with Sentry 📸 look and Cypress Cloud 📸 look
------------------------------------------------------------------------
Tinkering with the HTML <video></video> tag 🚘📹
* On desktop, hover your mouse over over the video to toggle opacity.
* On mobile, just tap on or outside of the video to toggle opacity.
------------------------------------------------------------------------
Set frequency of JS alert with localStorage alertPopUp.js 🛎️
------------------------------------------------------------------------
View my curated list of helpful tools and resources 🛠️
------------------------------------------------------------------------
Click here for a surprise YouTube video handpicked and played
randomly from a playlist array in randomMusicYt.js. 🎸🎸🎸🎸🎸
------------------------------------------------------------------------
tinker.js JavaScript playground 🎡
------------------------------------------------------------------------
Repository Last Commit 💾
-----
Source File: repoLastCommitInfo.js
------------------------------------------------------------------------
Click here to see what the above section looks like when the API
rate limit is reached. The primary rate limit for unauthenticated
requests from an originating IP to the GitHub API is 60 requests
per hour.
------------------------------------------------------------------------
Products and services I recommend
------------------------------------------------------------------------
Sign/View my guestbook
------------------------------------------------------------------------

Feel free to use and explore the scripts. This site is intended for educational purposes, not only for my learning journey, but yours too! Thanks for stopping by! You are visitor:
------------------------------------------------------------------------
Social Distortion "Story of My Life" & "Bad Luck" & "Ring of Fire" LIVE
------------------------------------------------------------------------
Pearl Jam “Yellow Ledbetter” Live on the Stern Show
------------------------------------------------------------------------
Top