0

私はSharePoint2010のピープルピッカーを自動化しようとしていますが、ウィンドウ内のコントロールを強調表示することさえ非常に困難です。ハンドコーディングを使用してウィンドウを見つけましたが、ウィンドウ内のコントロールが強調表示されていません。

 WinWindow pp = new WinWindow(browserWindow);
        pp.TechnologyName = "MSAA";
        pp.SearchProperties[WinWindow.PropertyNames.ClassName] = "Internet Explorer_TridentDlgFrame";
        pp.SearchProperties[WinWindow.PropertyNames.ControlType] = "Window";
        pp.SearchProperties[WinWindow.PropertyNames.Name] = "Select People -- Webpage Dialog";
        pp.Find();
        pp.DrawHighlight();

Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument doc = new Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument(pp);
        doc.TechnologyName = "Web";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.TagName] = "BODY";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.FrameDocument] = "False";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.RedirectingPage] = "False";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.ControlType] = "Document";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.Title] = "Select People";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.PageUrl] = PAGE_URL_Here;
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.AbsolutePath] = AbsolutePath_Here;
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.ClassName] = "HtmlBody";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.FriendlyName] = "Select People";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.HasFocus] = "False";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.Exists] = "True";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.Enabled] = "True";
        doc.SearchProperties[Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlDocument.PropertyNames.IsTopParent] = "False";
        doc.Find();
        doc.DrawHighlight();

上記のコードは、ピープルピッカーウィンドウを簡単に強調表示し、このオブジェクトを使用して、その中のコントロールが見つからないことを見つけました。

このエラーが表示されています...

    The playback failed to find the control with the given search properties. Additional Details: 
TechnologyName:  'Web'
TagName:  'BODY'
FrameDocument:  'False'
RedirectingPage:  'False'
ControlType:  'Document'

私はそれを正しくやっていますか?

4

1 に答える 1

0

私はこれに対する答えを見つけました..十字線を使用するか記録すると、ピープルピッカーのコントロールが別のコントロールとして表示されますが、コードを介して検索すると、その中のすべてのコントロールが編集ボックスとして表示されます。そのため、すべてのコントロールを UITestControlCollection に格納し、ループを使用して name プロパティを使用して必要なコントロールを見つける必要があります。次に、マウスまたはキーボード操作を行います。

//write ur code here to find the parent control
UITestControlCollection controlFound = matching.FindMatchingControls();
//use loop to find the control
于 2013-02-04T08:56:24.053 に答える