Skip to content
Pine Computer Request access
Menu

24 / 26 Engineering and QA · Example

Test a web app

Your users write test steps in plain English, and each run follows them in a real browser and screenshots every step.

Who it’s for
Testing tools whose users would rather write “add two items and check out” than maintain selectors.
Why it’s hard
Scripted tests break when a button moves or a label changes. A step only passed if the page afterwards says so, and someone has to read it.
You get back
  • A pass or fail for every step, with its screenshot
  • For each failure, what the page said instead
  • Changes your user accepted, noted in the report

Every run starts on a new computer, so no sign-in or half-full basket is left over from the last one.

How it runs, in your product’s code

Your user picks the plans, and each gets a fresh computer. After every step it’s told what changed on the page, and decides from that whether the step passed. When the page says something the plan didn’t expect, like “Order received” where step 9 wants “Order placed”, the run stops and asks your user: bug, or expected change? The report lists each step as passed or failed, with its screenshot.

Ruby · example
computer = pine.create_computer(  location: { country: "US" },  ephemeral: true)session = computer.create_session(name: "main", browser: true) session.agent.run(<<~JOB)  Run the checkout plan on staging. Follow each written step,  screenshot it, and report what passed and what didn’t.JOB session.agent.events do |event|  case event.type  when "needs_input"    # Your user takes the controls on the live desktop in your    # product, does what only they can, and hands them back.    session.agent.answer(event.payload["request_id"], "Done.")  when "result"    session.list_artifacts(turn_id: event.turn_id).each do |file|      row.attach(file.filename, session.read_artifact(file.id))    end    break if event.terminal?  endend computer.stop

Build more.
Hand AI the work.

Pine Computer is invite-only while in beta.