軟件測試工具QTP中對識別為WebElement的對象進行輸入操作的一種解決辦法

發表于:2009-07-06來源:作者:點擊數: 標簽:qtpQTPQTP教程
QTP中對識別為WebElement的對象進行輸入操作的一種解決辦法 qtp 教程 在設計自動化框架的過程,發現了一些被QTP識別為WebElement的對象,需要對其進行輸入操作;而WebElement只有click方法,是沒有輸入的方法的。 考慮了實際中確實需要具有這種輸入的支持(比

QTP中對識別為WebElement的對象進行輸入操作的一種解決辦法   qtp教程

在設計自動化框架的過程,發現了一些被QTP識別為WebElement的對象,需要對其進行輸入操作;而WebElement只有click方法,是沒有輸入的方法的。
    考慮了實際中確實需要具有這種輸入的支持(比如利用js生成的輸入框,比較常見的是HTML編輯器輸入框),就著手去解決。找到了一種解決辦法:利用WshShell對象的SendKey方法來實現。在網上找了個html代碼編輯器的實例,實現具體代碼如下:

Option Explicit

Dim oWin32

Set oWin32 = CreateObject(\"wscrīpt.shell\")

oWin32.Run(\"http://www.ewebeditor.net/demo/\")

’由于html編輯器輸入框沒有找到穩定的屬性用于識別,QTP錄制時也沒有錄下對其操作,所以采用先將焦點移到其上一個對象,再按tab移動焦點到html編輯器上
Browser(\"title:=.*eWebEditor\").page(\"title:=.*eWebEditor\").WebList(\"name:=select\",\"index:=0\").FireEvent \"onfocus\"
’對IE窗口模擬鍵盤輸入操作
 With oWin32
  .sendkeys \"{TAB}\"
  wait 2
  .sendkeys \"ksadjflonfocusksjdlemowstitlitoWebLeEvenfocusonfocusonfocusonfocusonfocusonfocusonfocusdsjflkjdsklfjlkdsjf\"
 End With

    以上是我想到的一種實現方式,也是目前正在使用的方式。但只是一個不得已的解決方法——因為這種方式是很脆弱的,焦點變動,甚至一個Windows消息提示都可能使腳本失敗。

    歡迎交流更好的解決思路!

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

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