To test applications in multiple UI sessions on a single machine or to test multiple agents on a single machine, connect to multiple Open Agent instances on the machine. Every agent runs in its own UI-session. A UI session can be a Remote Desktop Protocol (RDP) connection or a Citrix-based connection.
// VB .NET code Private agent As RemoteAgent = Agent.Connect("hostname:port")
// C# code private RemoteAgent agent = Agent.Connect("hostname:port");Where hostname is the name of the machine on which the agent is running, and port is the unique port that you have specified, which can be either the HTTP or the HTTPS port.
Assume that the server machine that is hosting the UI sessions is named ui-srv. You can create three UI sessions by using the ports 22903/48563, 22904/48564, and 22905/48565.
openAgent.exe -infoServicePort=22903 -infoServiceSecurePort=48563
Do the same for the other two sessions with the respective ports 22904/48564 and 22905/48565.
// VB .NET code Private agent1 As RemoteAgent = Agent.Connect("ui-srv:22903") ' or 48563 for secure HTTPS communication Private agent2 As RemoteAgent = Agent.Connect("ui-srv:22904") ' or 48564 for secure HTTPS communication Private agent3 As RemoteAgent = Agent.Connect("ui-srv:22905") ' or 48565 for secure HTTPS communication
// C# code private RemoteAgent agent1 = Agent.Connect("ui-srv:22903"); // or 48563 for secure HTTPS communication private RemoteAgent agent2 = Agent.Connect("ui-srv:22904"); // or 48564 for secure HTTPS communication private RemoteAgent agent3 = Agent.Connect("ui-srv:22905"); // or 48565 for secure HTTPS communication
// VB .NET code <SilkTestClass()> Public Class TestMultiSession Private agent1 As RemoteAgent = Agent.Connect("ui-srv:22903") Private agent2 As RemoteAgent = Agent.Connect("ui-srv:22904") Private agent3 As RemoteAgent = Agent.Connect("ui-srv:22905") <TestMethod()> Public Sub Test() Dim d1 As Desktop = agent1.Desktop Dim d2 As Desktop = agent2.Desktop Dim d3 As Desktop = agent3.Desktop Dim baseState = New BaseState() agent1.ExecuteBaseState(baseState) agent2.ExecuteBaseState(baseState) agent3.ExecuteBaseState(baseState) d1.Window("@caption='My Application'").TypeKeys("Hello to session 1!") d2.Window("@caption='My Application'").TypeKeys("Hello to session 2!") d3.Window("@caption='My Application'").TypeKeys("Hello to session 3!") End Sub End Class
// C# code [SilkTestClass] public class TestMultiSession { private RemoteAgent agent1 = Agent.Connect("ui-srv:22903"); private RemoteAgent agent2 = Agent.Connect("ui-srv:22904"); private RemoteAgent agent3 = Agent.Connect("ui-srv:22905"); [TestMethod] public void Test() { Desktop d1 = agent1.Desktop; Desktop d2 = agent2.Desktop; Desktop d3 = agent3.Desktop; BaseState basestate = new BaseState(); agent1.ExecuteBaseState(basestate); agent2.ExecuteBaseState(basestate); agent3.ExecuteBaseState(basestate); d1.Window("@caption='My Application'").TypeKeys("Hello to session 1!"); d2.Window("@caption='My Application'").TypeKeys("Hello to session 2!"); d3.Window("@caption='My Application'").TypeKeys("Hello to session 3!"); } }