فهم SystemUtil.Run، وSetSecure، وSet، وType: QTP/UFT

⚡ ملخص ذكي

SystemUtil.Run هو UFT أمر واحد يقوم بتشغيل ملف أو تطبيق في بداية جلسة التشغيل، بينما تقوم أوامر Set و SetSecure و Type بتغذية القيم وضغطات المفاتيح في النافذة التي تفتحها.

  • 🔘 الإدخال التلقائي: تشغيل تطبيق من Windows قائمة ابدأ أثناء التسجيل UFT سأكتب لك خطوة SystemUtil.Run.
  • ☑️ خمس حجج: تقبل الدالة Run الملفات والمعلمات والدليل والعملية والوضع، لذا يمكن لعبارة واحدة فتح هدف أو تحريره أو استكشافه أو العثور عليه أو طباعته.
  • ✅ المجموعة مقابل النوع: تقوم وظيفة Set بكتابة قيمة مباشرة في حقل، بينما تقوم وظيفة Type بإرسال ضغطات المفاتيح الخام مثل micTab التي يحتاجها الإنسان.
  • 🧪 تعيين كلمات المرور الآمنة: يتم تخزين كلمات المرور المسجلة كسلاسل مشفرة لا يمكن تحويلها مرة أخرى إلى النص الأصلي.
  • 🛠️ مُشفّر كلمة المرور: ينتج كل من برنامج Password Encoder GUI و CryptonCMD.exe نفس السلاسل المشفرة خارج جلسة التسجيل.
  • 📌 التسمية الحالية: QTP الآن OpenText الاختبار الوظيفي (UFT واحد)، و SystemUtil.Run يحل محل عبارة InvokeApplication القديمة.

عبارات SystemUtil.Run و SetSecure و Set و Type في QTP/UFT نص واحد

SystemUtil.Run in UFT

كل اختبار مسجل لواجهة المستخدم الرسومية يحتاج إلى خطوة أولى تتمثل في عرض التطبيق قيد الاختبار على الشاشة. OpenText الاختبار الوظيفي (UFT ون، المعروفة سابقًا باسم مايكرو فوكس UFT وكانت في الأصل شركة HP QTP)، هذه الخطوة هي SystemUtil.Runدعونا نفهم جزء الكود التالي

SystemUtil.Run "C:\Program Files\HP\samples\flight\app\flight.exe"
Dialog("Login").WinEdit("Agent Name:").Set "Guru"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "4af272a62666d2e"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
  • الخطوة الأولى هي الأمر SystemUtil.Run الذي يستخدم افتراضيًا بواسطة UFT/QTP لفتح تطبيق. أثناء التسجيل باستخدام Windows قائمة ابدأ، انتقلنا إلى "حجز الرحلة"تطبيق". في ذلك الوقت، مايكرو فوكس UFT تم تحديد موقع الملف القابل للتنفيذ وإدراج أمر SystemUtil.Run لفتحه.
  • السطر الثاني هو تعيين اسم الوكيل كـ Guru كما هو موضح في الشاشة النشطة
  • السطر 3 هو الضغط على مفتاح Tab على لوحة المفاتيح لجلب التركيز من حقل اسم الوكيل إلى حقل كلمة المرور، وهذه هي الخطوة بالضبط. يحتاج المستخدمون إلى استخدام مفتاح Tab أو النقر للتركيز على عنصر معين على الشاشة. من ناحية أخرى، اختبار سريع يمكن التعرف على الكائن بشكل مباشر باستخدام خصائص الكائن ولا يتطلب عمليات "المناورة" هذهيمكننا حذف هذه الخطوة، لأن UFT سيظل بإمكان المستخدم تعيين حقل كلمة المرور دون هذه العملية.
  • السطر 4 هو تعيين كلمة المرور كـ Mercury. UFT يقوم النظام بتشفير كلمات المرور تلقائيًا دخلت أثناء التسجيل لتجنب خروقات الأمان. لا يمكن فك تشفير هذه القيمة، أي أنه لا توجد طريقة لاسترداد القيمة الأصلية باستخدام هذه البيانات المشفرة. يمكنك تشفير كلمة المرور صراحةً باستخدام أداة ترميز كلمة المرور. لأغراض التعلم الخاصة بنا، سنستخدم كلمة المرور في شكلها الخام. وستتغير العملية أيضًا إلى Set
  • السطر 5 ينقر على زر موافق
  • السطر 6 يغلق النافذة

⚠️ ملاحظة حول الإصدار: المسار المسجل أعلاه يشير إلى القديم C:\Program Files\HP\samples\flight الموقع المستخدم من قبل HP QTPلا يزال نموذج تطبيق حجز الرحلات الجوية يُشحن مع UFT واحد، ولكن ضمن مجلد التثبيت الحالي، لذلك سيختلف المسار الحرفي في البرنامج النصي المسجل اليوم.

انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو

صيغة ووسائط SystemUtil.Run

