public override void Run(string profileName1, string profileName2) { DateTime endTime = DateTime.Now.Add(new TimeSpan(0, 10, 0)); using (Wlan wlanApi = new Wlan()) { var wlanInterfaceList = wlanApi.EnumWlanInterfaces(); Verify.IsTrue(wlanInterfaceList.Count >= 1, string.Format(CultureInfo.InvariantCulture, "wlanInterfaceList.Count = {0}", wlanInterfaceList.Count)); var wlanInterface = wlanInterfaceList[0]; if (wlanInterface.State == WLAN_INTERFACE_STATE.wlan_interface_state_connected) { wlanApi.Disconnect(wlanInterface.Id, WlanStress.DisconnectWait); } while (DateTime.Now < endTime) { testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Connecting to {0}", profileName1)); ConnectionAttempts++; var waiter1 = wlanApi.TryProfileConnect(wlanInterface.Id, profileName1, WlanStress.ConnectWait); if (waiter1 != null) { if (waiter1.WlanReasonCode == 0) { ConnectionSuccess++; testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Disconnecting from {0}", profileName1)); wlanApi.Disconnect(wlanInterface.Id, WlanStress.DisconnectWait); } } testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Connecting to {0}", profileName2)); ConnectionAttempts++; var waiter2 = wlanApi.TryProfileConnect(wlanInterface.Id, profileName2, WlanStress.ConnectWait); if (waiter2 != null) { if (waiter2.WlanReasonCode == 0) { ConnectionSuccess++; testLogger.LogComment(string.Format(CultureInfo.InvariantCulture, "Disconnecting from {0}", profileName2)); wlanApi.Disconnect(wlanInterface.Id, WlanStress.DisconnectWait); } } } } }