2016-05-09 6 views
1

Ich habe eine mobile Testsuite, die auf Android- und iOS-Geräte abzielt. Im Interesse einer ähnlichen Umgebung für Android und iOS möchte ich die Stock-Fotos in den iOS-Geräten entfernen, die vom Simulator erstellt wurden.Fotos aus dem iOS-Simulator entfernen

Gibt es eine zuverlässige Möglichkeit, Stock Photos aus dem iOS-Simulator über die Befehlszeile zu entfernen? Auf eine solche Weise, dass es für jeden Lauf der Testsuite wiederholt werden kann?

Antwort

1

Alle Simulator-Fotodaten werden in path/to/[Simulator UDID]/data/Media/DCIM/ und path/to/[Simulator UDID]/data/Media/PhotoData/ gespeichert. Sie könnten ein Skript schreiben, das alle zu entfernenden Simulator-UDIDs (oder speziell Ihre eigenen) enthält. Sie können xcrun simctl list oder instruments -s devices verwenden, um alle derzeit verbundenen Geräte-UDIDs aufzulisten.

Hier ist ein kleiner Ruby-Skript, das Ihre Bedürfnisse passen sollte:

simulatorList = [] 

# Get all of the simulator UUIDs from Xcode 
rawSimulatorList = `xcrun simctl list` 
rawSimulatorList.each_line do |line| 
    if line.start_with?(" ") 
     simulator = line.strip 

     # Ignore any simulators that aren't working 
     if !simulator.include?("unavailable") 

      # Extract the UUID 
      uuid = simulator.match(/\([A-Z0-9\-]+\)/)[0] 
      uuid = uuid.gsub("(","") 
      uuid = uuid.gsub(")","") 

      # Extract the device name 
      deviceName = simulator.split(' ')[0] + " " + simulator.split(' ')[1] 
      device = { "name" => deviceName, "uuid" => uuid } 
      simulatorList.push(device) 
     end 
    end 
end 

simulatorList.each do |simulator| 
    `rm -rf ~/Library/Developer/CoreSimulator/Devices/#{simulator['udid']}/data/Media/DCIM/` 
    `rm -rf ~/Library/Developer/CoreSimulator/Devices/#{simulator['udid']}/data/Media/PhotoData/` 
end 

Ruby ist nicht meine erste Sprache und das Drehbuch wurde von Ian Spence reset.rb script angepasst. Ihr Kilometerstand kann davon abweichen.

+0

Das scheint nicht zu funktionieren, zumindest nicht mit Appium. Appium scheint das Gerät zurückzusetzen, nachdem das Skript die Fotos entfernt hat. – netbrain

+0

@netbrain Wusste nicht, dass Sie Appium benutzen. Wird versuchen, eine andere Lösung für Sie zu finden. – JAL

Verwandte Themen