【问题标题】:How to send random user events to a WPF application如何将随机用户事件发送到 WPF 应用程序
【发布时间】:2013-05-01 20:17:06
【问题描述】:

我想为我的 wpf 应用程序创建一个“模糊测试”,以便处理大量随机用户事件。

关于如何做到这一点的任何想法。我看到了像 Ranorex 这样的工具,我可以在其中自动化 Ui 事件以进行测试自动化,但我真的想随机而不是有序地进行。

谢谢!

【问题讨论】:

    标签: .net wpf user-interface automated-tests ranorex


    【解决方案1】:

    您可以编写自己的单独“猴子测试”工具来进行随机点击。

    为此,获取窗口的边界,然后单击该矩形内的随机坐标。

    代码如下所示:

    // 1) Find the process
    var processes = Process.GetProcessByName("MyWPFApp");
    
    // 2) Get handle to its window, find its bounds/rectangle
    IntPtr handle = processes[0].MainWindowHandle;
    
    RECT rect;
    GetWindowRect(handle, out rect));
    
    // 3) Send clicks to the window
    SendClicksToRect(rect); //you will need to implement this method, 
    // it will use mouse_event() as mentioned here: https://stackoverflow.com/questions/2416748/how-to-simulate-mouse-click-in-c
    

    请注意,您将要添加错误检查,上面的代码不会这样做

    使用方法:

    编写自己的代码的优势在于,您可以自定义它以遵循您的用户想要的场景[*],从而比随机点击更多的代码。

    [*] 就像在执行一个场景,然后然后做一些随机点击

    【讨论】:

    • 您是否建议将其构建到我的应用程序中?另外,我将如何获取我的 wpf 窗口的边界?
    • 我建议将其作为一个单独的应用程序。至于获取窗口的边界,我会更新我的答案。
    猜你喜欢
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多