Ana içeriğe atla

Kayıtlar

Eylül, 2019 tarihine ait yayınlar gösteriliyor

Failed to connect to repository : Error performing command: git.exe ls-remote -h

Jenkins'de yeni projeniz için konfigürasyon ayarında, kaynak kod yönetim aracı olarak seçtiğiniz (scm, source control management) Git için Repository URL eklerken bu hatayı alıyorsanız ve Git bilgisayarınızda yüklüyse Jenkins ana ekrana gelin Jenkins'i Yönet'e tıklayıp  http://localhost:8080/manage  adresine gelin. Global Tool Configuration'a tıklayıp  http://localhost:8080/configureTools/  adresine gelin. Git kısmında "Add Git" butonuna tıklayın. Name kısmına "Git", Path to Git executable kısmına da indirmiş olduğunuz Git'in exe sinin bulunduğu konumu sonu ".exe" bitecek şeklinde girin. (Örn:C:\Program Files\Git\bin\git.exe) En alttaki "Apply" ve "Save" tuşlarına sırayla basın. Daha sonra yeni projenizin konfigürasyon ayarına Git Repository Url i girdiğinizde aynı hatayı almadığınızı görmelisiniz.

Selenium Actions Sınıfını Kullanarak Klavye ve Fare İşlemleri

Karmaşık kullanıcı hareketlerini (sağ tıklama, iki kere tıklama, sürükleme,...) taklit etmek için kullanılan API. Doğrudan Klavye veya Fare kullanmak yerine bu sınıf kullanılır. Build patternini uygular: yöntem çağrıları tarafından belirtilen tüm eylemleri içeren bir CompositeAction oluşturur. Kullanıcı hareketlerini uygulayan fonksiyonları kullanmak için Actions ve Action sınıfını import etmek gerekir: Actions sınıfı ve Action sınıfı, WebDriver API'sinin org.openqa.selenium.Interactions paketinde bulunur. import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.interactions.Action; Yöntemlerini kullanmaya çağırmak için Actions sınıfı nesnesine ihtiyaç vardır.  Actions actions = new Actions(WebDriver nesnesi); Üzerinde işlem yapılacak elementi bulmak gerekiyor. WebElement webElement = driver.findElement(...);  actions.contextClick(webElement).perform(); //contextClick, element üzerinde sağ tıklar. Bu sınıfının bazı fonksiyonları:

Drop Down List

Drop-Down Box'ı kontrol etmek için en başta iki şey yapmak gerekir: org.openqa.selenium.support.ui.Select paketini import etmek drop-down box' ı, "Select"  objesi olarak tanıtmak Drop Down'daki en yaygın yöntemler: selectByVisibleText()/ deselectByVisibleText() görünen text e göre bir değer seçer/seçili özelliğini kaldırır selectByValue()/ deselectByValue() "value" değerine göre seçer/ seçili özelliğini kaldırır selectByIndex()/ deselectByIndex() indexine göre seçer/seçili özelliğini kaldırır isMultiple() drop-down bir kerede birden fazla değer seçtiriyorsa TRUE döndürür, aksi halde FALSE döndürür, parametre istemez deselectAll() Bütün seçili değerleri kaldırır Bir web sayfasına kayıt olurken ülke seçeneğinden değer seçiyor olun, kodu aşağıdaki gibi olmalıdır:         driver.get("http://...");         Select drpCountry = new Select(driver.findElement(By.name("country")));         drpCountry.sele

NoSuchElementException()

"Firepath" ya da "Inspect Element" seçeneğini kullanarak kullandığınız locatorın değerini web sayfasındaki değer ile karşılaştırın. Bazı değerler dinamik olup sayfa her açıldığında farklı değer alabilir. Bu durumda daha karmaşık fakat güvenilir olan By.xpath() ya da By.cssSelector() yöntemini kullanın. Bazen de bu hata bekleme sorunundan kaynaklanabilir. Web Driver, sayfa tam olarak yüklenmeden kodunuzu çalıştırıyor olabilir. Bu durumda da findElement() fonksiyonunuzdan önce wait ile bekleme süresi ekleyebilir, implicit ya da explicit wait fonksiyonlarını kullanabilirsiniz.

