-
Notifications
You must be signed in to change notification settings - Fork 0
/
InstrumentsRunner.cs
54 lines (45 loc) · 1.12 KB
/
InstrumentsRunner.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System.Diagnostics;
using System.Collections.Generic;
using System;
using System.Text;
namespace BddWithXamarinUITest
{
public class InstrumentsRunner
{
static string[] GetInstrumentsOutput()
{
const string cmd = "/usr/bin/xcrun";
var startInfo = new ProcessStartInfo
{
FileName = cmd,
Arguments = "instruments -s devices",
RedirectStandardOutput = true,
UseShellExecute = false,
StandardOutputEncoding = Encoding.UTF8
};
Process proc = new Process();
proc.StartInfo = startInfo;
proc.Start();
var result = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
var lines = result.Split('\n');
return lines;
}
public Simulator[] GetListOfSimulators()
{
var simulators = new List<Simulator>();
var lines = GetInstrumentsOutput();
foreach (var line in lines)
{
var sim = new Simulator(line);
if (sim.IsValid())
{
simulators.Add(sim);
}
}
//var names = simulators.Select(x => x.Name).Aggregate((current, next) => current + System.Environment.NewLine + next);
//Console.WriteLine (names);
return simulators.ToArray();
}
}
}