عامل بشري بدلاً من مختبِر؟ هل يستحق دراسة السيلينيوم عام 2020؟



استمرار المقابلة "من يحتاج أيضا إلى السيلينيوم؟ هل يستخدم أي شخص BDD في عام 2020؟ التعلم الآلي في سيلينيوم »

الحوار يشمل:

  • Vsevolod Brekelov و Daria Manukhina (لجنة برنامج مؤتمر Heisenbug) ؛
  • آنا تشيرنيشوفا ، مطورة مكتبة أكيتا وأداة هيلنيوم الجديدة ؛
  • إيفان كروتوف ، مطور Selenoid .

في نهاية المقال ، يمكنك معرفة الاستنتاج الذي شاركه إيفان وآنا ، وهو إجابة السؤال: "هل يجب أن أدرس السيلينيوم أم أختار شيئًا آخر؟". بالإضافة إلى ذلك ، تمكنا من التحدث عن:

  • ماركر مان واكتشف من هو.
  • موظفون ذوو قيمة في الشركات ؛
  • مجموعة أدوات المختبر
  • البنية التحتية لاختبارات السيلينيوم ؛
  • منافسين السيلينيوم.

إذا لم تكن قد قرأت الجزء الأول من المقابلة ، فإليك بعض لقطات الشاشة لما تذكره القراء أكثر من ذي



قبل : اختزل المقال السابق عن مسألة التعلم الآلي. لنبدأ معه.

- إذا كان التعلم الآلي رائعًا حقًا ، فما الجزء الذي سيبقى على قيد الحياة للأشخاص والمختبرين؟

أنيا : في البداية ، يجب التحقق من صحة كل شيء بطريقة أو بأخرى. يعمل هذا بشكل جيد عندما يكون لدينا إجابة واضحة على السؤال الذي يحل التعلم الآلي: نعم أو لا. اعتمادًا على هذه نعم أو لا ، يتخذ الجهاز قرارًا. عندما لا يكون هناك إجابة واضحة لهذا السؤال ، هناك حاجة بالفعل هناك ...

- رجل علامة خاص.

إيفان : يتكون أي تعلم آلي من جزأين.

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

ثانيًا ، التعلم الآلي يتعلق في المقام الأول بالبحث ، فكل محركات البحث على الإنترنت نشطة جدًا في ذلك. من أجل تحسين جودة هذه الخوارزميات ، يجب على المرء معالجة كميات هائلة من البيانات. يمكن تقليل دور الشخص إلى دعم بنية تحتية كبيرة بجنون من شأنها تحليل هذه البيانات بشكل فعال. ربما تقوم الخوارزمية نفسها بالعمل بنفسها. ولكن لضمان جميع الشروط حتى تعمل هذه الخوارزمية وأن تكون ذات نوعية جيدة ، فإنها ستظل عملًا بشريًا.
لتوفير جميع الشروط حتى تعمل الخوارزمية وأن تكون ذات نوعية جيدة ، فسيظل العمل البشري.
على سبيل المثال ، لتدريب عدد كبير ، بعض الخوارزميات الجيدة ، تحتاج إلى مجموعة موزعة من الحسابات ، نوع من MapReduce المجنون . لكي ينجح هذا الأمر ، ما زلت بحاجة إلى الأشخاص الذين قاموا بإعداده والبحث عنه للعمل بشكل طبيعي ، أو الذين يكتبونه أيضًا خصيصًا لهذه المهمة. التعلم الآلي ليس موضوعًا بسيطًا للغاية. كلما أردت أن تعمل بشكل أفضل ، كلما احتجت إلى الاستثمار. في كل نسبة مئوية تالية من الجودة ، يعد هذا نوعًا من الزيادة الهائلة التي لا تصدق ليس بنسبة مئوية ، ولكن بأوامر من الحجم.
في المرحلة الأولية ، يمكنك تشغيله على جهاز الكمبيوتر المحمول الخاص بك ، وبعد ذلك ، كلما أردت أن يعمل بشكل أفضل ، كلما احتجت إلى الاستثمار.
- حتى مع هذه الآلات ، ما زلنا لن نبتعد عن إجراء الاختبارات على نوع من البنية التحتية ، على بعض الآلات. لن يذهب CI / CD هذا مع الاختبارات إلى أي مكان. لذلك ، على سبيل المثال ، لن يكون Selenoid بالتأكيد شيء من الماضي ، ولكن لا يمكن قول الشيء نفسه لـ Selenium IDE.

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

