我已经开始使用Xamarin UITest来验证我的应用程序的行为。我想让测试在逻辑上分开(我的意思是,如果一个测试失败,另一个测试不应该失败,因为第一个,它们应该是独立的)。我的应用程序有多个活动,我在文档中找不到如何打开特定的活动。
我能找到的最接近的是:
[SetUp]
public void BeforeEachTest()
{
app = ConfigureApp.Android.LaunchableActivity("MyActivity").StartApp ();
}
但没有任何事情发生。我可以这样做吗?有解决方法吗?
由于
答案 0 :(得分:1)
一个非常晚的回应,但我认为我会让其他人找到。为了使用特定活动启动应用程序,UITest需要两条信息,即应用程序名称(或APK文件路径)和活动名称。
对于已经安装到设备或模拟器上的应用程序,在AndroidConfigurator上调用StartApp()将如下所示:
app = ConfigureApp
.Android
.InstalledApp("packagename")
.LaunchableActivity("activityname")
.StartApp();
或者如下APK文件:
app = ConfigureApp
.Android
.ApkFile("filename")
.LaunchableActivity("activityname")
.StartApp();
答案 1 :(得分:0)
试试这段代码:
if (platform == Platform.Android)
{
string currentFile = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
FileInfo fi = new FileInfo(currentFile);
string dir = fi.Directory.Parent.Parent.Parent.FullName;
var PathToAPK = Path.Combine(dir, "LetsGetNative.Droid", "bin", "Debug", "LetsGetNative.Droid.apk");
app = ConfigureApp.Android.ApkFile(PathToAPK).WaitTimes(new WaitTimes()).EnableLocalScreenshots().StartApp();
}
else
{
app = ConfigureApp.iOS.StartApp();
}