我已经测试了Xamarin Cloud。
当我在Visual Studio中运行测试时。它通过了。
我尝试在Xamarin中上传它,但失败了。
我有这个:
SetUp : System.Exception : Multiple launchable acitivites configured in apk file, none was specified. Available launchable activities: md5b02f34a74755c1c88b16cc48d7de656d.SplashActivity, com.digitalmakers.murakamikiev.MainActivity
at Xamarin.UITest.Shared.Android.ApkFile.GetActivityToLaunchOrFail (System.String wantedActivity) <0x5aac808 + 0x0023f> in <filename unknown>:0
at Xamarin.UITest.Android.TestCloudAndroidAppInitializer.VerifyConfiguration () <0x5aac240 + 0x00083> in <filename unknown>:0
at Xamarin.UITest.Android.AndroidApp..ctor (IAndroidAppConfiguration appConfiguration) <0x5942190 + 0x002a5> in <filename unknown>:0
at Xamarin.UITest.Configuration.AndroidAppConfigurator.StartApp (AppDataMode appDataMode) <0x59416d0 + 0x00063> in <filename unknown>:0
at MurakamiKiev.UITests.Tests.SetUp () <0x5940440 + 0x00043> in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) <0x2ba5b08 + 0x00093> in <filename unknown>:0
飞溅活动代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.Content.PM;
using System.Timers;
using Android.Net;
using System.Xml;
using System.IO;
using Android.Gms.Analytics;
using System.Threading.Tasks;
namespace MurakamiKiev
{
[Activity(MainLauncher = true, NoHistory = true, Label = "Murakami", Icon = "@drawable/icon2", Theme = "@android:style/Theme.Black.NoTitleBar", ScreenOrientation = ScreenOrientation.Portrait)]
public class SplashActivity : Activity
{
protected async override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Splash);
// Inshi rolli
string url = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=82";
var json = await FetchAsync(url);
var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename = System.IO.Path.Combine(path, "cache.txt");
File.WriteAllText(filename, json);
// Goryachie rolli
string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
var json2 = await FetchAsync2(url2);
var path2 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename2 = System.IO.Path.Combine(path2, "cache2.txt");
File.WriteAllText(filename2, json2);
//Bludo dnya
string url3 = "http://new.murakami.ua/?mkapi=getProductsOfDay";
var json3 = await FetchAsync3(url3);
var path3 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename3 = System.IO.Path.Combine(path3, "cache3.txt");
File.WriteAllText(filename3, json3);
// California
string url4 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=85";
var json4 = await FetchAsync4(url4);
var path4 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename4 = System.IO.Path.Combine(path4, "cache4.txt");
File.WriteAllText(filename4, json4);
//Deserts
string url5 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=74";
var json5 = await FetchAsync5(url5);
var path5 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename5 = System.IO.Path.Combine(path4, "cache5.txt");
File.WriteAllText(filename5, json5);
//Drakoni
string url6 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=84";
var json6 = await FetchAsync6(url6);
var path6 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename6 = System.IO.Path.Combine(path6, "cache6.txt");
File.WriteAllText(filename6, json6);
//Filadelfia
string url7 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=87";
var json7 = await FetchAsync7(url7);
var path7 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename7 = System.IO.Path.Combine(path7, "cache7.txt");
File.WriteAllText(filename7, json7);
//GoryachieZakuski
string url8 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=73";
var json8 = await FetchAsync8(url8);
var path8 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename8 = System.IO.Path.Combine(path8, "cache8.txt");
File.WriteAllText(filename8, json8);
//Lanchi
string url9 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=182";
var json9 = await FetchAsync9(url9);
var path9 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename9 = System.IO.Path.Combine(path9, "cache9.txt");
File.WriteAllText(filename9, json9);
//Lapsha
string url10 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=70";
var json10 = await FetchAsync10(url10);
var path10 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename10 = System.IO.Path.Combine(path10, "cache10.txt");
File.WriteAllText(filename10, json10);
//Maki
string url11 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=86";
var json11 = await FetchAsync11(url11);
var path11 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename11 = System.IO.Path.Combine(path11, "cache11.txt");
File.WriteAllText(filename11, json11);
//Napitki
string url12 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=79,176";
var json12 = await FetchAsync12(url12);
var path12 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename12 = System.IO.Path.Combine(path12, "cache12.txt");
File.WriteAllText(filename12, json12);
//OsnovniBluda
string url13 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=72";
var json13 = await FetchAsync13(url13);
var path13 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename13 = System.IO.Path.Combine(path13, "cache13.txt");
File.WriteAllText(filename13, json13);
//Salads
string url14 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=88";
var json14 = await FetchAsync14(url14);
var path14 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename14 = System.IO.Path.Combine(path14, "cache14.txt");
File.WriteAllText(filename14, json14);
//Sashimi
string url15 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=89";
var json15 = await FetchAsync15(url15);
var path15 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename15 = System.IO.Path.Combine(path15, "cache15.txt");
File.WriteAllText(filename15, json15);
//Sets
string url16 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=77";
var json16 = await FetchAsync16(url16);
var path16 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename16 = System.IO.Path.Combine(path16, "cache16.txt");
File.WriteAllText(filename16, json16);
//Souces
string url17 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=90";
var json17 = await FetchAsync17(url17);
var path17 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename17 = System.IO.Path.Combine(path17, "cache17.txt");
File.WriteAllText(filename17, json17);
//Soupes
string url18 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=91";
var json18 = await FetchAsync18(url18);
var path18 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename18 = System.IO.Path.Combine(path18, "cache18.txt");
File.WriteAllText(filename18, json18);
//Sushi
string url19 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=92";
var json19 = await FetchAsync19(url19);
var path19 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename19 = System.IO.Path.Combine(path19, "cache19.txt");
File.WriteAllText(filename19, json19);
//Tepan
string url20 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=95";
var json20 = await FetchAsync20(url20);
var path20 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename20 = System.IO.Path.Combine(path20, "cache20.txt");
File.WriteAllText(filename20, json20);
//Zakuski
string url21 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=75";
var json21 = await FetchAsync21(url21);
var path21 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename21 = System.IO.Path.Combine(path21, "cache21.txt");
File.WriteAllText(filename21, json21);
//Akcii
string url22 = "http://new.murakami.ua/?mkapi=getActions";
var json22 = await FetchAsync22(url22);
var path22 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename22 = System.IO.Path.Combine(path22, "cache22.txt");
File.WriteAllText(filename22, json22);
//News
string url23 = "http://new.murakami.ua/?mkapi=getNews";
var json23 = await FetchAsync23(url23);
var path23 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename23 = System.IO.Path.Combine(path23, "cache23.txt");
File.WriteAllText(filename23, json23);
XmlDocument doc = new XmlDocument();
XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Order"));
el.SetAttribute("CallConfirm", "1");
el.SetAttribute("PayMethod", "");
el.SetAttribute("QtyPerson", "");
el.SetAttribute("Type", "1");
el.SetAttribute("PayStateID", "0");
el.SetAttribute("Remark", "{StreetName} , ..");
el.SetAttribute("RemarkMoney", "0");
el.SetAttribute("TimePlan", "");
el.SetAttribute("Brand", "1");
el.SetAttribute("DiscountPercent", "0");
el.SetAttribute("BonusAmount", "0");
el.SetAttribute("Department", "");
XmlElement el2 = (XmlElement)el.AppendChild(doc.CreateElement("Customer"));
el2.SetAttribute("Login", "");
el2.SetAttribute("FIO", "{FIO}");
XmlElement el3 = (XmlElement)el.AppendChild(doc.CreateElement("Address"));
el3.SetAttribute("CityName", "");
el3.SetAttribute("StationName", "");
el3.SetAttribute("StreetName", "{StreetName}");
el3.SetAttribute("House", "{HouseName}");
el3.SetAttribute("Corpus", "");
el3.SetAttribute("Building", "");
el3.SetAttribute("Flat", "{FlatName}");
el3.SetAttribute("Porch", "");
el3.SetAttribute("Floor", "");
el3.SetAttribute("DoorCode", "");
XmlElement el4 = (XmlElement)el.AppendChild(doc.CreateElement("Phone"));
el4.SetAttribute("Code", "{Code}");
el4.SetAttribute("Number", "{Phone}");
XmlElement el5 = (XmlElement)el.AppendChild(doc.CreateElement("Products"));
Console.WriteLine("TUT");
var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var filePath = Path.Combine(documentsPath, "myFile.xml");
//File.WriteAllText(filePath, doc.OuterXml);
doc.Save(filePath);
Console.WriteLine(doc.OuterXml);
//esli chto ubrat
Timer timer = new Timer();
timer.Interval = 3000; // 3 sec.
timer.AutoReset = false; // Do not reset the timer after it's elapsed
timer.Elapsed += (object sender, ElapsedEventArgs e) =>
{
StartActivity(typeof(MenuTopActivity));
};
timer.Start();
}
// Zagruzka async metod
public async Task<string> FetchAsync(string url)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
// Zagruzka async metod 2
public async Task<string> FetchAsync2(string url2)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url2);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync3(string url3)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url3);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync4(string url4)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url4);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync5(string url5)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url5);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync6(string url6)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url6);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync7(string url7)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url7);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync8(string url8)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url8);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync9(string url9)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url9);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync10(string url10)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url10);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync11(string url11)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url11);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync12(string url12)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url12);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync13(string url13)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url13);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync14(string url14)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url14);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync15(string url15)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url15);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync16(string url16)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url16);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync17(string url17)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url17);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync18(string url18)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url18);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync19(string url19)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url19);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync20(string url20)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url20);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync21(string url21)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url21);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync22(string url22)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url22);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
public async Task<string> FetchAsync23(string url23)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url23);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
};
[Activity(Label = "SushiActivity", Theme = "@android:style/Theme.Black.NoTitleBar", ScreenOrientation = ScreenOrientation.Portrait)]
public class MenuTopActivity : Activity
{
// Integrating Google Analitycs - start
public class GAService
{
public string TrackingId = "UA-65673888-2";
private static GoogleAnalytics GAInstance;
private static Tracker GATracker;
#region Instantiation ...
private static GAService thisRef;
private GAService()
{
// no code req'd
}
public static GAService GetGASInstance()
{
if (thisRef == null)
// it's ok, we can call this constructor
thisRef = new GAService();
return thisRef;
}
#endregion
public void Initialize(Context AppContext)
{
GAInstance = GoogleAnalytics.GetInstance(AppContext.ApplicationContext);
GAInstance.SetLocalDispatchPeriod(10);
GATracker = GAInstance.NewTracker(TrackingId);
GATracker.EnableExceptionReporting(true);
GATracker.EnableAdvertisingIdCollection(true);
GATracker.EnableAutoActivityTracking(true);
}
}
// end of integrating Analitycs
protected override void OnCreate(Bundle bundle)
{
CheckNetwork();
base.OnCreate(bundle);
// Create your application here
SetContentView(Resource.Layout.MenuTop);
GAService.GetGASInstance().Initialize(this);
ImageButton cart = FindViewById<ImageButton>(Resource.Id.cartButton);
ImageButton menu = FindViewById<ImageButton>(Resource.Id.menuButton);
ImageButton logo = FindViewById<ImageButton>(Resource.Id.logoButton);
Button promurakami = FindViewById<Button>(Resource.Id.promurakamiButton);
Button restaraunts = FindViewById<Button>(Resource.Id.restorauntsButton);
Button akcii = FindViewById<Button>(Resource.Id.AkciiButton);
Button novini = FindViewById<Button>(Resource.Id.novinibutton);
Button dostavka = FindViewById<Button>(Resource.Id.dostavkaButton);
Button bludo = FindViewById<Button>(Resource.Id.bludodnya);
ImageButton vk = FindViewById<ImageButton>(Resource.Id.vkbutton);
ImageButton facebook = FindViewById<ImageButton>(Resource.Id.facebookbutton);
ImageButton instagram = FindViewById<ImageButton>(Resource.Id.instagrambutton);
ImageButton twitter = FindViewById<ImageButton>(Resource.Id.twitterbutton);
TextView call = FindViewById<TextView>(Resource.Id.telephone);
}
}
我不明白,哪里有错?
谁能帮我?
该错误消息表明SplashActivity和MainActivity都被标记为主要活动,并且MainLauncher属性设置为true。
当您使用Visual Studio运行测试时,您的Android应用程序将由Visual Studio启动,而Android本身将选择要运行的主要活动之一。
UITest似乎试图仅找到一个主要活动,但由于它找到两个并且不知道应该运行哪个活动而失败。
因此,我想如果您使用SplashActivity作为第一个屏幕,然后使用SplashActivity启动MainActivity,则应该MainLauncher = true
从MainActivity中删除,这样UITest只会找到一个主要活动。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句