2016-03-29 26 views
2

hakkında bir iddianame yapmak için Selenium WebDriver'ı kullanın Selenium WebDrive ile bir web sayfasını test ediyorum ve bir JavaScript dosyasında bir onaylama yapmak istiyorum ancak nasıl emin olacağımı bilmiyorum.JavaScript değişkeninde

ben servers (bir dizi) 2.

Benim JavaScript config.js dosya uzunluğu olduğunu iddia istiyorum içeren ben iddia isteyen aşağıdaki dizi mevcuttur:

var location = location || {}; 
location.Config = { 
    servers: [ 
     {name: "a"}, 
     {name: "b"} 
    ] 
} 

Benim ilk girişimi oldu className kullanın, ancak hile yapmadı:

Assert.assertThat(webDriver 
     .findElement(className("config.js")) 
     .getAttribute("servers") 
     .length(), 
    Matchers.is(2)); 
+0

Dosya "config.js" sayfasının kaynağı mı? –

+0

"config.js" dosyası test edilmekte olan sitenin içindedir ve webdriver'ın siteye bir tanıtıcısı vardır. Umarım sorunuzu yanlış anlamamışımdır. – Matthew

+0

"Yürütürseniz," location.Config.servers [0] .name "tarayıcınızın konsolu olur mu? –

cevap

1

Başarı!

Tarayıcıyı çalıştırmak için bir JavaScript komutunu çalıştırmak ve sonucunu yakalamak hile yaptı.

long servers = (long) ((JavascriptExecutor) webDriver).executeScript("return location.Config.servers.length"); 

Assert.assertThat(servers, Matchers.greaterThan((long) 0)); 
İlgili konular