DBDelve
DBDelve는 Rust 기반 빠른 다중 엔진 데이터베이스 클라이언트, 무료 오픈소스, 텔레메트리 없음
수천 대의 실제 기기·브라우저·에뮬레이터에서 웹·모바일 앱을 테스트하고, 이제 AURA라는 AI가 테스트를 작성·실행·수정합니다
Test web and mobile apps on thousands of real devices, browsers, and emulators. Now with AURA, agentic AI that writes, runs, and heals your tests.
개발 도구Java · GherkinGitHub @rbchy온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기PLATFORM FOR AI-DRIVEN QUALITY Software Automation Testing using Java, Selenium & BDD Cucumber
README 전체를 불러오는 중입니다.
README 전문 보기 ↗
🙋 What this is
The cloud edition of the QA Brains practice-site suite. The same 15 Cucumber scenarios — authentication, the e-commerce cart and menu navigation — run either on a local headless Chrome or on Sauce Labs virtual machines, switched with one flag. On Sauce Labs every scenario becomes a named job with video, screenshots and logs, marked passed or failed in the dashboard.
Write the test once; choose the browser farm at run time.
📍 Quick facts
| 🧪 Scenarios | 15 in 7 feature files |
| ✅ CI (local) | 15 / 15 · headless Chrome |
| ☁️ CI (cloud) | Chrome + Edge on Windows 11, Firefox on macOS |
| 🔐 Credentials | Environment variables / GitHub secrets only |
| 📸 On failure | Screenshot + page HTML; Sauce video |
| Target | How | Result |
|---|---|---|
| 💻 Local headless Chrome | mvn test -Dheadless=true | |
| ☁️ Sauce Labs matrix | mvn test -Dsauce=true |
The Sauce Labs matrix is wired into the workflow and starts running for real as soon as the SAUCE_USERNAME and SAUCE_ACCESS_KEY repository secrets exist; until then those jobs only print a notice. Earlier cloud runs (29 Apr 2026, QAbrains Build, Chrome 147) are in the Sauce Labs dashboard exports in this repository, e.g. all results and passed.
flowchart LR
F["Cucumber scenarios"] --> H{"Hooks<br/>-Dsauce=true<br/>+ SAUCE_* env?"}
H -->|no| L["Local Chrome<br/>(headless in CI)"]
H -->|yes| D["DriverFactory<br/>RemoteWebDriver"]
D --> S["Sauce Labs<br/>us-west-1 grid"]
S --> B1["Chrome · Windows 11"]
S --> B2["Edge · Windows 11"]
S --> B3["Firefox · macOS 13"]
S --> V["Dashboard: video,<br/>logs, passed / failed"]
1. Credentials — environment variables only, never in code:
export SAUCE_USERNAME="your-username"
export SAUCE_ACCESS_KEY="your-access-key"
2. Run:
mvn clean test -Dsauce=true # Chrome latest, Windows 11
mvn clean test -Dsauce=true -Dsauce.browser=firefox -Dsauce.platform="macOS 13"
mvn clean test -Dsauce=true -Dsauce.build="Release 1.2" # group jobs under a build name
3. In GitHub Actions: add SAUCE_USERNAME and SAUCE_ACCESS_KEY under Settings → Secrets and variables → Actions; the three-browser matrix then runs on every push, one Sauce build per workflow run.
| Feature | Scenarios |
|---|---|
| Login | Valid credentials · invalid credentials show "Your email and password both are invalid!" |
| Logout | A logged-in user logs out and the login form returns |
| Registration | Register with a valid e-mail · the browser rejects an e-mail without @ |
| Forgot Password | Reset for a registered e-mail · a malformed e-mail is rejected |
| Scenario | Check |
|---|---|
| Add / remove product | The button toggles between Add to cart and Remove from cart |
| R-01 Add multiple products | 3 added → 3 in the cart |
| R-02 Product details | Details page shows name and price |
| R-03 Product cards | Every card has a name, a price and an Add to cart button |
| S-01 · S-02 · S-03 | Home page loads; sidebar modules and the E-Commerce site open from the menu |
| Layer | Technology | Version |
|---|---|---|
| Language | Java | 17 |
| Browser automation | Selenium WebDriver (RemoteWebDriver for the cloud) | 4.25.0 |
| Cloud grid | Sauce Labs (W3C sauce:options) | — |
| Driver management | WebDriverManager (local Chrome) | 5.7.0 |
| BDD · runner | Cucumber 7.15 · TestNG 7.9 | — |
| Build | Maven (Surefire 3.2.5) | — |
| CI | GitHub Actions: local job + Sauce matrix | — |
QaBrainsSauceLabAPI_Automation/
├── .github/workflows/tests.yml ← local headless job + Sauce Labs browser matrix
├── src/test/java/
│ ├── pages/ ← Login, Logout, Registration, ForgotPassword, Ecommerce
│ ├── stepdefinitions/
│ │ ├── Hooks.java ← local or Sauce driver, failure evidence, Sauce job result
│ │ ├── CommonSteps · AuthSteps · RegistrationSteps · ForgotPasswordSteps
│ │ └── ShopSteps.java ← cart, product details, menu navigation
│ ├── runners/TestRunner.java
│ └── utils/
│ ├── BaseTest.java ← config, local Chrome, headless switch
│ └── DriverFactory.java ← Sauce Labs RemoteWebDriver (env-var credentials)
├── src/test/resources/
│ ├── config.properties ← URL, practice accounts, headless, sauce
│ └── features/ ← 7 feature files, 15 scenarios
├── Automated _ Test Results _ Sauce Labs_*.pdf
└── pom.xml
Prerequisites: JDK 17+ · Maven 3.8+ · Google Chrome
git clone https://github.com/rbchy/QaBrainsSauceLabAPI_Automation.git
cd QaBrainsSauceLabAPI_Automation
mvn clean test # local Chrome
mvn clean test -Dheadless=true # what the CI local job runs
mvn clean test -Dcucumber.filter.tags="@Cart" # one area
Reports: target/cucumber-reports.html · target/cucumber-reports/ (JSON, JUnit XML) · target/failures/ (page HTML of failed scenarios).
| Change | Why |
|---|---|
Removed the hard-coded Sauce Labs username and access key from DriverFactory; credentials now come only from environment variables / GitHub secrets | The key was readable by anyone in a public repository. It remains in git history, so it must be regenerated in Sauce Labs (User Settings → Access Key) |
| Added step definitions, hooks and the Login / Logout / ForgotPassword / Ecommerce pages | None were in the repository — the suite could not run |
| Cart, smoke and regression scenarios rewritten for the site's real e-commerce demo and menu | The old ones (catalog, blog, wishlist, search) belong to another shop |
| Sauce jobs are marked passed / failed in the dashboard | Sauce shows every job as Complete unless told the result |
Unused SearchPage and DriverHelper (Windows-only driver path) removed | Dead code |
| GitHub Actions: local job + Sauce matrix | Every push is checked; the cloud runs start once secrets are added |
ThreadLocal driver + TestNG data provider)| Project | Stack |
|---|---|
| 🧪 QA Brains — Java + Selenium | Same scenarios, local only — CI green |
| 🎭 QA Brains — Java + Playwright | Same scenarios on Playwright — CI green |
| 📱 Appium Android Automation | Appium 3 on an Android emulator in CI, optional Sauce Labs |
| ⭐ RbcTcsWorld E-Commerce Suite | Spring Boot · Selenium · Playwright · CI quality gates |
All projects: github.com/rbchy
Ranajit Baran Chowdhury (RB Chowdhury) QA Automation Engineer / SDET · West Norriton, Pennsylvania, USA
Licensed under MIT. Never commit Sauce Labs credentials — use environment variables or repository secrets.
⭐ If this framework helps you, a star on the repo is appreciated.