سؤال

وأريد أن تخزين جزء من الهوية، ورمي ما تبقى. على سبيل المثال، لدي عنصر HTML مع معرف "عنصر 12345. أريد أن طرد "element-" والحفاظ على "12345". كيف يمكنني تحقيق ذلك؟

ويمكنني التقاط وصدى قيمة، مثل هذا:

| storeAttribute | //pathToMyElement@id | myId |
| echo | ${!-myId-!} | |

وعند تشغيل الاختبار، وأحصل على شيء من هذا القبيل:

| storeAttribute | //pathToMyElement@id | myId |
| echo | ${myId} | element-12345 |

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

هل كانت مفيدة؟

المحلول

والحل هو استخدام وظيفة replace() جافا سكريبت مع storeEval:

| storeAttribute | //pathToMyElement@id                                   | elementID |
| storeEval      | '${elementID}'.replace("element-", "")                 | myID      |

والآن إذا أنا أردد myID أنا مجرد الحصول على ID:

| echo | ${myID} | 12345 |

نصائح أخرى

و/ العنصر - (\ د +) / ط

وهذا تعبير عادي من شأنه أن التقاط أرقام بعد اندفاعة.

وشيء من هذا القبيل <م> قد العمل:

| storeAttribute | fn:replace(//pathToMyElement@id,"^element-","") | myId |

لقيام التعابير المنطقية يتطلب كسباث 2.0 - لست متأكدا التي تنفذ نسخة السيلينيوم

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top