Ana içeriğe atla

Web Sayfasının İlgili Kısmındaki Linkleri Alma, Linklere Tıklama

  • Burada instagramda belirtilen kısımdaki yani footerdaki linklere tıklanıyor. İki test koşumu arasında sayfadaki linkler değişir ihtimaliyle koddaki box elementine tekrar sayfanın ilgili kısmındaki linkler atanıyor.

Örnek Kod:
public void test() throws InterruptedException {
driver.get(BaseUrl);
String anasayfa = driver.getWindowHandle();

WebElement box = driver.findElement(By.xpath("/html/body/span/section/footer"));
List<WebElement> links = box.findElements(By.tagName("a"));
System.out.println(links.size());
Thread.sleep(2000);

//her linkin metnini alıyoruz
for(int i =0; i<links.size(); i++)
{
System.out.println(links.get(i).getText());

Set<String>TabListesi = driver.getWindowHandles();

for (String child:TabListesi)
{
if(child.equalsIgnoreCase(anasayfa))//tab anasayfaya esitse
{

driver.switchTo().window(anasayfa) ;
links.get(i).click();

//Bu kodu tekrar etmemim sebebi eğer sayfa güncellendiyse ve linkler değiştiyse iki test koşumu arasında yeni listeyi almak
driver.get(BaseUrl);
box = driver.findElement(By.xpath("/html/body/span/section"));//burada sayfanın istediğiniz kısmını alabilirsiniz. istediğiniz kısmındaki linkleri box elementine atayabilirsiniz.
links = box.findElements(By.tagName("a"));
System.out.println("*****************************************");

}
}
}
}}

Yorumlar

Bu blogdaki popüler yayınlar

Selenium - XPath Kodları

XPath, XML Path Absolute XPath: root node u verir ve / ile başlar Elementin path inde herhangi bir değişiklik yapılırsa, test kodu hata verir. Örn:  html/body/div[1]/section/div[1]/div/div/div/div[1]/div/div/div/div/div[3]/div[1]/div/h4[1]/b Relative XPath: xml dokümanındaki elementi verir ve // ile başlar Örn : //*[@class='featured-box']//*[text()='Testing'] XPath Kombinasyonları: Belli bir tagin belli bir attribute değeri ile kullanımı Herhangi bir tag in belli bir attribute değeri ile kullanımı "and" operatörü "or" operatörü Belirli bir değer ile başlayan attribute Metnin bir kısmını içeren attribute Sadece text() Herhangi bir attribute un değeri Belli Bir Tag'ın Belli Bir Attribute Değeri ile Kullanımı (Specific tag with specific attribute value) Html Kodu < input   id = "Lid"  .....   > input:tag adı (etiket adı) id : attribute Lid : attribute değeri Selenium Kodu driver.findElement(By.x...

Cypress Notlar-1

 Notlar npm (node package manager), javascript betik dili için geliştirilmiş olan ve Node.js'in standart olarak kabul ettiği bir paket yönetim sistemidir. npm komut satırından çalıştırılır ve uygulamalar için bağımlılık yönetimi sağlar.   npm'yi yükleyip cypress'i yüklemeyi tavsiye ediyorlar. Cypress'i yazdığınız kodun içine yükleyin. npm install -D cypress   Yüklendikten sonra cypress npx cypress open, cypress in test runner ını açıyor.    Cypress için hangi IDE'yi kullandığınız önemli değil ama genelde Visual Studio Code kullanılıyor.   Cypress la test yaparken güvenlikle alakalı hata alırsan cypress.json dosyasına aşağıdaki yazılır. { "chromeWebSecurity" = false }    Buraya hep aynı url ye gideceksen baseURL olarak tanımlama yapabilirsin. Açılacak tarayıcının boyutunu buradan ayarlayabilirsin.    Fixtures klasörüne kodunda kullanacağın sabit veriyi yazabilirsin. Yeni bir json dosyası oluşturup aşağıdaki gibi ekleyebilirsin. (swagla...