2013-11-04 22 views
6

Java ortamından .NET'e geçiyorum ve bir sayfa nesnesi modeli kullanarak Webdriver testlerini yazmamız gerekiyor.Java Webdriver @Findby eşdeğer C# sürümü nedir?

Java aşağıdaki ek açıklama kullanırım yılında

:

@FindBy(linkText = "More details") 
WebElement moreDetailsButton; 

birisi nasıl C# kullanarak bir WebElement tanımlamak için bana söylemek mümkün duyarız? Ayrıca, PageFactory.initElements aynı şekilde mi kullanılıyor?

Teşekkür Steve

+0

Bu daha önce cevaplandırılmıştır, http://stackoverflow.com/questions/12592455/findby-annotation-used-to-find-a-list-of-webelements –

+2

@ Karl-JohanSjögren, tam olarak değil, bu soru Özellikle 'IWebElement' listesinin bir 'Listesi' ve ayrıca artık kullanımdan kaldırıldığı kadar eski bir sorun var. .NET API'sinde bu öznitelik için doğrudan bir çeviri var. – Arran

+2

Daha fazla okursanız, o sorunun ilk paragrafını görürsünüz, ilk cevapta FindBy'ye bir çözüm olduğunu görebilirsiniz. –

cevap

7

Evet, doğrudan çeviri yoktur.

Sen FindsBy arıyoruz:

public class LoginPage 
{ 
    private IWebDriver _driver; 

    public LoginPage(IWebDriver driver) 
    { 
     _driver = driver; 
     PageFactory.InitElements(_driver); 
    } 
} 
: PageFactory.initElements gelince

[FindsBy(How = How.LinkText, Using = "More details")] 
private IWebElement moreDetailsButton; 

, evet, genellikle , Sayfa Nesne yapıcı olarak adlandırılan NET'te çok benzer bir şey

Selenium projesinin tamamen açık kaynak olduğunu unutmayın. Kaynağı kolayca Sayfa Nesneleri 'yardımcısı' sınıfları here görebilirsiniz.

+0

Cevabınız için teşekkür ederiz. Sadece kendi sorumu aynı anda burada yanıtlamayı başardım. [Link] (http://selenium.googlecode.com/git/docs/api/dotnet/index.html) – CynicalBiker