SORU
9 AĞUSTOS 2011, Salı


Webdriver: selenyum c# Elemanı Günümüze Kadar Bekleyin

Bir öğe webdriver şeyler yapmaya başlamadan önce mevcut olduğundan emin olmak istiyorum.

Bu iş için böyle bir şey almaya çalışıyorum:

WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));

Başta ne kadar anynomous işlevi.. kurulum için mücadele ediyorum

CEVAP
5 EYLÜL 2011, PAZARTESİ


Çözüm Mike Kwan tarafından sağlanan kullanarak örtülü bekle FindElement aramalar kullanılacaktır beri genel test performansı üzerinde bir etkisi olabilir. Birçok kez FindElement bir unsur mevcut (bozuk sayfa, eksik elementler, vs. için deniyorsun.) olduğunda hemen başarısız. Örtülü bekle ile bu işlemleri hariç atmadan önce tüm zaman aşımı süresinin dolmasını bekle. Varsayılan örtülü bekle 0 saniye olarak ayarlanır.

Bu FindElement (saniye olarak) zaman aşımı parametre ekler İWebDriver için küçük bir uzantısı yöntemi yazdım() yöntemi. Oldukça kendi kendini açıklayıcı

public static class WebDriverExtensions
{
    public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds)
    {
        if (timeoutInSeconds > 0)
        {
            var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
            return wait.Until(drv => drv.FindElement(by));
        }
        return driver.FindElement(by);
    }
}

Kuruluşundan çok ucuz olduğu için WebDriverWait nesne önbellek bilmiyordum, bu uzantı aynı anda farklı WebDriver nesneler için kullanılabilir, ve ben sonunda gerekli iyileştirmeleri yapmak.

Kullanım düz ileri

var driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://localhost/mypage");
var btn = driver.FindElement(By.CssSelector("#login_button"));
btn.Click();
var employeeLabel = driver.FindElement(By.CssSelector("#VCC_VSL"), 10);
Assert.AreEqual("Employee", employeeLabel.Text);
driver.Close();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • michal lelkowski

    michal lelko

    9 Temmuz 2006
  • bored before i even began

    bored before

    30 Mart 2009
  • Truc Minh

    Truc Minh

    23 Ocak 2011