繁体   English   中英

如何在Android / iOS移动测试-C#中截屏?

[英]How to take screenshot in android/iOS mobile testing - C#?

如何使用C#语言针对执行Android / iOS移动版自动测试的不同步骤拍摄屏幕截图?

关于如何执行此操作似乎有很多建议

这是OnCreateView()一个地方代码:

public static Android.Content.Context Context { get; private set; }

public override View OnCreateView(View parent, string name, Context context, IAttributeSet attrs)
{
MainActivityContext = context;
return base.OnCreateView(parent, name, context, attrs);
}`

Then, I wrote a service implemenatation in which I take a screen capture, by using the static Context of the MainActivity, like this :

`public class SnapshotService : ISnapshotService
{
public void Capture()
{
var screenshotPath = 
Android.OS.Environment.GetExternalStoragePublicDirectory("Pictures").AbsolutePath +
Java.IO.File.Separator + 
"screenshot.png";
var rootView = ((Android.App.Activity)MainActivity.Context).Window.DecorView.RootView;

    using (var screenshot = Android.Graphics.Bitmap.CreateBitmap(
            rootView.Width, 
            rootView.Height, 
            Android.Graphics.Bitmap.Config.Argb8888))
    {
        var canvas = new Android.Graphics.Canvas(screenshot);
        rootView.Draw(canvas);

        using (var screenshotOutputStream = new System.IO.FileStream(
                    screenshotPath, 
                    System.IO.FileMode.Create))
        {
            screenshot.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 90, screenshotOutputStream);
            screenshotOutputStream.Flush();
            screenshotOutputStream.Close();
        }
    }
}
}`

C#

您可以使用以下代码:

ScenarioContext.Current.Get<IApp>("Application").Screenshot(ScenarioStepContext.Current.StepInfo.Text);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM