ทดสอบการเลื่อน

ในแอปพลิเคชันเชิงมุมของฉัน ฉันมีหน้าเว็บที่มีลิงก์นำทางที่ด้านข้าง ซึ่งเมื่อคลิกแล้ว จะเลื่อนหน้าเว็บลงไปที่องค์ประกอบที่ตรงกัน

ฉันจะเขียนการทดสอบ e2e สำหรับสิ่งนี้ในไม้โปรแทรกเตอร์ได้อย่างไร มีบางอย่างเช่น "คว้า h1 ที่มองเห็นได้ตัวแรก" หรืออะไรทำนองนั้นหรือไม่?


person bioball    schedule 10.06.2014    source แหล่งที่มา


คำตอบ (3)


คุณสามารถใช้ window.pageYOffset ของ javascript สำหรับสิ่งนี้ นี่คือวิธีที่ฉันทำในกรณีทดสอบของฉันเอง:

    browser.driver.sleep(2000);
    browser.executeScript('return window.pageYOffset;').then(function(pos) {
        expect(pos).to.be.at.most(100);
    });

โดยที่ 100 คือตำแหน่งที่ฉันคาดหวัง

หมายเหตุ: ฉันใช้มอคค่าและชัยแทนดอกมะลิ ดังนั้นเพียงเปลี่ยนบรรทัดสุดท้ายตามลำดับ นอกจากนี้ ฉันกำลังรอ 2 วินาทีเพื่อให้การเลื่อนเสร็จสมบูรณ์

person Priyanshu Chauhan    schedule 31.03.2015
comment
คุณเพิ่งบันทึกวันที่นี่ :) - person germanio; 25.03.2016

คุณควรจะสามารถคว้าองค์ประกอบ h1 แรกที่อยู่ในหน้าเว็บที่มีลักษณะดังนี้:

$$('h1').first().getText().then(function (h1Txt) {
  expect(h1Txt).toEqual('Correct h1 text');
});

หรือใช้ดัชนีเฉพาะเพื่อค้นหา h1 ที่ถูกต้อง:

$$('h1').then(function (h1tagList) {
  var h1Text = h1tagList[0].getText();
  expect(h1Text).toEqual('Correct h1 text');
});

หากไม่ปรากฏบนเพจในขณะที่พยายามอ่านข้อความ ก็ควรเกิดข้อผิดพลาด เช่น องค์ประกอบที่ไม่สามารถเข้าถึงได้ หรืออะไรทำนองนั้น

person willko747    schedule 24.07.2014

คุณสามารถใช้ฟังก์ชันเลื่อนลงได้อย่างง่ายดาย:

var filter = browser.findElement(by.id('idvalue'));
var scrollIntoView = function () {
arguments[0].scrollIntoView();
}
browser.executeScript(scrollIntoView, filter);
person Ziwdigforbugs    schedule 12.06.2014
comment
นั่นไม่ใช่สิ่งที่ฉันกำลังมองหา หน้าเว็บจะเลื่อนโดยอัตโนมัติเมื่อมีการคลิกลิงก์ และฉันต้องการตรวจสอบเพื่อให้แน่ใจว่าตำแหน่งการเลื่อนนั้นถูกต้อง - person bioball; 12.06.2014