2016-03-14 58 views
0

我試圖讓一個網站的登陸頁面的起始頁面,例如:獲取給定的URL

www.mypage.com/
www.mypage.com/default.aspx
着陸頁 default.aspx,所以我需要的是,以確定是否加載的頁面是通過輸入URL,基本上遵循相同的:

輸入:

www.mypage.com/ = www.mypage.com/default = www.mypage.com/default.aspx
輸出繼電器:
default.aspx

所有這些出入口將用戶重定向到即起始頁的同一頁,並且網址是由...進入一個輸入字段。

任何人都可以幫我嗎?

+0

你的意思是在IIS中定義的默認文檔? 如果是的話,這是在網站級別定義 – Giox

+0

我認爲這可以用WatiN很容易地完成http://watin.org/ –

回答

0

使用WatiN您可以製作一個簡單的測試方法。像這樣的東西應該完成你想要的。

更新:我想我明白你的問題現在好一點了。我想你只是想要登陸頁面。這應該適合你。

public string GetHomePage() 
{ 
    string startURL = "http://www.mypage.com/"; 
    string[] splits = null; 

    using (var browser = new IE(startURL)) 
    { 
     string browserURL = browser.Url; 
     splits = browserURL.Split(new string[] { startURL }, StringSplitOptions.None); 
    } 

    return splits[1]; 
} 
+0

這似乎是單元測試,我可以使這個方法布爾值並從非_Testing_方法? – jagomen

+0

是的,你確定可以!刪除頂部部分,更改返回類型並聲明一個if語句。當我到達計算機時,我可以更新我的答案 –

+0

我安裝了WatiN並進行了測試,但是我無法使其工作,您知道一種獲取Url開始頁面的方法嗎?基於我自己的例子,如果我進入'www.mypage.com /'我得到'default.aspx' – jagomen

0

你可以用這個嘗試: `

string url = "http://google.com"; 
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); 
request.AllowAutoRedirect = false; 

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
{ 
    string redirect = response.Headers["Location"]; 
    if (redirect != null) 
       Console.WriteLine("Redirected to " + redirect); 
} 
+0

我試過使用這段代碼,但我總是在'redirect'變量中得到一個空值,你知道爲什麼嗎? – jagomen

+0

即使谷歌?我測試了它,它做了重定向。對於您正在測試的網站來說,它可能確實沒有做重定向。 –

+0

是的,我還測試了一個本地網站,我剛剛設置起始頁,但我得到一個空值 – jagomen