好吧,你的語法不正確。 ..
看樣子,你想東西放在一個名爲「頁面」的變量,但我不知道如果我能找出你的意圖。
如果您試圖將頁面對象放入var頁面,您需要使用set語句(向vbscript表明它將持有一個對象,而不僅僅是一段數據)。 ..
無論如何,您指定頁面的語法是錯誤的。
在你的榜樣,你指定一個所謂的瀏覽器測試對象「歡迎:水星之旅」從資源庫......但那麼你就把。第 - 而這也正是你的語法錯誤是。
它有助於瞭解測試對象和實時對象之間的差異 - 因爲你需要指定頁面的測試對象。你可以通過從Object Repository中指定一個頁面對象來實現這一點,或者你可以用描述性的方式來做到這一點。
測試對象是QTP試圖找到的真實對象的描述。如果它成功地找到了與描述相匹配的真實對象,那麼測試對象(虛擬)就會「附着到」真實對象...然後,您可以使用測試對象來查詢真實對象的真實屬性附屬於。
因爲你明明在做教程,你的對象庫可能在瀏覽器對象下的heiarchy中有一個頁面測試對象......(如果你讓Intellisense幫忙,它會顯示一個頁面列表當你輸入...時選擇)。如果是的話,你會指定頁面對象是這樣的:
Browser("Welcome: Mercury Tours").Page("PageObjectNameHere")
如果您更喜歡使用描述性的節目,你可以改爲輸入像:
Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours")
你的語法更改到這類結構的將讓你解決你的問題的下一個部分進行 - 如何從頁面獲取一些數據...
所以,一旦你有正確的解決網頁測試對象,那麼你可以指定一個方法,從獲取信息它...比如.GetROProperty()
您可以從多個屬性中選擇一個頁面...如果您檢查使用GUISPY的頁面時,它幾乎讓你可以查詢...例如,如果你想查詢時顯示的頁面的URL屬性的列表,你可以指定
Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours").GetROProperty("url")
這當然會返回一個值,所以你想用它做什麼...喜歡它賦值給一個變量
result = Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours").GetROProperty("url")
(如果你這樣做,你就可以添加變量「結果」的手錶列表...它回答你的問題。)
或直接在你的代碼中檢查它
if Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours").GetROProperty("url") = url_to_compare then DoSomething()
我希望這可以幫助清理你的理解:)
很好解釋!謝謝。我完全錯過了Dim和Set之間的區別,謝謝! – Kai
是的,Dim和Set具有完全不同的用途...... Dim(維度)將聲明變量的名稱,併爲其留出記憶。如果你使用「Option Explicit」,那麼你必須爲每個變量使用Dim語句。這對於非常大的腳本很有用,因爲如果您嘗試使用未聲明的變量名稱(即,捕獲拼寫錯誤),則會引發錯誤。如果沒有選項顯式,變量名中的拼寫錯誤很難找到。 Set語句用於必須將對象分配給變量的情況。 (即「a = 5」與「set a = browser(」ie「)」) –