- نعم. "كوبول" حتى في الاختبار ، اتضح.

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

إذا كان كل شيء قد نما بشكل كبير بطريقة أو بأخرى بالنسبة لنا ، على سبيل المثال ، تكاليف التعلم الآلي ، عندئذٍ سينشأ السؤال العام: "هل هذه النفقات مبررة بشكل عام؟"

ما هي مهمتنا إذا استخدمنا السيلينيوم؟ لاختبار. قد يتضح أنه في مرحلة ما ستكون تكاليف تطوير التعلم الآلي هذا أعلى من مجرد توظيف أشخاص يجلسون ويدعون أيديهم.

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

إذا كان كل شيء قد نما بطريقة أو بأخرى بشكل كبير بالنسبة لنا ، على سبيل المثال ، تكاليف التعلم الآلي ، فعندئذٍ سينشأ السؤال بشكل عام: "هل هذه النفقات مبررة بشكل عام؟


من هو "موظف مساعد"؟


"ولكن مدى سرعة وصول المنتج إلى المستخدم يؤثر على الاقتصاد". الأتمتة تحاول تقصير وقت التسليم لزيادة الربح والميزة التنافسية ، أليس كذلك؟

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

- يبدو أنني نادراً ما التقيت هؤلاء الأشخاص في السوق.

فانيا : حسنًا! هم قليلون.قليل من الناس يعتقدون .

- اتضح أن الجميع معتادون على حل المشكلة ، ومع مجموعة الأدوات أو تلك الأساليب الموجودة بالفعل ، لكن قلة من الناس يعتقدون ما إذا كانوا مثاليين حقًا من وجهة نظر الأعمال.

أنيا : يعتمد ذلك على تطور المنظمة ، على الثقافة التي تروج لموظفيها. لقد قرأت مؤخرًا كتاب "اكتشاف منظمات المستقبل" ، وهناك فئات مختلفة من المنظمات ، وهي مقسمة حسب اللون.

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

استخدام السيلينيوم في 2020


- كيف يتم استخدام السيلينيوم الآن؟

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

Anya : يمكنك أيضًا استخدامه كاختبار تحميل واجهة المستخدم.

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

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

مجموعة أدوات المختبر


- لحل مشاكل الاختبار الذاتي ، ما هي الأدوات التي يختارها المهندسون عادةً إلى جانب السيلينيوم؟ يأخذون Java ، Allure ، Selenoid ، Selenide ، يلفون كل شيء معًا ويحصلون على رشاش جيد لحل مهامهم اليومية. أم هل هنلك شيء آخر؟




أنيا : هنا تحتاج إلى فهم المستويات التي سيتألف منها هذا النهج للأتمتة. في كل مستوى ، يمكنك إنهاء بعض الآلات الموسيقية.

المستوى الأول هو اختيار ما تكتب عليه ؛ هل هو Java ، .NET ، JS؟ لقد عملت أكثر مع Java ، وسوف أتحدث عنها. في الواقع ، على ما يجب بناء المشروع - جافا. يمكنك تجميعها باستخدام Maven أو Gradle. الآن لدى Maven لقب pom رائع في YAML ، وهو ملائم للعمل معه.

بعد ذلك ، اختر كيفية تشغيل هذه الاختبارات - هذه بعض JUnit أو TestNG. لقد عملت مع JUnit 5 مؤخرًا.

ثم اختر مستوى التفاعل مع العناصر. هذا هو السيلينيوم ، أو نوع من الغلاف فوقه ، على سبيل المثال ، السيلينيوم. مع ذلك ، يمكنك تقصير الوقت لكتابة الاختبارات.

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

ثم يكتب الاختبار نفسه ، يمكن أن يكون بعض غلاف BDD ، نفس الخيار. إذا اخترت JUnit ، فستكون هناك أشياء إضافية مطلوبة لها.

بالإضافة إلى البنية التحتية. لقد كنت أعمل مع Selenoid مؤخرًا ، لقد كان أكثر ملاءمة بالنسبة لي.

المزيد من التقارير.

- حسنا ، التقارير ، بالطبع ، ألور ؟

