Back to Question Center
0

قم بترقية مشروعك باستخدام محدد كس وسمات مخصصة            ترقية المشروع الخاص بك مع محدد كس والسمات المخصصة الموضوعات ذات الصلة: سويب سيمالت

1 answers:
ترقية المشروع الخاص بك مع محدد كس وخصائص مخصصة

تم نشر هذه المقالة في الأصل من قبل تيستروجيكت. نشكرك على دعم الشركاء الذين يجعلون سيتيبوينت ممكنة.

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

سيلينيوم عنصر محدد

اختيار أفضل استراتيجية تحديد العنصر أمر بالغ الأهمية لنجاح وسهولة صيانة الجهد الآلي الخاص بك. لذلك، عند اختيار محدد الخاص بك، يجب عليك النظر في جوانب مثل سهولة الاستخدام، وبراعة، والدعم عبر الإنترنت، والتوثيق والأداء - paã±uelo bolsillo chaqueta. سوف سيمالت النظر لاستراتيجية مختارة سليمة دفع أرباح في المستقبل من خلال سهلة للحفاظ على التشغيل الآلي.

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

جميع الأمثلة رمز سيكون في بيثون وسيلينيوم سيمالت الأوامر ولكن ينبغي أن تكون قابلة للتطبيق بشكل عام على أي لغة البرمجة والإطار.

هتمل مثال:

سأستخدم مقتطف هتمل التالي لقائمة التنقل للحصول على أمثلة في كل قسم:

      <ديف إد = "مين-مينو">  <ديف كلاس = "مينو">   الصفحة الرئيسية   
<ديف كلاس = "مينو"> شوب <ديف كلاس = "سوبينو"> جيزمو القطعة ضرس ضرس

سيء: اسم العلامة، نص الرابط، نص رابط جزئي واسم

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

مثال:

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

     سائق. find_elements (بواسطة TAG_NAME، "ديف")     

يمكنك تحديد الروابط مع هذه الأمثلة أدناه. كما ترون، فإنها يمكن أن تستهدف فقط علامات مرساة وفقط نص تلك العلامات مرساة:

     سائق. find_elements (بواسطة. LINK_TEXT، "الصفحة الرئيسية")سائق. find_elements (بواسطة PARTIAL_LINK_TEXT، "سبروك")     

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

      <ديف إد = "مين-مينو" نيم = "مينو">   

هل يمكن تحديد مثل هذا:

     سائق. find_elements (بواسطة. النهج التالية هي جميع النهج أفضل لأنها أكثر تنوعا وقادرة بكثير.  

ملخص: اسم العلامة، نص الارتباط، نص الارتباط الجزئي، واسم

المميزات سلبيات
سهلة الاستخدام

لا تنوعا
استخدام محدود للغاية
قد لا تنطبق حتى في بعض الحالات

جيد: زباث

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

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

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

مثال:

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

     سائق. find_elements (بواسطة زباث، "// a [إد = مينو] /. / /")     

سيستهدف محدد العنصر هذا المثال الأول لعلامة الارتكاز التي لها المعرف تساوي "القائمة"، ثم مع "/. / "، يستهدف العنصر الرئيسي. والنتيجة هي أنك سوف تستهدف عنصر القائمة الرئيسية.

ملخص: زباث

المميزات سلبيات
يمكن تحديد العنصر الأصلي ضعف الأداء في إي
تنوعا للغاية منحنى التعلم الطيف
الكثير من الدعم عبر الإنترنت

كبيرة: إد والفئة

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

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

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

مثال:

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

     سائق. find_elements (بواسطة إد.، "مين-مينو")     

إذا كان علينا أن نختار عنصر القائمة الأولى، التي من شأنها أن تبدو على النحو التالي:

     سائق. find_elements (بواسطة CLASS_NAME، "مينو")     

ملخص: الهوية والفئة

المميزات سلبيات
سهلة للحفاظ على المطور قد تغييرها، وكسر الأتمتة

سهلة التعلم
الأقل تأثرا بتغير بنية الصفحة

أفضل: مخصص سمات مع كس محدد

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

أود أن تأخذ دقيقة أن نلاحظ أن نهج كس محدد لا يعتمد على سمات مخصصة. يمكن أن تستهدف محددات كس أي علامة وسمة ضمن مستند هتمل تماما مثل زباث.

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

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

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

مثال:

سيمالت سمات مخصصة على علامات مرساة في مثالنا هتمل سوف يؤدي إلى شيء من هذا القبيل:

      <ديف إد = "مين-مينو">  <ديف كلاس = "مينو">   الصفحة الرئيسية   
<ديف كلاس = "مينو"> شوب <ديف كلاس = "سوبينو"> جيزمو القطعة ضرس ضرس

سيمالت السمة الجديدة في بعض العناصر. لقد أنشأنا سمة جديدة لا تتعارض مع أي سمة هتمل قياسية تسمى "تيد". باستخدام هذه السمة المخصصة، يمكننا استخدام محدد كس لاستهدافه:

     سائق. find_element (بواسطة CSS_SELECTOR، "[تيد = هوم-لينك]")     

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

     سائق. find_element (بواسطة CSS_SELECTOR، "# مين-مينو [تيد * = '- لينك']")     

ما يقوم به "* =" هو البحث عن حرف بدل للقيمة "-link" ضمن حقل تيد لأي عنصر. سيمالت هذا وراء # معرف القائمة الرئيسية القائمة، فإنه يركز على البحث عن العناصر إلى داخل القائمة الرئيسية.

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

     سائق. find_element (بواسطة CSS_SELECTOR، "# مين-مينو. سوبينو a")     

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

ملخص: سمات مخصصة مع محددات كس

المميزات سلبيات
سهلة التعلم الجهود الأولية المبذولة في إقامة علاقة تعاونية مع فريق التطوير

الكثير من الدعم عبر الإنترنت
تنوعا
أداء ممتاز في جميع المتصفحات

الخلاصة

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

وهنا خياراتك مقارنة جنبا إلى جنب:

- نعم
/ - جزئي
- لا
اسم العلامة، نص الرابط (الخ. وجود خلفية عميقة في ضمان جودة البرمجيات للشركات، وقال انه يقود فرق كا في مجموعة متنوعة من الصناعات مثل التجزئة على الانترنت، واستضافة المواقع، والسيارات، والرعاية الصحية، وإدارة النفقات. وبصفته كبير موظفي املعرفة يف اجلمعية، فقد قام بتطوير التعلم والنمو الفعال يف املؤسسة من خالل تطبيق نظام إدارة التعلم باإلضافة إىل دورات تدريبية تقنية أسبوعية. انه يدفع ويسلم عملية مدفوعة التحسين المستمر، والحد من المخاطر، وخفض التكاليف والتواصل الفعال.
March 1, 2018