يستخدم السطر المسجل أعلاه الوسيط الأول فقط، لكن الدالة تقبل خمسة وسائط. معرفة جميع هذه الوسائط يحوّل SystemUtil.Run من مجرد نتيجة تسجيل إلى خطوة تشغيل متعمدة يمكنك كتابتها يدويًا.

SystemUtil.Run file, [params], [dir], [op], [mode]
حجة مطلوب؟ ماذا يفعل
ملف مطلوب: اسم الملف أو التطبيق المراد تشغيله. يتم فتح الملف غير القابل للتنفيذ في التطبيق المرتبط به.
params اختياري المعلمات التي يتم تمريرها إلى التطبيق عند ملف هو ملف تنفيذي. القيمة الافتراضية هي سلسلة فارغة.
دير اختياري المجلد الافتراضي للتطبيق أو الملف. القيمة الافتراضية هي سلسلة فارغة.
op اختياري الإجراء المطلوب تنفيذه: فتح، تحرير، استكشاف، بحث، أو طباعة. القيمة الفارغة تؤدي إلى الفتح.
طريقة اختياري عدد صحيح يتحكم في كيفية عرض النافذة عند فتحها. القيمة الافتراضية هي 1.

استخدم op الحجة هي التي لا يكتشفها معظم المختبرين. وهي تتوافق مع نفس الأفعال Windows يعرض مستكشف الملفات خيارات عند النقر بزر الماوس الأيمن.

قيمة العملية نتيجة
جاكيت يفتح الملف أو المجلد أو الملف التنفيذي المسمى في ملف.
تحرير يُشغّل محرر النصوص ويفتح المستند للتعديل. يفشل إذا كان الملف غير قابل للتعديل.
اكتشف يستكشف المجلد المسمى في ملف.
جد يبدأ البحث من مسار المجلد المحدد.
طباعة يطبع المستند المسمى في ملفيفشل إذا كان الملف غير قابل للطباعة.

في عمل طريقةالقيم المهمة للاستخدام اليومي هي: 0 (إخفاء النافذة وتفعيل نافذة أخرى)، 1 (تفعيل النافذة وعرضها بحجمها الأصلي)، 2 (تفعيلها وهي مصغّرة)، و3 (تفعيلها وهي مكبّرة). أما القيم الأعلى فتتحكم في التركيز واستعادة السلوك، ونادرًا ما تكون مطلوبة في الاختبار.

أمثلة على استخدام SystemUtil.Run: التطبيقات، المتصفحات، والملفات

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

1) ملف فقط — الشكل الأقصر والأكثر فائدة. لا يحتاج الملف التنفيذي الموجود في مسار النظام إلى مجلد، ويُفتح المستند في أي تطبيق. Windows لقد سجل للحصول عليه.

SystemUtil.Run "notepad.exe"
SystemUtil.Run "C:\Data\Orders.txt"

2) ملف بالإضافة إلى المعلمات — أي شيء يقبله التطبيق عبر سطر الأوامر يوضع هنا. هكذا يتم فتح المتصفح على عنوان محدد بدلاً من صفحته الرئيسية.

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt"

3) إضافة دليل — مفيد عندما يرفض تطبيق ما بدء التشغيل إلا إذا كان مجلده الخاص هو دليل العمل.

SystemUtil.Run "flight.exe", "", "C:\Program Files\HP\samples\flight\app\"

4) إضافة عامل التشغيل — نفس الملف، أربع نتائج مختلفة.

SystemUtil.Run "C:\Data\Orders.txt", "", "", "edit"
SystemUtil.Run "C:\Data", "", "", "explore"
SystemUtil.Run "C:\Data", "", "", "find"
SystemUtil.Run "C:\Data\Orders.txt", "", "", "print"

5) وضع الإضافة — افتح النافذة في وضع ملء الشاشة حتى لا يتم حظر الخطوات اللاحقة بواسطة عنصر تحكم مخفي جزئيًا.

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt", "", "open", 3

بما أن النافذة المفتوحة تصبح كائن اختبار عادي، فإن السطر التالي مباشرةً يمكنه التحكم بها. وتربط الوثائق الرسمية بين أمر التشغيل وأمرَي الكتابة والإغلاق بهذه الطريقة تحديدًا.

SystemUtil.Run "C:\type.txt", "", "", ""
Window("Text:=type.txt - Notepad").Type "happy days"
Window("Text:=type.txt - Notepad").Close

لاحظ الوصف نص:= لا حاجة إلى إدخال في المستودع في هذا المقتطف. وتُغطى الفكرة نفسها بالتفصيل في البرمجة الوصفيةوعادةً ما يكون من الأفضل الاحتفاظ بالمسارات المبرمجة مسبقًا مثل تلك المذكورة أعلاه في متغيرات البيئة لذا يتم تشغيل برنامج نصي واحد على كل جهاز.

Set و SetSecure و Type: أي طريقة يجب استخدامها

تستخدم الأسطر من 2 إلى 4 من النص المسجل ثلاث طرق مختلفة على نفس نوع حقل التحرير. هذه الطرق غير قابلة للتبديل، واختيار الطريقة الخاطئة هو سبب شائع لتجاوز خطوة ما دون إدخال أي بيانات.

