2016-05-26 30 views
1

enter image description hereステータスバーを持つアプリケーションを自動化していて、特定のことが達成された場合は前方に移動します(緑色に変わります)。さて、私はそれが緑色に変わることを確認したい。 QTPのオブジェクトスパイはColorプロパティを表示しておらず、単にgetroproperty( "color")を書くだけでは機能しません。だから私はそれを達成するためにQTPでCSSを使用しようとしています。以下は私のコードですQTPでCSSを使用して背景色を取得する

set a = Browser("name:.*").page("title:=.*") 
    'here it highlights the correct part of the status bar 
    a.Webelement("css:=.progress-bar-success").Highlight 
    color = a.Webelement("css:=.progress-bar-success").GetROProperty ("background color") 
    msgbox color 
    'but the above msgbox returns a blank value 
    'if i replace the 3 rd line with the following 
color = a.Webelement("css:=.progress-bar-success").GetROProperty ("style/background color") 

次に、進行していない他のレコードについても、定数rgbの値(92,184,92)を返します。助言がありますか?

+0

は、ウェブ要素に '.Object'を使用してみてください、それはオブジェクトのすべてのネイティブメソッドを公開する必要があり、役に立つかもしれません? – Dave

+0

@DAVE colorプロパティはHTML自体ではなく、リンクされたCSSで記述されています。私はイメージを付けました。 – Harman

答えて

1

あなたが適切線の下にしようとWebelementにアクセスしている場合は、それが動作するはずです:

a.Webelement("css:=.progress-bar-success").Object.style.backgroundColor 
+0

試しましたが、まだ空白になっています。私は、バーの緑の部分だけを強調しているQTPのような正しいウェブ要素を確信しています。私は{。オブジェクト}で試し続けます。 – Harman

+0

もう1つの考えでは、HTML自体ではなくリンクされたCSSにcolorプロパティが記述されているので、オブジェクトを書くことが役立つかどうかはわかりません。私はHtmlの画像を添付しました。 – Harman

+0

こんにちは、あなたのHTMLのスクリーンショットを見て、あなたのサイトはブートストラップを使用しているように見えます。 divなどのようになります。 したがって、変更されない色をチェックする代わりに、aria-valuenowを使用してバーの現在のステータスを見つけることができます。 WebAlement( "...")。Object.getAttribute( "aria-valuenow") ' ...この値が100の場合は、ブラウザ(" ... ")。プログレスバーが完了するのは、毎回 – user5612655

関連する問題