รับค่าของฟิลด์อินพุตโดยใช้ซีลีเนียมและตรวจสอบว่าถูกต้องหรือไม่จากนั้นจึงใช้ข้อความบันทึกของคอนโซล

สวัสดีทุกคน ฉันกำลังทำงานร่วมกับ Selenium Webdriver โดยเฉพาะ Chrome Webdriver และเขียนการทดสอบโดยใช้ Javascript ขณะนี้ฉันนิ่งงันกับส่วนหนึ่งของโค้ดที่ดูเหมือนจะใช้งานไม่ได้ ฉันกำลังพิมพ์ค่าภายในช่องป้อนข้อมูลโดยใช้ฟังก์ชัน send.Keys ซึ่งทำงานได้ดี แต่ดูเหมือนจะไม่สามารถคว้าค่านั้นได้และตรวจสอบว่าเป็นค่าที่ฉันต้องการหรือไม่... จากนั้น console.log ว่าตัวเลขนั้นหรือไม่ ถูกต้องหรือไม่

สมมติว่าฟังก์ชัน send.Keys อยู่ในประเภท 5 แต่ค่าที่ถูกต้องควรเป็น 10 ฉันจะเขียนการทดสอบที่คว้าค่าที่พิมพ์และเปรียบเทียบกับค่าที่ถูกต้องได้อย่างไร จากนั้น console.log จะเขียนข้อความที่ระบุว่าค่านั้นหรือไม่ ถูกต้องหรือไม่... ฉันติดเรื่องนี้มาหนึ่งวันแล้วและต้องการความช่วยเหลือจริงๆ ฉันพบ 0 เอกสารเกี่ยวกับเรื่องนี้ ฉันไม่รู้ว่าฉันจำเป็นต้องใช้การยืนยันอย่างอื่นเพื่อให้สิ่งนี้ใช้งานได้หรือไม่ แต่ทุกสิ่งที่ฉันได้ลองไปแล้วกลับล้มเหลว

ฉันกำลังทดสอบตัวเลขที่แตกต่างกันสองสามตัว... ตัวเลขต้องน้อยกว่าหรือเท่ากับ 100 แต่มากกว่า 0 นอกจากนี้อินพุตต้องเป็นตัวเลขด้วย ฉันไม่รู้ว่าจะต้องเขียนแบบทดสอบนี้อย่างไร ดังนั้นความช่วยเหลือใดๆ ก็ได้รับการชื่นชม... ขอบคุณ!

นี่คือโค้ด: https://gist.github.com/anonymous/89a84dbc15ba4088719400be1f359045


comment
ตรวจสอบข้อความที่พิมพ์ในข้อความอินพุต - Selenium ที่เป็นไปได้   -  person DebanjanB    schedule 06.03.2018
comment
ฉันแก้ไขสิ่งนี้ได้อย่างโชคดี   -  person MXM97    schedule 06.03.2018


คำตอบ (1)


คุณไม่จำเป็นต้องทดสอบอินพุตด้วยตัวเอง ซีลีเนียมได้สร้างวิธีการตรวจสอบการยืนยันอย่างดีเพื่อทำการทดสอบ

ใช้ assert.equal('tested string', textValue); และบางครั้งคุณอาจต้องรอก่อนที่จะคัดลอกสตริงข้อความหลังจากส่ง

person Wisani Salani    schedule 06.03.2018
comment
ฉันคิดว่ามันจะเป็นวิธีการยืนยัน แต่อย่างไรก็ตาม คุณสามารถอธิบายให้ฉันฟังได้ว่าฉันจะวางการยืนยันนั้นไว้ที่ใดในโค้ดของฉัน นี่เป็นครั้งแรกที่ฉันใช้ Selenium น่าเสียดายที่... - person MXM97; 06.03.2018
comment
หลังจาก SendKey() คุณสามารถทำได้ String value = elements.getById(#id).getAttribute("value"); Assert.assertEquals("Some text", value); คุณจะต้องศึกษาชื่อ/วิธีการเทียบเท่าจาวาสคริปต์จริง - person Wisani Salani; 06.03.2018
comment
สิ่งนี้จำเป็นต้องอยู่ในฟังก์ชั่นหรือไม่? หรือฉันจะต้องใช้ .then() ? - person MXM97; 06.03.2018
comment
[1]: i.stack.imgur.com/WenoV.png ฉันเข้าใจสิ่งนี้ เกิดข้อผิดพลาดเมื่อทำเช่นนั้น - person MXM97; 06.03.2018
comment
.then() จะทำ - person Wisani Salani; 06.03.2018
comment
[1] -> แสดงว่าคุณได้เลือกรายการที่ไม่ถูกต้อง ตรวจสอบการเลือก CSS ของคุณอีกครั้ง - person Wisani Salani; 06.03.2018