QTP使用心得淺談

發表于:2012-07-24來源:Csdn作者:tulituqi點擊數: 標簽:qtp
上次的第一點其實就是描述式編程,有時候描述式很方便,不過有時候也不方便,比如我下面遇到的問題。當然,這幾天還碰到一個日歷控件,開始用了笨方法,今天發現好的方法了,拿來分享一下。

  上次的第一點其實就是描述式編程,有時候描述式很方便,不過有時候也不方便,比如我下面遇到的問題。當然,這幾天還碰到一個日歷控件,開始用了笨方法,今天發現好的方法了,拿來分享一下。

  QTP心得2

  4.ChildObjects的妙用

  問題現象:

  1) 頁面上有一個下拉列表WebList,會根據一個比較隨機的條件變為可用或不可用,可用的時候需要選擇下拉的選項,郁悶的是可用和不可用的時候控件的name不一樣。如果用exist去判斷,雖然可以,但是總會出warning。

  2) 頁面上有2個按鈕WebButton,一個確定一個返回,他們的name、text等很多屬性值都是一樣的(我想XX了那個開發),不同的地方是一大串字符,他把點擊按鈕調用的函數,style等等很多東西都寫在里面,如果用描述式去判斷我覺得很麻煩。我后來用了坐標,結果窗口位置一變就識別不到了。

  解決辦法:

  上面兩種問題其實都需要另外一種識別控件的方法,常用的幾種都無法行得通。于是在查看幫助的時候發現了這個ChildObjects,返回對象中包含的子對象的集合。忽然覺得這個很有用,正好有示例,如下:

  Sub ChildObjects_Example()

  'The following example uses the ChildObjects method to find all the

  'list objects on a Web page, and then to select an item in each list.

  Set oDesc = Description.Create()

  oDesc("micclass").Value = "WebList"

  Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)

  NumberOfLists = Lists.Count()

  For i = 0 To NumberOfLists - 1

  Lists(i).Select i + 1

  Next

  End Sub

  突然我就想發現了新大陸一樣,只要返回了一個同類型的對象集合,然后用這個集合來定位到我要的控件。這里只要判斷他是集合里的第幾個就行了,而我遇到的問題的控件位置都是固定的。于是使用這個方法順利解決了。

  可以說,這是另一種識別對象的方法,對于難以識別的對象來說,這個方法實在太方便了。具體解決辦法,只要根據幫助的內容稍加修改就可以了,這里簡單寫一下。

  Set oDesc = Description.Create()

  oDesc("micclass").Value = "WebButton"

  Set Lists = Browser("瀏覽器名字").Page("頁面名字").ChildObjects(oDesc)

  Lists(0).Click '我要的控件是第一個

  '另一個WebList的就是判斷那個控件的name是什么,然后就知道現在這個下拉列表是可用還是不可用,就可以繼續操作了。

  5.給disabled的控件賦值

  問題現象:

  有一個日歷控件,是一個WebEdit,WebEdit的disabled屬性是1,不可以寫,只能點擊彈出日歷框,我后來找到控件有規律的地方(這個控件的WebElement的innertext沒什么規律可言,只有html id是有規律的day0-day34,固定位置的控件的html id一樣。),寫了個函數,用描述式編程選定控件,最后得到我要的日期。今天看到另一個系統的老案例,發現人家一句代碼就搞定了。

  解決辦法:

  首先,對于disabled為1的WebEdit,不能用Set的,那樣會報錯。

  應該用:Browser("名字").Page("名字").WebEdit("名字").Object.Value = "2008-11-12"

  我實在很佩服,這個方法就是看幫助我也找不出來的,于是我就把我的都換掉了,一是怕點日歷出錯,二是覺得太慢,不如這個快。哈哈。

  俗話說久病成醫,現在問題解決的多了,自己也有信心了,在組內基本上快成高手了,大家有問題都找我去幫忙解決,說實話,遇到問題很頭疼,一定要保持冷靜,但是解決問題之后,實在是很高興,同時也積累了豐富的經驗。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97