Protractor: cara membaca nilai teks suatu elemen

Dibuat pada 3 Okt 2013  ·  3Komentar  ·  Sumber: angular/protractor

Saya mencoba membaca nilai teks dari elemen pengikat. Saya telah menggunakan fungsi getText() untuk membaca nilai teks elemen tetapi tidak berfungsi. Apakah ada cara lain untuk melakukannya?

ptor = busur derajat.getInstance();
ptor.get('http://www.angularjs.org');

ptor.findElement(protractor.By.input("yourName")).sendKeys("Julie");

var salam = ptor.findElement(busur derajat.By.binding("{{namaanda}}!"));

console.log(salam.getText());

Komentar yang paling membantu

@vishalshivnath Silakan periksa dokumentasi untuk informasi tentang cara kerja webdriver dan busur derajat - tindakan busur derajat mengembalikan janji, jadi Anda mungkin adalah objek janji.

@tennisgent Ada kekhasan webdriver aneh yang getText() selalu kosong untuk elemen <input> . Coba lakukan userNameInput.getAttribute('value') sebagai gantinya.

Semua 3 komentar

Saya mengalami masalah yang sama. Saya baru saja menjalankan dan menjalankan busur derajat tetapi sepertinya saya tidak bisa mengeluarkan data dari elemen input. Tes saya adalah:

it('should allow text entry into the userName field', function(){
    userNameInput = ptor.findElement(protractor.By.input('user.userName'));
    userNameInput.sendKeys(testUserName);
    expect(userNameInput.getText()).toEqual(testUserName);
});

tetapi tes gagal dengan:

1) Tes Masuk Masuk harus memungkinkan entri teks ke bidang NamapenggunaPesan:Diharapkan '' sama dengan 'xacttester'.

Saat saya menonton tes (dengan memperlambatnya dengan ptor.driver.sleep(2000) ), saya melihatnya memasukkan teks ke dalam bidang, tetapi kemudian ketika ia memanggil getText() , ia mengembalikan string kosong.

Adakah yang punya ide tentang apa yang saya lakukan salah?

@vishalshivnath Silakan periksa dokumentasi untuk informasi tentang cara kerja webdriver dan busur derajat - tindakan busur derajat mengembalikan janji, jadi Anda mungkin adalah objek janji.

@tennisgent Ada kekhasan webdriver aneh yang getText() selalu kosong untuk elemen <input> . Coba lakukan userNameInput.getAttribute('value') sebagai gantinya.

apakah boleh menggunakan $ daripada browser.findElement',

  it('should return the same result as browser.findElement', function() {
    browser.get('index.html');

   // var e = element(by.id('new_todo'));
    var e = $('#new-todo');
    e.sendKeys("foo");

    expect(e.getAttribute('value')).toEqual(
      "foo")
  });
Apakah halaman ini membantu?
0 / 5 - 0 peringkat