1つのシナリオでクロスブラウザのテストを行う
Visual Studioのプラグインとして組み込めるSilk4NetのVB.NETを使い、1つのテストシナリオを利用してInternet Explorer、Firefox、Google Chromeのクロスブラウザテストを行うサンプルスクリプトです。
Imports System
Imports System.Collections.Generic
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports SilkTest.Ntf
Imports SilkTest.Ntf.XBrowser
<SilkTestClass()> Public Class UnitTest1
Private ReadOnly _desktop As Desktop = Agent.Desktop
<TestMethod()> Public Sub xBrwoserTestIE()
RunBrowserTest(BrowserType.InternetExplorer)
End Sub
<TestMethod()> Public Sub xBrwoserTestChrome()
RunBrowserTest(BrowserType.GoogleChrome)
End Sub
<TestMethod()> Public Sub xBrwoserTestFF()
RunBrowserTest(BrowserType.Firefox)
End Sub
Private Sub RunBrowserTest(ByVal 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))
Assert.AreEqual("USD 1.270,00", .DomElement("//B[@textContents='USD 1.270,00']").Text)
.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
免責事項
ここで紹介したスクリプトは説明のためのサンプルであり、製品の一部ではございません。スクリプトが実際に動作するか、御社業務に適合するかなどに関しまして、一切の保証はございません。
スクリプト、説明、その他すべてについて、無謬性は保障されません。
ここで紹介するスクリプトの一部、もしくは全部について、弊社に断りなく、御社スクリプトの内部に組み込み、そのままご利用頂いても構いません。
本スクリプトの一部もしくは全部を二次的著作物に対して引用する場合、著作権法の精神に基づき、適切な扱いを行ってください。