Ana içeriğe geç

Bir dosya yükleme

Bir <input type="file"> dosya girişini doğrudan ayarlayın — kırılgan işletim sistemi dosya seçici otomasyonu yok. BasePage bir upload(By, path) yardımcısı sunar:

UploadPage.java
import io.testfly.test.BasePage;
import org.openqa.selenium.By;

public class UploadPage extends BasePage {

public void attachResume(String path) {
upload(By.id("file-input"), path); // sets the input's value directly
click(By.id("submit"));
}
}
// From your test:
new UploadPage().attachResume("testfiles/resume.pdf"); // classpath-relative
new UploadPage().attachResume("/absolute/path/to/photo.png");
  • Yol, sınıf yoluna göre (ör. testfiles/resume.pdf) veya mutlak olabilir. TestFly yolu çözümler ve dosya yoksa net bir hata ile hızlıca başarısız olur.
  • Gizli/ekran dışı girişlerle çalışır — giriş değerini ayarlar, bu nedenle görünür bir diyalog gerekmez.
  • Çoklu yükleme için, uygulamanızın beklediği şekilde girişe ayrılmış yollar iletin veya dosya başına yardımcıyı çağırın.
ipucu

Yüklemeler bir sayfa nesnesi üzerinden gider çünkü upload(...) bir BasePage yardımcısıdır. Dosyayı src/test/resources altında tutun; böylece sınıf yoluna göre yol her makinede ve CI'da çalışır.

Daha derin referans: BasePage — sayfa nesneleri için temel sınıf ve yardımcıları.