2015-09-16 19 views
0

我正在嘗試使用Telerik Webaii測試自動化套件來測試SilverLight Web應用程序。當我的代碼打開瀏覽器並嘗試指向應用程序http地址時,會出現一個登錄憑據對話框彈出窗口。對話框是IE的一部分,即它不是JavaScript生成的彈出窗口。我想知道如何使用Webaii將焦點轉移到登錄憑證對話框彈出並輸入用戶名和密碼,然後按ENTER鍵。這是到目前爲止我的代碼(P0 =網址,P1 =用戶名,P2 =密碼,P3 =秒): -SilverLight Webaii測試自動化 - 在IE對話框中輸入用戶憑證

using System; 
using System.Windows; 
using System.Linq; 
using System.Threading; 
using ArtOfTest.WebAii.Core; 
using ArtOfTest.WebAii.Win32.Dialogs; 
using ArtOfTest.WebAii.Silverlight; 
using ArtOfTest.WebAii.Silverlight.UI; 
using NUnit.Framework; 
using TechTalk.SpecFlow; 
using Telerik.WebAii.Controls.Xaml; 
using TimeSpan = System.TimeSpan; 
using System.Collections.Generic; 

using System.Runtime.InteropServices; 
using System.Security.Principal; 
using System.Security.Permissions; 
using System.ComponentModel; 

namespace PortalTestSuite.Tests.Definitions 
{ 
    [Binding] 
    public class SmokeTestsSteps 
    { 

     private SilverlightApp _silverlightApp; 
     public Manager _browserManager; 

     [BeforeScenario()] 
     public void BeforeScenario() 
     { 


     } 

     [AfterScenario()] 
     public void AfterScenario() 
     { 
      var buttons = _silverlightApp.Find.AllByType<Button>(); 
      _browserManager.ActiveBrowser.Close(); 
      _browserManager.Desktop.KeyBoard.KeyPress(System.Windows.Forms.Keys.Enter); 
     } 

      [Given(@"I can navigate to ""(.*)"" using IE with username ""(.*)"" and password ""(.*)"" page load tolerance of (.*) seconds")] 
      public void GivenICanNavigateToUsingIEWithUsernameAndPasswordPageLoadToleranceOfSeconds(string p0, string p1, string p2, int p3) 
      { 
       var mySettings = new Settings 
       { 
        Web = { DefaultBrowser = BrowserType.InternetExplorer }, 
        ClientReadyTimeout = 60000 
       }; 
       _browserManager = new Manager(mySettings); 
       _browserManager.Start(); 

       Settings.Current.Web.EnableSilverlight = true; 
       _browserManager.LaunchNewBrowser(); 
       _browserManager.ActiveBrowser.Window.Maximize(); 
       _browserManager.SetNewBrowserTracking(true); 

       _browserManager.ActiveBrowser.NavigateTo(p0); 

       //When login credentials popup appears enter user credentials here 

回答