Exemplo n.º 1
0
        private void ScanForCustomScreengrabber(IEnumerable <Type> types)
        {
            var implementingTypes = types.Where(type =>
                                                type.GetInterfaces().Any(t => t.FullName == "Gauge.CSharp.Lib.ICustomScreenshotGrabber"));

            ScreenshotWriter = implementingTypes.FirstOrDefault();
            if (ScreenshotWriter is null)
            {
                return;
            }
            var csg = (ICustomScreenshotGrabber)_activatorWrapper.CreateInstance(ScreenshotWriter);

            GaugeScreenshots.RegisterCustomScreenshotGrabber(csg);
        }
Exemplo n.º 2
0
        private string TryScreenCapture()
        {
            try
            {
                InvokeScreenshotCapture();
            }
            catch (System.NullReferenceException)
            {
                Logger.Warning("Unable to capture screenshot, CustomScreenshotWriter is probably not set, retrying with DefaultScreenshotWriter");
                GaugeScreenshots.RegisterCustomScreenshotWriter(new DefaultScreenshotWriter());
                try
                {
                    InvokeScreenshotCapture();
                }
                catch (System.Exception ex)
                {
                    Logger.Warning($"Unable to capture screenshot with DefaultScreenshotWriter, {ex.Message}\n{ex.StackTrace}");
                }
            }
            var messageCollectorType = _assemblyLoader.GetLibType(LibType.ScreenshotFilesCollector);

            return((_reflectionWrapper.InvokeMethod(messageCollectorType, null, "GetAllPendingScreenshotFiles",
                                                    BindingFlags.Static | BindingFlags.Public) as IEnumerable <string>).FirstOrDefault());
        }
Exemplo n.º 3
0
 public void TakeScreenshot() => GaugeScreenshots.Capture();
Exemplo n.º 4
0
 public void TakeProjectReferenceScreenshot()
 {
     GaugeScreenshots.RegisterCustomScreenshotWriter(new ReferenceProject.ScreenshotWriter());
     GaugeScreenshots.Capture();
     GaugeScreenshots.RegisterCustomScreenshotWriter(new StringScreenshotWriter());
 }
Exemplo n.º 5
0
 public void ContinueOnFailure()
 {
     GaugeScreenshots.RegisterCustomScreenshotWriter(new StringScreenshotWriter());
     throw new CustomSerializableException("I am a custom serializable exception");
 }