DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk6 min

GitHub Actions mein BackstopJS kaise chalayein

Pull request aur push par BackstopJS visual regression tests chalane ke liye workflow, config, artifacts aur security setup samjhein.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

GitHub Actions mein BackstopJS chalane ke liye repository mein .github/workflows/backstop.yml workflow banayein. Workflow ko pull request ya push par trigger karein, Node.js set up karein, lockfile ke mutabik dependencies install karein, phir backstop test chalayein. BackstopJS config mein kam-se-kam ek viewport aur ek valid scenario hona chahiye. HTML report, CI report aur test screenshots ko artifacts ke roop mein upload karein, taaki failure ke baad unka review ho sake.

GitHub Actions workflow banayein

Yeh workflow ek starting pattern hai, tested ya har repository ke liye ready-made configuration nahi. Node.js version ko apne project ke supported version se milayein, aur npm run backstop:test ko apne package.json script ke mutabik rakhein.

name: Visual regression

on:
  pull_request:
  push:
    branches: [main]

permissions:
  contents: read

jobs:
  backstop:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          # Apne project ke supported Node version se milayein.
          node-version: '22'
          cache: npm
      - run: npm ci
      - run: npm run backstop:test
      - name: Upload BackstopJS output
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: backstop-output
          path: |
            backstop_data/html_report
            backstop_data/ci_report
            backstop_data/bitmaps_test
          if-no-files-found: ignore

GitHub Actions workflow YAML files .github/workflows mein rakhi jaati hain. Upar diye action versions ko apnane se pehle GitHub ki current action documentation aur apne project ki Node.js compatibility verify karein. Agar backstop:test script maujood nahi hai, to local binary seedhe chala sakte hain: ./node_modules/.bin/backstop test.

Dependencies lockfile se install karein

npm ci tab istemal karein jab repository mein compatible package-lock.json ho. Isse CI lockfile mein darj dependencies install karta hai. BackstopJS ko project dependency ke roop mein pin karne se workflow global latest install par nirbhar nahi rahega aur local development aur CI ke versions ko ek jaisa rakhna aasaan hoga.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Misal ke taur par, package.json mein script yeh ho sakti hai:

{
  "scripts": {
    "backstop:test": "backstop test"
  }
}

BackstopJS config taiyar karein

Agar project mein config nahi hai, local environment mein backstop init chalayein aur banayi gayi files ko review karein. Init scaffolding banata hai aur maujooda files overwrite kar sakta hai, isliye ise existing repository root par bina jaanch ke na chalayein. Default config file backstop.json hai; alternate JSON ya JavaScript config dene ke liye --config use kiya ja sakta hai.

Config mein viewports aur scenarios arrays honi chahiye. Har scenario ko label aur url chahiye. URL us page ya test environment par point kare jise CI runner access kar sakta ho. Agar workflow ko pehle local app build aur start karni hai, to BackstopJS command se pehle apne framework ke hisab se app-start step aur server-ready hone ka intezar jodein; uska exact command project ke scripts par nirbhar karega.

Teen mukhya commands ka kaam

  1. backstop init config aur scaffolding taiyar karta hai.
  2. backstop test nayi screenshots banakar unki reference screenshots se tulna karta hai.
  3. backstop approve haal ki test captures ko reference set mein promote karta hai, jise aage ke tests baseline banate hain.

Normal pull-request workflow mein automatic taur par test chalayein, approve nahi. Approve karne se comparison baseline badal jaata hai; visual diff review karne ke baad reviewer ya maintainer ko hi use chalana chahiye.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Reports aur screenshots ko artifacts mein rakhein

BackstopJS config mein report: ["CI"] se CI/JUnit report enable ki ja sakti hai. Browser report chahiye to report mein browser bhi shamil karein. Report locations ko config ke paths section se aur CI report filename ko ci.testReportFileName se apne repository layout ke mutabik set karein.

Workflow ke artifact step mein HTML report, CI report aur test bitmap directories shamil karein. if: always() ka uddeshya test failure ke baad bhi output upload karne ki koshish karna hai. Artifact action ka behavior aur apne istemal kiye gaye version ke niyam current GitHub documentation mein check karein. Agar files bani hi nahi hain, if-no-files-found: ignore upload step ko unki gair-maujoodgi par fail hone se rokta hai.

