When I tried calling the method from Java, I had to load dependent
libraries like this:
try
{
Bridge.init();
Bridge.LoadAndRegisterAssemblyFrom(new File("C:\\Program
Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\
\PublicAssemblies\
\Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll"));
Bridge.LoadAndRegisterAssemblyFrom(new File("C:\\Program
Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\
\PublicAssemblies\
\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll"));
Bridge.LoadAndRegisterAssemblyFrom(new File("C:\\Program
Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\
\PublicAssemblies\
\Microsoft.VisualStudio.TestTools.UITest.Common.dll"));
Bridge.LoadAndRegisterAssemblyFrom(new File("C:\\Program
Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\
\PublicAssemblies\
\Microsoft.VisualStudio.TestTools.UITest.Extension.dll"));
Bridge.LoadAndRegisterAssemblyFrom(new File("C:\\Program
Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\
\PublicAssemblies\\Microsoft.VisualStudio.TestTools.UITesting.dll"));
Bridge.LoadAndRegisterAssemblyFrom(new File("C:\\Program
Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\
\PrivateAssemblies\
\Microsoft.VisualStudio.TestTools.UITest.Playback.dll"));
Bridge.LoadAndRegisterAssemblyFrom(new File("C:\\Program
Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\
\PrivateAssemblies\
\Microsoft.VisualStudio.TestTools.UITest.Framework.dll"));
Bridge.LoadAndRegisterAssemblyFrom(new File(".\\lib\
\TestProject2.j4n.dll"));
CodedUITest1 codedUITest = new CodedUITest1();
System.out.println(codedUITest.hello());
codedUITest.CodedUITestMethod1();
}
catch (Exception e)
{
e.printStackTrace();
}
It does print out the hello() string, so I know it's able to call into
the Coded UI DLL. When it gets to "codedUITest.CodedUITestMethod1();"
it launches my application (which is the first step of my Coded UI
test), but then fails with:
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToLaunchApplicationException:
The following error occurred when this process was started: Object
reference not set to an instance of an object. File:
%ProgramFiles(x86)%\ImageNow6\bin\imagenow.exe. --->
System.NullReferenceException: Object reference not set to an instance
of an object.
at
Microsoft.VisualStudio.TestTools.UITesting.UITestControl..ctor(IntPtr
windowHandle)
at
Microsoft.VisualStudio.TestTools.UITesting.ApplicationUnderTest.set_Process(Process
value)
at
Microsoft.VisualStudio.TestTools.UITesting.ApplicationUnderTest.Start(ProcessStartInfo
startInfo)
--- End of inner exception stack trace ---
at
Microsoft.VisualStudio.TestTools.UITesting.ApplicationUnderTest.Start(ProcessStartInfo
startInfo)
at TestProject2.UIMap.LoginImageNow()
at TestProject2.__CodedUITest1.CodedUITestMethod10(IntPtr __envp,
JniLocalHandle __obj)
at testproject2.CodedUITest1.CodedUITestMethod1(Native Method)
at tmp.TempTest.main(TempTest.java:34)
So, it launches the app and then says it failed to launch. I keep
getting "Object reference not set to an instance of an object." Any
idea why this could be? It works fine when run from Visual Studio or
from mstest.exe.
Thanks,
Tony
On Jul 25, 2:23 pm, Tony Tonev <
tony.to...@perceptivesoftware.com>
wrote: