public override bool TryGetMember(GetMemberBinder binder, out object result)
{
Type pageType;
bool isPageRegistered = _pageObjects.TryGetValue(binder.Name, out pageType);
if (isPageRegistered)
{
//this needs to be extracted out into it's own method that can be replaced by users if desired
var createdPage = (PageObject)Activator.CreateInstance(pageType);
createdPage.WebDriver = this.WebDriver.Value;
createdPage.Url = this.BaseUrl;
//TO DO: Make wait timeout configurable
createdPage.Wait = new WebDriverWait(this.WebDriver.Value, new TimeSpan(0,0,10));
PageFactory.InitElements(this.WebDriver.Value, createdPage);
result = createdPage;
return isPageRegistered;
}
else
{
return base.TryGetMember(binder, out result);
}
}