Anya : حسنا ، أو ReportPortal .
يمكنني أن أشرح عندما يكون Allure أفضل ، عندما يكون ReportPortal أفضل. جاذبية جيدة عندما مشروع صغير ، فإنه يأتي بشكل عام بشكل عام. إذا كان هذا نوعًا من المشاريع الكبيرة ، حيث يكون 100500 ألف اختبار أو هذا حل مؤسسة ، أو أن هناك فهمًا بأنه يجب أن يكون هناك الكثير من الاختبارات ويجب أن تضيف جميعها في نوع ما من التقارير ، فإن ReportPortal جيد ، فمن الأنسب معالجة نتائج عدد كبير منها الاختبارات. عندما يكون هناك عدد قليل من الاختبارات ، يكون Allure أكثر ملاءمة.

فانيا: لا أعرف ما إذا كنت تعرف أم لا أنني شاركت أيضًا في أول جاذبية. في البداية ، ظهر Allure على Yandex ، كما يعلم الجميع ، ولكن في النهاية اتضح أن الرجال ذهبوا بشكل منفصل للقيام بذلك. ونتيجة لذلك ، فهي مجرد الوظائف التي يحتوي عليها ReportPortal ، وجميع أنواع الأشياء المعقدة: تخزين التاريخ ، وما إلى ذلك ، بدأوا في القيام به كمنتج تجاري منفصل ، لذلك لا يظهر هذا في Allure المعتاد. وهم يحاولون بيعها. إذا كنت تريد نوعًا من تقرير مفتوح المصدر لعدد كبير من الاختبارات ، فمن المحتمل أن ReportPortal ، على الرغم من أنني لم أجربه أبدًا. بالنسبة للمشاريع الصغيرة من نوع ألور ، يبدو لي ، للعيون.

تم كتابة جميع هذه الأدوات للاختبارات المعقدة مع سيناريوهات طويلة نوعًا ما ، حيث كان من الضروري تصور جميع الخطوات التي يتم إجراؤها أثناء الاختبار جيدًا. هذه التقارير ليست مناسبة بشكل خاص لاختبارات الوحدة ، لأن هناك فقط الإجابة "نعم / لا" ، سقطت - لم تسقط.

البنية التحتية لاختبارات السيلينيوم


- فانيا ، هل يمكنك إخبارنا المزيد عن جزء الخادم وكم مرة يتعين على الناس لمسه؟ (لمهندسي ضمان الجودة ، DevOps).


الصورة: Unsplash

Vanya : ما هو جانب الخادم؟ يجب أن يكون نوعًا من تطبيقات الويب التي تطبق معيار السيلينيوم. حتى نتمكن من إرسال أوامر وفقًا لمعايير السيلينيوم لعملائنا ، ويقوم هذا الخادم بإجراء جميع الفحوصات التي نريد القيام بها لنا. بالنسبة إلى السيلينيوم ، هناك الآن العديد من الأدوات التي تنفذها.

هناك نفس Selenium القديم القديم ، Selenium أو Selenium Grid ، أو Selenium Server - هذا تطبيق مكتوب بلغة Java ، وهو الأقدم والأسهل من حيث الميزات. منذ ثلاث سنوات من معيار السيلينيوم ، من شبكة السيلينيوم ، كان مشروع زالينيوم مزدهرًا. إنه يعرف بالفعل كيفية تشغيل المتصفحات في حاويات Docker. يطبق هذا المشروع المعيار بأكمله ، ويدعم إمكانية تسجيل الفيديو ، والقدرة على تخزين السجلات ، ولديه واجهة أفضل من السيلينيوم القياسي.

لقد قمنا بمشروع من الصفر يسمى Selenoid . هذا أيضًا تطبيق مستقل تمامًا لبروتوكول السيلينيوم. هو مكتوب في Go ، تثبيت Java غير مطلوب ، لا شيء مطلوب ، يبدأ فقط في الثنائي ويحتاج Docker.

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

هناك جميع أنواع المنصات عبر الإنترنت لـ Selenium ، إذا كنت لا ترغب في نشر Selenium نفسها. يمكنك الذهاب إلى الخدمات السحابية وهي باهظة الثمن ، لكنها مع ذلك مشهورة جدًا.

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

اختبار عبر المتصفح ومتصفح الجوال


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

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

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

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

