Cumartesi, Ekim 24, 2009

selenium qooxdoo eklentisini yamalamak lazım

qooxdoo bir kez daha ömrümü tüketti. selenium ile basit bir test yazayım dedim, bir düğmeye tıklayabilme mücadelesinde kayboldum gittim.

öncelikle qooxdoo uygulamanıza selenium testi yazabilmek için şu eklentiye ihtiyacınız var. yalnız bu eklentiyi çalıştırabilmeniz için eski bir firefox ve eski bir qooxdoo versiyonu kullanmanız gerekiyor.

uzun lafın kısası, debelenmelerimin sonucu şu yama ortaya çıktı, bu şekilde firefox 3 civarı ve qooxdoo-0.8.3 için çalışıyor.

ama testlerin, derlenmiş (./ generate build) qooxdoo uygulamasında çalışmıyor olması, ve selenium qooxdoo elemanlarını bulabilsin diye koda setUserData çağrıları eklemek gerekiyor olması insanı biraz soğutuyor açıkcası.

nedir bu qooxdoo'dan çektiğim benim.

2 yorum:

  1. bu arada sıkıntı belirtilerini de yazayım, google'da arama yapan aynı dertten müzdarip insanlar bu bilgiye ulaşabilsin:

    önce şöyle hatalar alacaksınız:

    qx-Locator: qx-Object not defined. inWindow=[object XPCNativeWrapper [object Window]], inWindow.qx=undefined

    bunun sebebi firefox 3'le gelen bazı güvenlik önlemleri. "inWindow.qx"'leri "inWindow.wrappedJSObject.qx" ile değiştirince geçer.

    bunu yapınca şu hatayı almaya başlıayacaksınız:

    Unexpected Exception: message -> inWindow.wrappedJSObject.qx.ui.core.ClientDocument is undefined

    bunu çaresi de;

    "qxResultObject = inWindow.qx.ui.core.ClientDocument.getInstance();"

    satırını

    "qxResultObject = inWindow.wrappedJSObject.qx.core.Init.getApplication().getRoot();"

    ile değiştirmek. yalnız qooxdoo uygulamasının da standalone bir uygulama olması şart tabi, inspector için olduğu gibi.

    şimdi de;

    Unexpected Exception: message -> qxResultObject.getElement is not a function

    gibi bir hata almanız gerekiyor. bunu çözümü de, "qxObject.getElement()"'leri "qxObject.getContentElement().getDomElement()" ile değiştirmek.

    geriye son bir hata kalıyor:

    [error] Unexpected Exception: message -> qxResultObject.getElement is not a function

    bunun merhemi de aynı, "qxResultObject.getElement()"'leri "qxResultObject.getContentElement().getDomElement()" ile değiştiryorsunuz oluyor bitiyor.

    geçmiş olsun.

    YanıtlaSil
  2. bu arada svn'den cekerseniz selenium eklentisini, bu sikintilarin buyuk kismini yasamiyorsunuz, ama yine ellemeniz gerekiyor diye hatirliyorum.

    tabi qooxdoo 1.0 vs. de cikti bu girdiyi yaptigimdan bu yana, son durum nedir bilmiyorum.

    YanıtlaSil