如何检测Xamarin.Forms应用何时在App Center中运行?

我有一个Xamarin Forms应用程序,使用Xamarin.UITest进行了测试,我需要检测它何时在App Center Test中运行。

根据docs,应将环境变量RUNNING_IN_APP_CENTER自动设置为1-但Environment.GetEnvironmentVariable("RUNNING_IN_APP_CENTER")在运行时没有值。

的确,如果我遍历所有环境变量,它就不存在了:

KNOX_STORAGE:/data/knox/ext_sdcard
ANDROID_SOCKET_zygote:11
ASEC_MOUNTPOINT:/mnt/asec
MONO_DEBUG:gen-compact-seq-points
TMPDIR:/data/user/0/com.acme.widgets.dev/cache
XA_HTTP_CLIENT_HANDLER_TYPE:Xamarin.Android.Net.AndroidClientHandler
PATH:/sbin:/system/sbin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin
MC_AUTH_TOKEN_PATH:/efs
XDG_CONFIG_HOME:/data/user/0/com.acme.widgets.dev/files/.config
DOWNLOAD_CACHE:/data/cache
ANDROID_ASSETS:/system/app
XA_TLS_PROVIDER:btls
ANDROID_ROOT:/system
MONO_GC_PARAMS:major=marksweep
XAMARIN_BUILD_ID:4658cc0f-1a7c-4c97-93a6-f2f09c5edb04
BOOTCLAsspATH:/system/framework/core-oj.jar:/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/bouncycastle.jar:/system/framework/apache-xml.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/sprengine.jar:/system/framework/android.hidl.base-V1.0-java.jar:/system/framework/android.hidl.manager-V1.0-java.jar:/system/framework/knoxsdk.jar:/system/framework/timakeystore.jar:/system/framework/fipstimakeystore.jar:/system/framework/sec_edm.jar:/system/framework/knoxanalyticssdk.jar:/system/framework/smartbondingservice.jar:/system/framework/ucmopensslenginehelper.jar:/system/framework/esecomm.jar:/system/framework/securetimersdk.jar:/system/framework/sec_sdp_sdk.jar:/system/framework/sec_sdp_hidden_sdk.jar:/system/framework/framework-oahl-backward-compatibility.jar:/system/framework/android.test.base.jar:/system/framework/knoxvpnuidtag.jar:/system/framework/SemAudioThumbnail.jar:/system/framework/knoxguard.jar:/system/framework/drutils.jar
ANDROID_DATA:/data
LANG:en-GB
EXTERNAL_STORAGE:/sdcard
ANDROID_BOOTLOGO:1
ENC_EMULATED_STORAGE_TARGET:/storage/enc_emulated
HOME:/data/user/0/com.acme.widgets.dev/files
SYSTEMSERVERCLAsspATH:/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar:/system/framework/com.android.location.provider.jar:/system/framework/hqm.jar:/system/framework/hcm.jar
ANDROID_STORAGE:/storage
XDG_DATA_HOME:/data/user/0/com.acme.widgets.dev/files/.local/share

根据文档,我还尝试了更改App Center CLI命令以包括额外的环境变量:

--test-parameter "app_env=MY_VAR=1"

但是同样,MY_VAR在应用程序中不可用。

是否还有其他方法可以读取我所缺少的环境变量,或者还有其他方法可以检测在App Center Test中运行时的情况?

wx071134 回答:如何检测Xamarin.Forms应用何时在App Center中运行?

您能否仅使用“测试编译器指令”来检测代码中的内容:

#if ENABLE_TEST_CLOUD
    Xamarin.Calabash.Start(); 
    App.IsRunningInTestMode=true;
#endif

查看您要启用测试配置的AppDelegate和MainActivity。

本文链接:https://www.f2er.com/3111218.html

大家都在问