Rendering ko consistent rakhein

BackstopJS Puppeteer ko default engine ke roop mein batata hai aur Playwright support bhi document karta hai. Playwright use karne par config mein engine aur usse sambandhit scripts/options ko bhi sahi tarah badlein. Project Docker rendering ko alag environments ke beech rendering variation ghatane ke ek tareeqe ke roop mein document karta hai.

Agar CI mein unexpected visual diff dikhe, test aur reference capture ke setup ko compare karein: browser engine, viewport dimensions, fonts aur test data/state. Docker mode par tab vichar karein jab local aur CI renderer ke beech fark ho. Docker mein localhost kis machine ko refer karta hai, yeh badal sakta hai; container se host app tak pahunchne ke liye BackstopJS ke Docker notes ke mutabik host address set karna pad sakta hai.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Pull request security aur permissions

Aam taur par pull_request sahi trigger hai jab workflow PR code ko test karta hai aur use secrets ki zaroorat nahi. Workflow mein permissions ko sirf zaroori adhikar tak seemit karein. Jaise, contents: read repository checkout ke liye read access deta hai; jab permissions mein kuch permissions set ki jaati hain, to baaki unspecified permissions none hoti hain.

pull_request_target ko bina security review ke substitute na karein. Is event ka privileged context secrets ya adhik permissions de sakta hai. GitHub ki guidance ke mutabik, untrusted PR code ko aise context mein checkout, build ya run karna khatarnak hai. Backstop job project code aur dependencies execute karti hai, isliye fork PRs ke liye bhi least-privilege design rakhein.

Troubleshooting: aam failures aur unke hal

  • Command nahi milta: Agar backstop command resolve nahi hoti, dependency install hui hai ya nahi dekhein. Local package ke liye ./node_modules/.bin/backstop test chalayein ya package.json script ko verify karein.
  • npm ci ruk jaata hai: Repository mein package-lock.json hona aur manifest se compatible hona chahiye. Lockfile update karke commit karein; CI mein ise nazarandaz karke alag dependency versions install na karein.
  • Page load nahi hota: Scenario URL runner se accessible hai ya nahi jaanchein. Agar app workflow ke andar chalti hai, BackstopJS se pehle server start karein aur test shuru karne se pehle uske ready hone ka intezar karein.
  • Config ya scenario error: Config file ka path, viewports array, aur har scenario ke label aur url ko check karein. Alternate config use kar rahe hon to command mein sahi --config path dein.
  • Artifact upload mein files nahi: BackstopJS output paths aur config ke report paths ko artifact step ke paths se milayein. Test failure se pehle output generate hua tha ya nahi, run logs mein dekhein.
  • Har run mein be-wajah diff: Browser engine, viewport, fonts, application state aur test data ko reference banane wale environment se milayein. Local aur CI rendering mein sthayi antar ho to Docker-based rendering par vichar karein.
  • Docker mein app tak pahunch nahi: Container ke andar localhost container ko hi dikhata ho sakta hai, host machine ko nahi. BackstopJS Docker configuration ke mutabik host ka reachable address istemal karein.

Or skip the browser setup

BackstopJS local browser captures ko approved reference images se compare karta hai; ScreenshotNeo ek website screenshot API hai, isliye yeh us visual-regression comparison ya approval baseline ka badal nahi hai. Agar aapko sirf kisi URL ka screenshot chahiye, ek GET request se image le sakte hain. ScreenshotNeo API documentation mein options dekhein.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo capture se pehle cookie/consent banners accept karta hai aur 60 se zyada pehchane gaye consent platforms, newsletter popups aur chat widgets hata sakta hai; in steps ko alag-alag band bhi kiya ja sakta hai. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads aur cache hits ke liye charge nahi hota, aur response X-Page-Verdict aur X-Billed headers mein result batata hai. Iska MCP server AI agents ko screenshot lene ke tools deta hai. Free plan mein bina card ke 1,000 screenshots mahina shamil hain; paid plans $5 mein 3,000 screenshots se shuru hote hain. ScreenshotNeo ke baare mein jaaniye ya free sign up karein.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.