إذا كنت ترغب في الاختبار على المحاكيات لنظام iOS ، فأنت بحاجة إلى أخذ أجهزة Apple ، أي MacMini أو MacPro أو MacBook أو شيء مشابه ، فهي مكلفة أيضًا. ويرجع ذلك إلى قيود ترخيص Apple. لذلك ، من الممكن إجراء الاختبار على الجوال من حيث المبدأ ، فمن الواضح كيفية القيام بالبنية التحتية. حتى في Docker ، يمكنك تشغيل Android ، ولكنه مكلف للغاية. إذا أراد الناس القيام بذلك ، فعليهم التفكير بجد.

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

منافسين السيلينيوم


- بالمناسبة ، هناك أدوات مختلفة مثل Puppeteer و Playwright ، والتي تسمح لك بمحاكاة وإجراء اختبار عبر المتصفح بدقة ، بما في ذلك في متصفحات الجوال. ربما لفترة طويلة انتقلوا جميعا أو زرعوا؟

فانيا : حراس ، لم يتحرك أحد آخر.

أنيا : هذه أشياء رائعة ، ولكن لها قيود من حيث التوافق عبر المتصفح. يبدو أن Cypress for Firefox سيتم تحديثه قريبًا. يمكنك كتابة الاختبارات بشكل رائع للغاية بسرعة كبيرة ، كل شيء مريح ، لكنك محدود فقط من خلال Chromium.

فانيا : لنبدأ مع السرو . في 2004-2005 ، عملت السيلينيوم على النحو التالي.

تم إطلاق المتصفح ، وتم تحميل ملحق خاص فيه ، حيث تم دفع أوامر لأتمتة المتصفح. بعد 15 عامًا ، ظهر الرجال الذين نظروا إليه. تخلت السيلينيوم عن هذا النهج ، لأنه لا يمكن القيام بكل شيء بمساعدة التمديد. منذ Javascript ، لا يمكن تنفيذ كل شيء في المتصفح ؛ لا يمكنك الوصول إلى الملفات على نظام الملفات. تحولت السيلينيوم إلى نهج أصلي ، وبدأت في كتابة ثنائيات منفصلة ، منفصلة عن المتصفح. لقد مرت 15 سنة. صنع رجال جافا سكريبت أداة مماثلة.

العرائس هو نفسه تمامًا. Puppeteer هو Google Chrome ، Chromium ، الذي ينفذ بروتوكولًا خاصًا للعمل مع لوحة التصحيح هذه. يحتوي Chrome على لوحة تصحيح بحيث يمكنك مشاهدة الرسائل في وحدة التحكم وطلبات الشبكة وما إلى ذلك.

- أدوات المطور رائعة جدًا بالطبع.

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

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

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

هناك مجموعة من الاختبارات ، على سبيل المثال ، مكتوبة بلغة Java - حجم محموم ، يجب تشغيلها بسرعة ، تحتاج إلى تحجيمها بسرعة وما إلى ذلك. لم تحل هذه المشكلة.

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

- يا رفاق ، لديك خبرة واسعة في استخدام السيلينيوم ، إذا كنت قد بدأت للتو في اختبار واجهة المستخدم الآن ، فما الأداة التي ستختارها الآن؟ أين من الأفضل أن تبدأ؟

أنيا : سأبدأ مع السيلينيوم على أي حال. لأنه معيار.

- جافا والسيلينيوم ، أليس كذلك؟

أنيا : حسنًا ، لا يمكنك جافا ، يمكنك .NET ، Python ، ولكن لا يزال السيلينيوم لهم ، لأنه عاش ويعيش وسيعيش.

السيلينيوم عاش ويعيش وسيعيش.


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

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

Anya : Selenium هي قاعدة تحتاج إلى معرفتها حتى تتمكن من تطويرها وإضافة بعض الكعك المثيرة للاهتمام إليها.

- شكرا لك! آمل أن تكون المعلومات الواردة مفيدة لقرائنا.

نذكركم بأنه سيتم عقد مؤتمر Heisenbug 2020 Piter عبر الإنترنت . هناك يمكنك التحدث مع Vanya و Anya ومعرفة المزيد عن Healenium و Selenoid واستخدام بروتوكول Chrome DevTools في مجموعة Kubernetes.

بالنسبة لأولئك الذين يريدون توسيع آفاقهم وحضور أكثر من مؤتمر واحد ، ولكن على الفور 8 ، قمنا بإعداد شيء .

All Articles