SilkTest 技術情報(FAQ)


1つのシナリオでクロスブラウザのテストを行う

Silk Test Workbenchの.NETスクリプト(VB.NET)を使い、1つのテストシナリオを利用してInternet Explorer、Firefox、Google Chromeのクロスブラウザテストを行うサンプルスクリプトです。
通常、スクリプト記録から行うとアプリケーション構成の基本状態がプロパティに入りますが、それを使用しないでBrowserBaseStateクラスのAPIからブラウザインスタンスを起動します。

1. ファイルメニューから「新規作成 → .NETスクリプト」、資産名「xBrowserTest」として空の資産を作成する。


以下のコーディングを行う

00321.png

2. ファイル"Main"に以下のコードを記述する

Public Module Main
	Dim _desktop As Desktop = Agent.Desktop
	
	Public Sub Main()
		CrossBrowserTest.xBrwoserTestIE()
		CrossBrowserTest.xBrwoserTestChrome()
		CrossBrowserTest.xBrwoserTestFF()
	End Sub
	
End Module

3. ファイルの追加を行い、"BrowserTest"に以下のコードを記述する

Imports SilkTest.Ntf.XBrowser

Public Class CrossBrowserTest

	Public Shared Sub xBrwoserTestIE()
        RunBrowserTest(BrowserType.InternetExplorer)
    End Sub
		
	Public Shared Sub xBrwoserTestChrome()
        RunBrowserTest(BrowserType.GoogleChrome)
    End Sub
		
	Public Shared Sub xBrwoserTestFF()
        RunBrowserTest(BrowserType.Firefox)
    End Sub
	
	Public Shared Sub RunBrowserTest(bType As BrowserType)
		Dim BrBaseState As New BrowserBaseState(bType, "demo.borland.com/InsuranceWebExtJS/index.jsf")
		Dim BrowserApp As BrowserApplication = BrBaseState.Execute()
		
		With BrowserApp
            With .BrowserWindow()
                .DomListBox("//SELECT[@id='quick-link:jump-menu']").Select("Auto Quote")
                .DomTextField("//INPUT[@id='autoquote:zipcode']").Click(MouseButton.Left, New Point(79, 7))
                .DomTextField("//INPUT[@id='autoquote:zipcode']").TypeKeys("92121")
                .DomTextField("//INPUT[@id='autoquote:e-mail']").Click(MouseButton.Left, New Point(72, 8))
                .DomTextField("//INPUT[@id='autoquote:e-mail']").TypeKeys("test@test.com")
                .DomRadioButton("//INPUT[@id='autoquote:vehicle:0']").Select()
                .DomButton("//INPUT[@id='autoquote:next']").Click(MouseButton.Left, New Point(40, 10))
                .DomTextField("//INPUT[@id='autoquote:age']").Click(MouseButton.Left, New Point(50, 10))
                .DomTextField("//INPUT[@id='autoquote:age']").TypeKeys("<Backspace>42")
                .DomRadioButton("//INPUT[@id='autoquote:gender:0']").Select()
                .DomRadioButton("//INPUT[@id='autoquote:type:1']").Select()
                .DomButton("//INPUT[@id='autoquote:next']").Click(MouseButton.Left, New Point(35, 11))
                .DomTextField("//INPUT[@id='autoquote:year']").Click(MouseButton.Left, New Point(75, 13))
                .DomTextField("//INPUT[@id='autoquote:year']").TypeKeys("<Backspace>2010")
                .DomElement("//IMG[@src='data:image/gif;base6*'][1]").Click(MouseButton.Left, New Point(10, 5))
                .DomElement("//DIV[@textContents='Toyota']").Click(MouseButton.Left, New Point(47, 6))
                .DomElement("//IMG[@src='data:image/gif;base6*'][2]").Click(MouseButton.Left, New Point(5, 12))
                .DomElement("//DIV[@textContents='Camry']").Click(MouseButton.Left, New Point(39, 8))
                .DomRadioButton("//INPUT[@id='autoquote:finInfo:1']").Select()
                .DomButton("//INPUT[@id='autoquote:next']").Click(MouseButton.Left, New Point(32, 6))
                .DomButton("//INPUT[@id='quote-result:purchas*']").Click(MouseButton.Left, New Point(36, 7))
                .DomLink("//A[@textContents='Home'][1]").Click(MouseButton.Left, New Point(51, 15))
            End With
        End With
		
	End Sub
End Class

免責事項

ここで紹介したスクリプトは説明のためのサンプルであり、製品の一部ではございません。スクリプトが実際に動作するか、御社業務に適合するかなどに関しまして、一切の保証はございません。 スクリプト、説明、その他すべてについて、無謬性は保障されません。

ここで紹介するスクリプトの一部、もしくは全部について、弊社に断りなく、御社スクリプトの内部に組み込み、そのままご利用頂いても構いません。

本スクリプトの一部もしくは全部を二次的著作物に対して引用する場合、著作権法の精神に基づき、適切な扱いを行ってください。