2016-04-14 19 views
1

Yapmaya çalıştığım şey, herhangi bir sınıfta "Glennville, GA" içerip içermediğini görmek için bir sınıf bulmak ve bu sınıftaki tüm p etiketlerinde arama yapmak için İletkeni kullanmanın bir yolunu bulmaktır. Sınıfta arama yapmak, sınıfta p etiketi bulmak ve metnin bir kısmını doğrulamak için İletkiyi nasıl kullanabilirim?

Bu

benim Spec dosyasında yapmaya çalıştığımız şey bu: Esasen

it('should filter results by location', function() { 
    browser.driver.wait(function(){ 
     return browser.driver.isElementPresent(by.id('jobLocationFilter')); 
    }); 
    browser.driver.findElement(by.id('jobLocationFilter')).click(); 
    browser.driver.findElement(by.css('[value="5"]')).click(); 
    browser.driver.wait(function() { 
     return browser.driver.isElementPresent(by.css('[class="Title"]')); 
    }); 
}); 

, ben açılır menü bir seçenek seçilirse ne yaptık ve ben bir bekliyoruz yazmaya gerek Bu seçeneği belirlediğimi doğrular. Bunu yapmanın farklı bir yolunu denedim, ama benim için işe yarayan birini bulamıyorum.

<div class="jobEntry"> 
    <span class="Title"> 
     <a href="/rewrite_your_future/job_postings/122">Lead QA Test Engineer</a> 
    </span> 
    <p>Lead QA Engineer Glennville, GA</p> 
</div> 

Bunu nasıl yapmanız gereken yapmaya kod yazmak için:

Bu benim ile çalışıyorum HTML nedir? Bunu çözemedim.

Oh, ve bu yardımcı olursa benim .conf dosyasıdır:

exports.config = { 
framework: 'jasmine', 
seleniumAddress: 'http://localhost:4444/wd/hub', 
specs: ['spec.js'] 
} 

cevap

0

Ben element.all() + filter() ve sonunda kontrol kullanmak count(): jobEntry sınıf tektir

var desiredElements = element.all(by.css("div.entry p")).filter(function (elm) { 
    return elm.getText().then(function (text) { 
     return text.indexOf("Glennville, GA") >= 0; 
    }); 
}); 
expect(desiredElements.count()).toBeGreaterThan(0); 
+0

Teşekkürler şimdi deneyeceğim – AP1

+0

Bunu denedim ve daha önce görmediğim bir hata aldım. Başarısız: Sınıf kurucular 'yeni' olmadan çalıştırılamaz. Bunun ne anlama geldiğini biliyor musun? – AP1

+0

@ AP1 iyi, eminim bu teklif ettiğim kodla ilgili değil. Önerilen çözümü nasıl uygulamaya çalışıyorsunuz? – alecxe

0

eğer ve İçinde sadece bir p etiketi var, aşağıdakileri yapmalısınız:

(item (by.css ('[class = "jobEntry"]')) . Element (by.tagName ('p')) getText()) toContain ('Glennville, GA');