Tes untuk menggulir

Dalam aplikasi sudut saya, saya memiliki halaman yang memiliki tautan nav di sampingnya, yang ketika diklik, akan menggulir halaman ke bawah ke elemen yang cocok.

Bagaimana cara saya menulis tes e2e untuk ini di busur derajat? Apakah ada sesuatu seperti "Ambil h1 pertama yang terlihat" atau semacamnya?


person bioball    schedule 10.06.2014    source sumber


Jawaban (3)


Anda dapat menggunakan window.pageYOffset javascript untuk ini. Inilah cara saya melakukannya di salah satu kasus uji saya sendiri:

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

Dimana 100 adalah posisi yang saya harapkan.

Catatan: Saya menggunakan mocha dan chai sebagai pengganti melati. Jadi, ubah saja baris terakhirnya. Saya juga menunggu 2 detik hingga pengguliran saya selesai.

person Priyanshu Chauhan    schedule 31.03.2015
comment
kamu baru saja menyelamatkan hari ini di sini. :) - person germanio; 25.03.2016

Anda seharusnya bisa mengambil elemen h1 pertama yang ada di halaman dengan sesuatu seperti ini:

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

atau gunakan indeks tertentu untuk menemukan h1 yang tepat:

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

Jika tidak terlihat di halaman pada saat mencoba membaca teks, maka akan muncul kesalahan seperti elemen tidak dapat dijangkau atau semacamnya.

person willko747    schedule 24.07.2014

Anda dapat langsung menggunakan fungsi gulir ke bawah:

var filter = browser.findElement(by.id('idvalue'));
var scrollIntoView = function () {
arguments[0].scrollIntoView();
}
browser.executeScript(scrollIntoView, filter);
person Ziwdigforbugs    schedule 12.06.2014
comment
Bukan itu yang saya cari. Halaman bergulir secara otomatis ketika tautan diklik, dan saya ingin memeriksa untuk memastikan posisi gulir sudah benar - person bioball; 12.06.2014