جديد: TestSprite CLI متاح الآن!

احمِ بوابة خط أنابيب CI/CD الخاص بك بأداة CLI لاختبار الذكاء الاصطناعي.

أدرج testsprite في GitHub Actions أو GitLab CI أو أي خط أنابيب يشغّل خطوة صدفة (shell). فهو يوثّق الهوية عبر متغيّر بيئة، ويشغّل مجموعة اختباراتك مقابل بيئة منشورة حقيقية فعليًا، ويخرج برمز ثابت يمكن التنبؤ به — بحيث يُفشِل البناءُ المكسور نفسَه، لا اجتماع الفريق التالي.

يعمل في أي CI، وأي مُشغّل، وأي صدفة

GitHub ActionsGitLab CICircleCIJenkinsأي مُشغّل صدفة
خط أنابيب أخضر لم يفتح الموقع فعليًا أو يستدعِ الـ API ليس خط أنابيب ناجحًا — إنه تخمين. يعمل testsprite في نفس خطوة البناء، مقابل بيئة منشورة حقيقية، ويمنح بوابة الدمج شيئًا حقيقيًا للتحقق منه.

غير تفاعلي بالتصميم

TESTSPRITE_API_KEY=sk-... testsprite setup --from-env --yes --agent claude — دون أي مطالبات، ودون تسجيل دخول عبر متصفح، ويعمل في مُشغّل بلا واجهة (headless).

خطوة واحدة، أي خط أنابيب

testsprite test run --all --project <id> --wait --output json كخطوة CI واحدة — حلّل JSON، أو تحقق فقط من رمز الخروج.

رموز خروج يمكن التنبؤ بها

رموز خروج ثابتة وموثّقة تعني أن خط أنابيبك يمكنه بناء بوابة الدمج على نتيجة حقيقية، لا على تحليل سجلات نصية حرة لتخمين ما حدث.

تشغيل تجريبي قبل الالتزام

يشغّل الخيار --dry-run منطق خط أنابيبك دون اتصال باستخدام بيانات اختبار، حتى تتمكن من ربط الخطوة قبل أن تلامس بيئة حقيقية فعلية.

# .github/workflows/verify.yml
- name: Verify with TestSprite
  env:
    TESTSPRITE_API_KEY: ${{ secrets.TESTSPRITE_API_KEY }}
  run: |
    npm install -g @testsprite/testsprite-cli
    testsprite setup --from-env --yes
    testsprite test run --all --project prj_8f2a --wait --output json

# exits non-zero on a real failure — the merge gate fails with it

اجعل بوابة الدمج ذات معنى فعلي

بناء ينجح لأنه لم يتحقق فعليًا من شيء ليس بناءً ناجحًا. كل تشغيل لخط الأنابيب يختبر بيئتك المنشورة الفعلية — متصفح حقيقي، واستدعاءات API حقيقية — ويفشل لسبب حقيقي.

مصمم لكل مرحلة من مراحل خط الأنابيب

طلب سحب، أو تشغيل ليلي، أو إصدار

شغّل المجموعة الكاملة عند كل طلب سحب، أو مجموعة دخان أصغر كل ليلة، أو كل شيء قبل الإصدار — نفس الأمر، مع --project وخطة مختلفَين.

إعادة تشغيل دفعية

testsprite test rerun --all --project <id> يعيد التحقق من كل شيء بعد تشغيل يبدو متذبذبًا، دون إعادة تشغيل خط الأنابيب بأكمله.

نسخة مجتمعية مجانية

تقدم نسخة مجتمعية مجانية، مما يجعلنا متاحين للجميع.

قارن بين تشغيلين

testsprite test diff <runId1> <runId2> يُظهر بالضبط ما الذي تغيّر بين بناء ناجح وآخر فاشل.

موثوق به من قبل الشركات حول العالم

"يقدم TestSprite إنشاء حالات اختبار غنية، وهيكلًا واضحًا، وكودًا سهل القراءة. كما يدعم تصحيح الأخطاء البسيط عبر الإنترنت مع القدرة على التوسع بسرعة عن طريق إنشاء حالات اختبار جديدة."

"تساعد أتمتة TestSprite في تقليل الكثير من العمل اليدوي. يمكن للمطورين بسهولة اكتشاف الأخطاء وحلها في وقت مبكر من عملية التطوير."

الأسئلة الشائعة

كيف توثّق الأداة هويتها في مُشغّل CI بلا واجهة؟

عيّن TESTSPRITE_API_KEY كسر (secret)، ثم شغّل testsprite setup --from-env --yes --agent claude (أو الوكيل الذي تختاره). دون مطالبة تفاعلية، ودون تسجيل دخول عبر متصفح — فهي مصممة لهذا الغرض تحديدًا.

هل تعمل مع GitHub Actions تحديدًا؟

نعم، وأيضًا مع أي CI يمكنه تشغيل خطوة صدفة — GitLab CI وCircleCI وJenkins وBuildkite. فهي أداة CLI مبنية بـ Node.js تُثبَّت عبر npm؛ إن كان مُشغّلك قادرًا على ذلك، فيمكنه تشغيل TestSprite.

على ماذا تبني بوابة خط الأنابيب فعليًا؟

على تشغيل اختبار حقيقي مقابل بيئتك المنشورة — اختبارات متصفح عبر Playwright، واختبارات API مع إدارة للتبعيات — يُبلَّغ عنها برمز خروج ثابت وموثّق. وخطوتك الحالية «أفشِل المهمة عند رمز غير صفري» تعمل كما هي دون تعديل.

هل يمكنني اختبار ربط خط الأنابيب قبل أن يصبح فعليًا؟

نعم — يشغّل الخيار --dry-run منطق اختبارك دون اتصال مقابل بيانات اختبار، حتى تتأكد من أن الخطوة مربوطة بشكل صحيح قبل توجيهها إلى بيئة حقيقية.

ماذا يحدث عندما يكتشف CI انحدارًا حقيقيًا؟

تحصل على حزمة إخفاق (الخطوة الفاشلة، لقطة شاشة، لقطة DOM، فرضية السبب الجذري، وتوصية بالإصلاح) مرفقة بذلك التشغيل — اجلبها عبر testsprite test failure get <testId> من سجلات المهمة أو من خطوة تالية.

امنح خط أنابيبك شيئًا حقيقيًا يُبنى عليه القرار.