الأسلوب ما يرسله استخدمه عندما
بكج يكتب قيمة نصية عادية مباشرة في الحقل. إدخال البيانات بشكل طبيعي، بما في ذلك كلمة مرور ترغب في أن تبقى قابلة للقراءة.
SetSecure يكتب سلسلة مشفرة UFT يتم فك التشفير أثناء التشغيل. أي حقل كلمة مرور، لذلك لن تظهر القيمة أبدًا في البرنامج النصي أو النتائج.
النوع يرسل ضغطات المفاتيح الخام، بما في ذلك مفاتيح مثل micTab. يُعد سلوك لوحة المفاتيح جزءًا من الاختبار، أو أن عنصر التحكم لا يتفاعل إلا مع المفاتيح الحقيقية.

كما تشير الملاحظات التوضيحية، فإن ضغطة مفتاح Tab في السطر 3 موجودة فقط لأن جهاز التسجيل التقط عادة بشرية. UFT يتم تحديد حقل كلمة المرور من خلال خصائصه، لذا فإن حذف هذا السطر لا يُغير شيئًا. استبدل SetSecure بـ Set وسيعمل تسجيل الدخول نفسه بكلمة مرور قابلة للقراءة.

Dialog("Login").WinEdit("Password:").Set "mercury"

للقيام بالعكس وتشفير قيمة خارج جلسة التسجيل، استخدم مشفر كلمات المرورتأتي أداة واجهة المستخدم الرسومية مع UFT يتوفر نفس الترميز من سطر الأوامر كـ CryptonCMD.exe -e في مجلد سلة المنتج. ينتج كلاهما سلاسل نصية يمكنك إضافتها إلى وسيطة SetSecure أو إلى معلمات جدول البياناتيؤكد البائع صراحةً أن هذا التشفير ليس معيارًا أمنيًا: فهو يخفي قيمة على الشاشة، ولا يحمي بيانات العملاء الحقيقية.

بمجرد أن تصبح هذه الطرق الثلاث بديهية، فإن بقية اللغة تتبعها بسرعة. أساسيات VBScript وعلى نطاق أوسع UFT سلسلة دروس تعليمية واحدة تغطي الحلقات والشروط والوظائف القابلة لإعادة الاستخدام، بينما Object Spy و GetROProperty سنعرض لك العقارات التي ترغب في رؤيتها UFT أحدهما مطابق بالفعل.

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

يتم كتابة عبارة التشغيل في الاختبار تلقائيًا كلما قمت بتشغيل تطبيق من Windows قائمة ابدأ أو مربع حوار التشغيل أثناء التسجيل. شكرًاping العبارة المكتوبة يدوياً تعطي نفس النتيجة.

لا. لا يمكن استعادة كلمة المرور الأصلية من السلسلة المشفرة، ولهذا السبب يجب إعادة تشفير القيمة المفقودة بدلاً من فك تشفيرها. استبدل الوسيطة بالكامل إذا تغيرت كلمة المرور.

استخدم أداة تشفير كلمة المرور المرفقة مع UFT إما تشغيل CryptonCMD.exe -e متبوعًا بالسلسلة النصية من مجلد bin الخاص بالمنتج. كلا الخيارين يُنتج قيمة مناسبة لوسيطة SetSecure أو لخلية في جدول البيانات.

يمكن لخاصيتي التسجيل والتشغيل فتح التطبيق قبل الخطوة الأولى، ولا يزال أمر InvokeApplication القديم يعمل. يحتفظ المورّد بـ InvokeApplication فقط للتوافق مع الإصدارات السابقة، ويوصي باستخدام Run بدلاً منه.

بالإضافة إلى Window(…).Close، يوفر كائن SystemUtil وظائف CloseProcessByName و CloseProcessById و CloseProcessByHwnd و CloseProcessByWndTitle و CloseDescendentProcesses، والتي تقوم بإغلاق كل عملية بدأتها جلسة التشغيل.

يمكن للمساعدين المدعومين بالذكاء الاصطناعي صياغة عبارات التشغيل والتعيين والنوع من وصف بلغة إنجليزية بسيطة، واقتراح حلول عند تعطل محدد الموقع. مع ذلك، لا يزال كل سطر مُنشأ بحاجة إلى مراجعة مقابل خصائص الكائن الحقيقي قبل تنفيذه.

يقوم برنامج Copilot بإكمال VBScript في أي محرر يدعمه، لذا فإن إنشاء دالة مساعدة أو حلقة تكرارية على بيانات الاختبار أمر سريع. UFT لا يوجد لدى المستخدم أي إضافة Copilot، لذلك يتم لصق الكود في المحرر والتحقق منه هناك.

غالباً ما يكون السبب هو المسار الحرفي: مجلد تثبيت مختلف، أو تقسيم مجلد "ملفات البرامج" بين نظام 32 بت ونظام 64 بت، أو محرك أقراص مُعيّن غير موجود. يُحلّ تخزين المسارات في متغيرات البيئة المشكلة.

تلخيص هذه التدوينة بـ: