FOR SE

文系の学部から新卒でメーカー系のSIerに就職。技術・スキルがないためブログを通して勉強。その後、IT業界の業界知識が活かせる人材業界に就職

このエントリーをはてなブックマークに追加

【マクロ(業務効率化ツール)】 WEB開発において入力項目の多いテストをしている人へ

【今回の紹介】

■対象
 
こんな人に向けて紹介します。
 ・入力項目の多いWebシステムでテストをしなければならない。
 ・テストケースの数だけ入力が必要であり、煩雑
 ・ただエラーのない画面遷移がしたいだけなのに、試験対象の画面に行くまでに時間がかかっている
 ・同じ入力項目、同じ入力内容を繰り返し、打鍵している

【内容】

ツールの内容
 ツールの内容としては、
 エクセルのセルの値をそのままブラウザ画面の入力項目にいれるというもの。

  1.あらかじめ、決まりきった値をエクセルに入力 
  2.マクロの実行
  3.ブラウザの入力項目に値が入力される
  4.あとは送信ボタンとか各自押していただいて、登録できる
 
  といった流れ。 

  ※イメージはこんな感じ。
f:id:forsebyse:20141115084703j:plain


 これをマクロ実行を行い、


f:id:forsebyse:20141115084906j:plain



 ※あくまでプロトタイプであり、一番シンプルな部品です。
 プルダウン対応したり、セレクトボックスの対応を増やしたりは下記のソースを
 いじれば難なくできると思います。

■内部の流れ

 1.必要オブジェクトの宣言
 2.エクスプローラが開いているアプリの中から、IEが開いているかどうかを確認
 3.入力対象(今回はhtmlのidをキーに検索)へ入力内容(セルの座標を指定)の登録


■以下参考ソース

Sub a()
'①オブジェクトの宣言
    Dim objshell As Object
    Dim objwindow As Object
    Dim objIE As Object
    Set objIE = Nothing
    Dim sheetName As String
    Dim URL As String
    sheetName = "Sheet1"
    Set objshell = CreateObject("shell.application")
    
    
'②エクスプローラ開いているIEの取得
    For Each objwindow In objshell.Windows
        
        If TypeName(objwindow.Document) = "HTMLDocument" Then
            Set objIE = objwindow
            MsgBox objwindow.Document.URL
            Exit For
        End If
    Next
    If objIE = "nothing" Then
        MsgBox "IEを起動してください"
    End If
    
    
'③データの入力
    objIE.Document.getElementById("test").Value = Range("B3")
End Sub

.hatena-module:nth-of-type(10) { background: transparent; } .hatena-module:nth-of-type(10) .hatena-module-title{ display: none; } .hatena-module:nth-of-type(10) .hatena-module-body { padding: 0; }