Автоматизация тестирования SilverLight Webaii - введите учетные данные пользователя в диалоговом окне IE
Я пытаюсь протестировать веб-приложение SilverLight с помощью пакета автоматизации тестирования Telerik Webaii. Когда мой код открывает браузеры и пытается перенаправить их на http-адрес приложения, появляется всплывающее диалоговое окно с учетными данными для входа. Диалоговое окно является частью IE, т.е. это не всплывающее окно, сгенерированное JavaScript. Мне было интересно, как я могу использовать Webaii, чтобы сместить фокус на всплывающее диалоговое окно учетных данных для входа и ввести имя пользователя и пароль, а затем нажать клавишу ВВОД. Вот мой код (p0 = веб-адрес, p1 = имя пользователя, p2 = пароль, p3 = секунды):
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
1 ответ
Я работаю на Telerik и постараюсь помочь вам в этом. Telerik Testing Framework (ранее назывался WebAii) имеет обработчик диалога входа в систему, который будет обрабатывать диалог входа в IE. Наша документация о том, как это сделать, может быть найдена здесь: http://docs.telerik.com/teststudio/testing-framework/write-tests-in-code/advanced-topics-wtc/html-popups-and-dialogs-wtc/win32-dialogs