Как отключить/включить сеть в приложении xamarin android/iOS из xamarin uitest в С#

Я пишу xamarin uitest на С# для автоматизации мобильного приложения xamarin. У меня есть файл apk и ipa. Я хочу переключить сетевое соединение после запуска приложения. Как включить/выключить сеть с помощью uitest. В appium мы можем использовать togglewifi() для изменения состояния. Есть ли какой-либо метод, доступный в xamarin?


person Reshma Pradeep    schedule 09.08.2019    source источник
comment
Пожалуйста, изучите свои вопросы перед публикацией на SO. Этот блог C# Corner запись описывает, как включить/выключить Wi-Fi в xamarin (что я нашел после нескольких секунд поиска в Google)   -  person MindSwipe    schedule 09.08.2019


Ответы (1)


Мы не могли открыть/закрыть Wi-Fi в коде позади в Xamarin для iOS. Но вы можете открыть страницу настроек после запуска приложения.

Вы можете использовать DependencyService, если вызываете его в Forms.

в iOS

using xxx.iOS;
using Foundation;
using UIKit;
using Xamarin.Forms;

[assembly: Dependency(typeof(OpenSettingsImplement))]
namespace xxx.iOS
{
    public class OpenSettingsImplement : ISettingsService
    {
        public void OpenSettings()
        {
            var url = new NSUrl($"App-Prefs:");
            UIApplication.SharedApplication.OpenUrl(url);
        }
    }
}

в Android

using Android.Content;

using xxx;
using xxx.Droid;
using Xamarin.Forms;

[assembly: Dependency(typeof(OpenSettingsImplement))]
namespace xxx.Droid
{
    public class OpenSettingsImplement : ISettingsService
    {
        public void OpenSettings()
        {
            Intent intentOpenSettings = new Intent();
            intentOpenSettings.SetAction(Android.Provider.Settings.ActionAirplaneModeSettings);
            Android.App.Application.Context.StartActivity(intentOpenSettings);
        }
    }
}

в формах добавить новый интерфейс

public interface ISettingsService
{
  void OpenSettings();
}
person Lucas Zhang    schedule 09.08.2019