1

UI ピース (ページ オブジェクト モデルとしてキャプチャ) のテストを自動化するために CUITe を使用しています。

次のように、UI のボタンをキャプチャするクラスがあります。

class Navigators : CUITe_BrowserWindow
{
  public new string sWindowTitle = "Window";
  public CUITe_HtmlInputButton next = new CUITe_HtmlInputButton("Id=Content_btnNext");

  // Other such buttons

  //And a method to click any button
  public void ClickButton(string id)
  {
    CUITe_BrowserWindow.GetBrowserWindow<Navigators>().Get<CUITe_HtmlInputButton>(string.Concat("Id=", id)).Click();
  }
}

そして、私が自動化しようとしているテストは、ボタンをクリックすることです:

CUITe_BrowserWindow.Launch<Navigators>("url");
CUITe_BrowserWindow.GetBrowserWindow<Navigators>().ClickButton("Content_btnNext");

私の問題は次のとおりです。画面をセカンダリ モニターに投影して拡張すると、[次へ] ボタンが完全にクリックされます。ただし、私のシステムでは、マウスがボタンの上を別の位置に移動し、クリックが発生しません。

(SearchConfiguration を Always に設定して) CodedUI キャッシュを更新しようとしましたが、うまくいきませんでした。また、コントロールの SetFocus は正しく機能しますが、DrawHighlight は間違った位置を示します。

どんな助けでも大歓迎です。

EDIT 画面の解像度を 1440x900 (セカンダリ モニターの解像度) に変更すると、クリックが発生しました。

コード化された UI でさまざまな解像度の画面を処理する方法を示すリンクを誰かが提供できれば幸いです

4

2 に答える 2

0

Below is how I've been doing it in my CUITe scripts & it works fine at 1920x1080 on my larger monitor & at 1280x1024 on my laptop screen.

Given your OR definition above.

using Navigators.ObjectRepository; //guessing the name here

var pgNavigator = new Navigators();

//whatever else you do before clicking on next

Navigators.next.Click();
于 2014-03-27T19:38:48.653 に答える
0

これは、Win 8.1ストアアプリでコントロールをクリックする方法です。これは、役立つ場合とそうでない場合があります。

            Mouse.Click(new Microsoft.VisualStudio.TestTools.UITest.Input.Point(uiControl.Left + (uiControl.Width / 2), uiControl.Top + (uiControl.Height / 2)));
于 2014-03-25T21:57:50.917 に答える