or
SetUp : System.ApplicationException : Exception thrown attempting to launch Internet Explorer. Please make sure Internet Explorer is properly installed and you are able to launch it.
----> System.TimeoutException : Wait for condition has timed out
at ArtOfTest.WebAii.BrowserSpecialized.InternetExplorer.InternetExplorerActions.LaunchNewBrowserInstance(Int32 timeout, ProcessWindowStyle windowStyle, String pipename)
at ArtOfTest.WebAii.Core.Manager.LaunchNewBrowser(BrowserType browserToLaunch, Boolean waitForBrowserToConnect, ProcessWindowStyle windowStyle, String arguments)
at ArtOfTest.WebAii.Core.Manager.LaunchNewBrowser(BrowserType browserToLaunch)
at WebAiiTestClass.TestBase.TestBaseSetUp() in TestBase.cs: line 21
--TimeoutException
at ArtOfTest.Common.WaitSync.CheckResult(WaitSync wait, String extraExceptionInfo)
at ArtOfTest.Common.WaitSync.For(Predicate`1 predicate, T target, Boolean invertCondition, Int32 timeout)
at ArtOfTest.Common.WaitSync.For(Predicate`1 predicate, T target, Int32 timeout)
at ArtOfTest.Common.Win32.WindowManager.Attach(ref IntPtr handle, Boolean findTabWindow, Boolean loadClr, ref IntPtr hookId)
at ArtOfTest.WebAii.BrowserSpecialized.InternetExplorer.InternetExplorerActions.LaunchNewBrowserInstance(Int32 timeout, ProcessWindowStyle windowStyle, String pipename)
I have all the settings set according to:
http://www.artoftest.com/support/webaii/topicsindex.aspx?topic=configureie6
But still no help.
Unfortunately upgrading to IE7+ is not an option. Please any help would be greatly appreciated.
Also just incase it helps:
namespace WebAiiTestClass
{
[TestFixture]
public abstract class TestBase : BaseTest
{
protected internal SilverlightApp App { get; private set; }
[SetUp]
public void TestBaseSetUp()
{
var settings = GetSettings();
settings.EnableSilverlight = true;
settings.LogLocation = @"C:\Documents and Settings\alicross\My Documents\Dev\UI\Testing\WebAiiTestClass";
Initialize(settings, NUnit.Core.TestContext.Out.WriteLine);
Manager.LaunchNewBrowser(BrowserType.InternetExplorer);
ActiveBrowser.NavigateTo("http://localhost:4882/TestPage.aspx");
App = ActiveBrowser.SilverlightApps()[0];
}
[TearDown]
public void TestBaseTearDown()
{
CleanUp();
}
[TestFixtureTearDown]
public void TestBaseFixtureTearDown()
{
ShutDown();
}
}
}
How can I use a variable in the code "searchLnk = ActiveBrowser.Find.ByContent(contentvalue);"
Where conentvalue was previously defined by contentvalue = “btnG”;
Rather than searchLnk = ActiveBrowser.Find.ByContent(”btnG”);
is there a way NOT to have to use a LITERAL value?
thanks joe
<
a
href
=
"http://google.com"
>mega link</
a
>
Settings settings =
new
Settings(BrowserType.InternetExplorer,
"d:\\log\\"
);
Manager manager =
new
Manager(settings);
manager.Start();
manager.LaunchNewBrowser();
manager.ActiveBrowser.NavigateTo(
"http://aspspider.ws/kovyar/find_bycontent_test.htm"
);
manager.ActiveBrowser.WaitUntilReady();
Element element = manager.ActiveBrowser.Find.ByContent(
"mega link"
);
//null in both browsers, the desired way to find the element
Element element1 = manager.ActiveBrowser.Find.ByContent(
"mega link"
.Replace(
' '
, (
char
)160));
//null in IE
Element element2 = manager.ActiveBrowser.Find.ByContent(
"mega link"
.Replace(
" "
,
" "
));
//null in FF
Assert.IsNotNull(element1);
//here fails IE
Assert.IsNotNull(element2);
//here fails FF
manager.Dispose();
...
<
frameset
rows
=
"100%,0,0,0"
onload
=
"gotoUrl('/here_is_the_url',null)"
>
<
frame
frameborder
=
"0"
name
=
"frame1"
src
=
"about:blank"
>
<
html
>
<
head
>...</
head
>
<
body
>
<
div
id
=
"divID"
>...</
div
>
</
body
>
</
html
>
</
frame
>
<
frame
scrolling
=
"no"
noresize
=
""
frameborder
=
"0"
name
=
"frame2"
src
=
"about:blank"
>...</
frame
>
<
frame
scrolling
=
"no"
noresize
=
""
frameborder
=
"0"
name
=
"frame3"
src
=
"about:blank"
>...</
frame
>
<
frame
scrolling
=
"no"
noresize
=
""
frameborder
=
"0"
name
=
"frame4"
src
=
"about:blank"
>...</
frame
>
<
noframes
>
<
body
bgcolor
=
"#FFFFFF"
>
<
p
>your browser does not handle frames</
p
>
</
body
>
</
noframes
>
</
frameset
>
...
Browser frame = Manager.ActiveBrowser.Frames[
"frame1"
];
Element divEle = frame.Find.byId(
"divID"
);
[Test]
public
void
GoogleTest()
{
Manager.LaunchNewBrowser();
ActiveBrowser.NavigateTo(
"http://www.google.com"
);
HtmlInputText queryBox = Find.ByName<HtmlInputText>(
"q"
);
Log.WriteLine(queryBox.IsActiveElement.ToString());
Desktop.Mouse.Click(MouseClickType.LeftClick, queryBox.GetRectangle());
Desktop.KeyBoard.TypeText(
"sample"
, 1000);
Actions.Click(Find.ById(
"btnG"
));
}
public
void
WaitForButton(String awaitingButton)
{
StringBuilder buffer =
new
StringBuilder();
buffer.Append(
"XPath=//input[@value=\""
)
.Append(awaitingButton)
.Append(
"\"]"
);
Manager.ActiveBrowser.WaitForElement(
new
HtmlFindExpression(buffer.ToString()), 20000);
}