Maven Test Kodu Çalıştırma

Maven'de tek bir test yöntemi çalıştırmak için komutu şu şekilde sağlamanız gerekir: mvn test -Dtest=TestCircle#xyz test TestCircle, test sınıfı adıdır ve xyz, test yöntemidir. Joker karakterleri de çalışır; hem yöntem adına hem de sınıf adına. Çok modüllü bir projede test yapıyorsanız, testin -pl <module-name> ile olduğu modülü belirtin. ************************ Aşağıdaki sözdizimini kullanarak belirli test sınıflarını ve yöntemlerini çalıştırabilirsiniz: tam paket: mvn testi -Dtest = "com.Oracle.tests. **" bir sınıftaki tüm yöntem: mvn testi -Dtest = CLASS_NAME1 tek sınıftan tek yöntem: mvn testi -Dtest = CLASS_NAME1 # METHOD_NAME1 çoklu sınıftan çoklu yöntem: mvn testi -Dtest = CLASS_NAME1 # METHOD_NAME1, CLASS_NAME2 # METHOD_NAME2

Document Object Model (DOM)

DOM D ocument  O bject  M odel kelimesinin kısaltılmasından gelir ve Türkçe karşılığı Belge Nesne Modelidir. DOM,  HTML, XML  gibi belgelerin diğer programlama dilleri veya script dilleriyle iletişim kurabilmesini sağlamak için geliştirilmiş bir arabirimdir. Programlama dillerinde sıkça karşımıza çıkan  Object Oriented  yaklaşımı da bu yapıya benzerdir. Object Oriented yaklaşımında kullandığımız nesneler yada sınıflar, DOM yapısına göre bir HTML sayfası içerisinde bulunan  etiketleri (tag)  kapsar. HTML sayfasında bulunan  <head>, <body>, <h1>, <img>  gibi etiketler birer DOM nesneleridir. DOM sayesinde  HTML  veya  XML  elemanları ile programlama veya script dilleri arasında haberleşme sağlayarak daha etkileşimli web siteler yapılabilmesini sağlanır. DOM,  Javascript, PHP, ASP, Java  vb. birçok dile destek verir. DOM'daki nesneye ulaşmak için 4 yol var: getElementById Sadece bir elementi getirir. O da id sini belirttiğiniz elementtir.

Explicit Wait

Explicit Wait Explicit wait, Web Driver a belli şartlarda ( Expected Conditions ) " ElementNotVisibleException " hatası vermeden önce en çok ne kadar beklemesi gerektiğini söyler. Explicit wait kullanırken " ExpectedCondtions " ı da kullanmalıyız ya da belirttiğimiz durumu Fluent Wait kullanarak ne kadarda bir kontrol edeceğimizi belirtmeliyiz .  public class AppTest { protected WebDriver driver; @Test public void tutorials() throws InterruptedException { System.setProperty ("webdriver.chrome.driver",".\\chromedriver.exe" ); driver = new ChromeDriver(); WebDriverWait wait=new WebDriverWait(driver, 20); String eTitle = "Blogger.com - Benzersiz, göz alıcı bir blog hazırlayın. Hizmetimiz ücretsizdir ve kullanımı kolaydır."; String aTitle = "" ; // launch Chrome and redirect it to the Base URL driver.get("https://www.blogger.com/about/?r=1-null_user" ); //Maximizes the browser window driver.

Basit Selenium Grid Çalıştırma

https://www.seleniumhq.org/download/ adresinden Selenium Standalone Server ı indir. Kodun olduğu klasöre jar dosyasını ekle. cmd ile terminal aç. java -jar selenium-standalone-server-xxxx.jar -role node     yaz. Başka terminalde  java -jar selenium-standalone-server-xxxx.jar -role hub    yaz. Tarayıcıdan localhost:4444 baktığında çalıştığını görmelisin.

Git Komutlar

Localdeki branch ını remote daki git reposuna gönderme: ilgili kodun olduğu dizinde Brancha geç: git checkout -b branchadi Dosyaları ekle: git add . remote olarak ekle: git push origin branchadi branch oluşturma: git checkout branch "branchadi" branchleri listeleme: git branch branch değiştirme: git branch "branchadi"