or
ntdll.dll!_KiFastSystemCallRet@0()
ntdll.dll!_NtWaitForMultipleObjects@20() + 0xc bytes
kernel32.dll!_WaitForMultipleObjectsEx@20() + 0xd2 bytes
user32.dll!_RealMsgWaitForMultipleObjectsEx@20() + 0xbf bytes
ole32.dll!CCliModalLoop::BlockFn() + 0x358 bytes
ole32.dll!_CoWaitForMultipleHandles@20() + 0xb7 bytes
[Managed to Native Transition]
mscorlib.dll!System.Threading.WaitHandle.InternalWaitOne(System.Runtime.InteropServices.SafeHandle waitableSafeHandle, long millisecondsTimeout, bool hasThreadAffinity, bool exitContext) + 0x2b bytes
mscorlib.dll!System.Threading.WaitHandle.WaitOne(System.TimeSpan timeout, bool exitContext) + 0x6e bytes
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.DispatcherOperationEvent.WaitOne() + 0x35 bytes
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Wait(System.TimeSpan timeout) + 0x87 bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs) + 0xdb bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.CriticalInvokeShutdown() + 0x63 bytes
ArtOfTest.WebAii.dll!ArtOfTest.WebAii.Win32.UIADispatcherProvider.ClearDispatcher() + 0x47 bytes
ArtOfTest.WebAii.dll!ArtOfTest.WebAii.Core.Manager.End() + 0x37c bytes
ArtOfTest.WebAii.dll!ArtOfTest.WebAii.Core.Manager.Dispose(bool disposing) + 0x1c bytes
WebWise.Automation.Framework.DLL!WebWise.Automation.Framework.WebWiseAutomationClient.Dispose() Line 144 + 0x1c bytes C#
WebWise.Automation.Tests.DLL!WebWise.Automation.Tests.BaseAutomationFixture.FixtureTearDown() Line 43 + 0x49 bytes C#
[Native to Managed Transition]
[Managed to Native Transition]
nunit.core.DLL!NUnit.Core.Reflect.InvokeMethod(System.Reflection.MethodInfo method, object fixture, object[] args) + 0x39 bytes
nunit.core.DLL!NUnit.Core.TestSuite.DoOneTimeTearDown(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}) + 0x92 bytes
nunit.core.DLL!NUnit.Core.NUnitTestFixture.DoOneTimeTearDown(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}) + 0xf bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x20d bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestFixture.Run(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x61 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.SetUpFixture.Run(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x61 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.SimpleTestRunner.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter, bool tracing, NUnit.Core.LoggingThreshold logLevel) + 0xaf bytes
nunit.core.DLL!NUnit.Core.TestRunnerThread.TestRunnerThreadProc() + 0x47 bytes
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x63 bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c bytes
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 bytes
[Native to Managed Transition]
kernel32.dll!_BaseThreadStart@8() + 0x34 bytes
Manager.LaunchNewBrowser(BrowserType.FireFox);
ActiveBrowser.NavigateTo(
"http://www.tradingfloor.com/topics/london-interbank-offered-rate"
);
Thread.Sleep(10000);
// Didn't bother with a real wait.
ActiveBrowser.RefreshDomTree();
// Expected count is 10
// Area1
// Test with XPATH: This seems to work
Console.WriteLine(
"AREA1 ** START **"
);
string
xpath =
"//li[contains(@class,'postItem') and @data-url]"
;
ReadOnlyCollection<Element> collection = ActiveBrowser.Find.AllByXPath(xpath);
Console.WriteLine(
"XPATH find all as element count: "
+ collection.Count);
ReadOnlyCollection<HtmlListItem> collection1 = ActiveBrowser.Find.AllByXPath<HtmlListItem>(xpath);
Console.WriteLine(
"XPATH find all as HtmlListItem count: "
+ collection1.Count);
Console.WriteLine(
"AREA1 ** END **"
);
// Area2
// Test with HtmlFindExpression: This finds nothing
Console.WriteLine(
"AREA2 ** Start **"
);
HtmlFindExpression findExp =
new
HtmlFindExpression(
"tagname=li"
,
"class=~postItem"
,
"innermarkup=~data-url"
);
ReadOnlyCollection<Element> collection4 = ActiveBrowser.Find.AllByExpression(findExp);
Console.WriteLine(
"HtmlFindExpression find all as element count: "
+ collection4.Count);
ReadOnlyCollection<HtmlListItem> collection5 = ActiveBrowser.Find.AllByExpression<HtmlListItem>(findExp);
Console.WriteLine(
"HtmlFindExpression find all as HtmlListItem count: "
+ collection5.Count);
Console.WriteLine(
"AREA2 ** END **"
);
// Area3
// Test with XPATH inside HtmlFindExpression: This is misinterpreted
Console.WriteLine(
"AREA3 ** Start **"
);
HtmlFindExpression findExp1 =
new
HtmlFindExpression(
"xpath=//li[contains(@class,'postItem') and @data-url]"
);
ReadOnlyCollection<Element> collection2 = ActiveBrowser.Find.AllByExpression(findExp1);
ReadOnlyCollection<HtmlListItem> collection3 = ActiveBrowser.Find.AllByExpression<HtmlListItem>(findExp1);
Console.WriteLine(
"AREA3 ** END **"
);
public
static
void
Test()
{
Settings settings =
new
Settings();
settings.Web.DefaultBrowser = ArtOfTest.WebAii.Core.BrowserType.InternetExplorer;
settings.UnexpectedDialogAction = UnexpectedDialogAction.DoNotHandle;
Manager manager =
new
Manager(settings);
manager.Start();
manager.LaunchNewBrowser();
manager.ActiveBrowser.NavigateTo(
"http://localhost:60444/ConduitGenericWebSite/Default.aspx"
);
FileUploadDialog uploadDialog =
new
FileUploadDialog(manager.ActiveBrowser,
string
.Empty, DialogButton.OPEN);
manager.DialogMonitor.AddDialog(uploadDialog);
// Setup dialog monitoring
ConfirmDialog confirmDialog = ConfirmDialog.CreateConfirmDialog(manager.ActiveBrowser, DialogButton.OK);
manager.DialogMonitor.AddDialog(confirmDialog);
ConfirmDialog confirmDialog1 = ConfirmDialog.CreateConfirmDialog(manager.ActiveBrowser, DialogButton.OK);
manager.DialogMonitor.AddDialog(confirmDialog1);
manager.DialogMonitor.Start();
// File upload test.
Element fileUpload = manager.ActiveBrowser.Find.ById(
"FileUpload"
);
(
new
HtmlInputFile(fileUpload)).Upload(@
"D:\test.txt"
, 30000);
Element btnUpload = manager.ActiveBrowser.Find.ById(
"btnUpload"
);
(
new
HtmlControl(btnUpload)).Click();
// Click 'Button'
Element confButton = manager.ActiveBrowser.Find.ById(
"lnkShowConfirmAndAlert"
);
(
new
HtmlControl(confButton)).Click();
// Wait until dialog handled
confirmDialog.WaitUntilHandled(10000);
confirmDialog.CurrentState = DialogCurrentState.NotActive;
System.Threading.Thread.Sleep(1000);
}
public
static
void
Test()
{
Settings settings =
new
Settings();
settings.Web.DefaultBrowser = ArtOfTest.WebAii.Core.BrowserType.InternetExplorer;
settings.UnexpectedDialogAction = UnexpectedDialogAction.DoNotHandle;
Manager manager =
new
Manager(settings);
manager.Start();
manager.LaunchNewBrowser();
manager.ActiveBrowser.NavigateTo(
"http://localhost:60444/ConduitGenericWebSite/Default.aspx"
);
FileUploadDialog uploadDialog =
new
FileUploadDialog(manager.ActiveBrowser,
string
.Empty, DialogButton.OPEN);
manager.DialogMonitor.AddDialog(uploadDialog);
// Setup dialog monitoring
ConfirmDialog confirmDialog = ConfirmDialog.CreateConfirmDialog(manager.ActiveBrowser, DialogButton.OK);
manager.DialogMonitor.AddDialog(confirmDialog);
ConfirmDialog confirmDialog1 = ConfirmDialog.CreateConfirmDialog(manager.ActiveBrowser, DialogButton.OK);
manager.DialogMonitor.AddDialog(confirmDialog1);
manager.DialogMonitor.Start();
// Click 'Button'
Element confButton = manager.ActiveBrowser.Find.ById(
"lnkShowConfirmAndAlert"
);
(
new
HtmlControl(confButton)).Click();
// Wait until dialog handled
confirmDialog.WaitUntilHandled(10000);
confirmDialog.CurrentState = DialogCurrentState.NotActive;
// File upload test.
Element fileUpload = manager.ActiveBrowser.Find.ById(
"FileUpload"
);
(
new
HtmlInputFile(fileUpload)).Upload(@
"D:\test.txt"
, 30000);
Element btnUpload = manager.ActiveBrowser.Find.ById(
"btnUpload"
);
(
new
HtmlControl(btnUpload)).Click();
System.Threading.Thread.Sleep(1000);
}
browser.Actions.Click(browser.Find.ByAttributes(
"href=~deleteMember.hg?memberId="
));
and doesn't do anything.public
void
QSCDeleteMember()
{
foreach
(Browser browser
in
_testBrowsers)
{
//Login
_setup.Login(browser);
//Go to Search Members page
Menu.GoToMenuOption(browser, MenuOptions.SearchMembers);
//Select a member to delete
MemberTesting memberTesting =
new
MemberTesting();
HtmlTableRow memberRow = memberTesting.SelectMember(browser);
//Get selected member's email address, 4th cell of memberRow
HtmlAnchor email = memberRow.Cells[3].ChildNodes[0].As<HtmlAnchor>();
Member deleteMember =
new
Member();
deleteMember.Address.EmailAddress = email.InnerText;
//Click 'Edit' button to enter member information page
browser.Actions.Click(memberRow.Find.ByAttributes(
"href=~editMember.hg?memberId="
));
//Select a contact to delete
HtmlTableCell td = browser.Find.ByAttributes<HtmlTableCell>(
"class=~selection-row1"
,
"align=left"
);
//Start Popup monitor to verify delete of contacts and members
AlertDialog alertDialog = AlertDialog.CreateAlertDialog(browser, DialogButton.OK);
if
(td !=
null
)
{
HtmlTableRow contactRow = td.Parent<HtmlTableRow>();
string
contactName = td.Find.ByAttributes<HtmlAnchor>(
"href=~editMemberContact.hg?memberId="
).TextContent;
//Start Popup monitor to verify delete of contacts and members
browser.Manager.DialogMonitor.AddDialog(alertDialog);
browser.Manager.DialogMonitor.Start();
//Delete member contact/address information
browser.Actions.Click(contactRow.Find.ByAttributes(
"href=~deleteMemberContact.hg?memberId="
));
Assert.IsTrue(memberTesting.VerifyContactDeleted(browser, contactName),
"Contact was not deleted"
);
}
//browser.Manager.DialogMonitor.AddDialog(alertDialog);
//browser.Manager.DialogMonitor.Start();
browser.Manager.DialogMonitor.Stop();
browser.WaitUntilReady();
browser.RefreshDomTree();
AlertDialog alertDialog2 = AlertDialog.CreateAlertDialog(browser, DialogButton.OK);
browser.Manager.DialogMonitor.AddDialog(alertDialog2);
browser.Manager.DialogMonitor.Start();
//Delete member, verify they were deleted
browser.Actions.Click(browser.Find.ByAttributes(
"href=~deleteMember.hg?memberId="
));
Assert.IsFalse(memberTesting.MemberExists(browser, deleteMember),
"Member was not deleted"
);
//Stop popup monitor, logout
browser.Manager.DialogMonitor.Stop();
_setup.Logout(browser);