Selenium webdriver 如何使用编码用户界面从网页中获取文本

Selenium webdriver 如何使用编码用户界面从网页中获取文本,selenium-webdriver,coded-ui-tests,microsoft-test-manager,visual-studio-test-runner,Selenium Webdriver,Coded Ui Tests,Microsoft Test Manager,Visual Studio Test Runner,更新日期:2014年5月14日 脚本代码: I am new for coded ui and I have got stuck for processing message display on webpage. As we used to get text from web page in selenium using method getText(), is such kind of possibility are available in coded ui.? I would appr

更新日期:2014年5月14日

脚本代码:

I am new for coded ui and I have got stuck for processing message display on webpage. As we used to get text from web page in selenium using method getText(), is such kind of possibility are available in coded ui.?

I would appreciate your help!!!!

Thanks,
Dani

//使用编码UI运行此代码时,系统会出现异常:消息-“若要测试Windows应用商店应用,请使用Windows应用商店节点下Windows应用商店应用的编码UI测试项目模板。”此代码中是否缺少某些内容?如果您能提供配置缺少组件的链接,将不胜感激。您要查找的属性是InnerText。例如,在超链接上,例如:

 public void FPInternetExplorer()
        {
            #region Variable Declarations
            HtmlEdit uIUserNameEdit = this.UIFundingPilotPortalWiWindow.UIFundingPilotPortalDocument.UIUserNameEdit;
            HtmlEdit uIPasswordEdit = this.UIFundingPilotPortalWiWindow.UIFundingPilotPortalDocument.UIPasswordEdit;
            HtmlInputButton uILoginButton = this.UIFundingPilotPortalWiWindow.UIFundingPilotPortalDocument.UILoginButton;
            HtmlEdit uISecurityQuestionAnswEdit = this.UIFundingPilotPortalWiWindow.UIFundingPilotPortalDocument.UISecurityQuestionAnswEdit;
            HtmlInputButton uIValidateButton = this.UIFundingPilotPortalWiWindow.UIFundingPilotPortalDocument.UIValidateButton;
            #endregion

            this.UIInternetExplorerEnhaWindow6.LaunchUrl(new System.Uri(this.FPInternetExplorerParams.UIInternetExplorerEnhaWindow6Url));

            // Type 'test@test.test' in 'User Name' text box
            uIUserNameEdit.Text = this.FPInternetExplorerParams.UIUserNameEditText;

            // Type '{Tab}' in 'User Name' text box
            Keyboard.SendKeys(uIUserNameEdit, this.FPInternetExplorerParams.UIUserNameEditSendKeys, ModifierKeys.None);

            // Type '********' in 'Password' text box
            uIPasswordEdit.Password = this.FPInternetExplorerParams.UIPasswordEditPassword;

            // Click 'Login' button
            Mouse.Click(uILoginButton, new Point(62, 19));

    //Code to get the text from div tag. This is the code I have added  
            HtmlDiv testLabel = new HtmlDiv();
            testLabel.SearchProperties[HtmlDiv.PropertyNames.Id] = "SecurityQuestion_AnswerText";
            string myText = testLabel.InnerText;
            Console.Write("myText " + myText);

            // Type 'Computer' in 'SecurityQuestion.AnswerText' text box
            uISecurityQuestionAnswEdit.Text = this.FPInternetExplorerParams.UISecurityQuestionAnswEditText;

            // Type '{Tab}' in 'SecurityQuestion.AnswerText' text box
            Keyboard.SendKeys(uISecurityQuestionAnswEdit, this.FPInternetExplorerParams.UISecurityQuestionAnswEditSendKeys, ModifierKeys.None);

            // Click 'Validate' button
            Mouse.Click(uIValidateButton, new Point(81, 25));
        }

通过选择页面的外部容器并获取页面的内部文本,然后解析字符串以获取所需内容,您可以推断出这一点,只需读取页面上的所有文本,但我发现,如果您使用的是最集中的对象,则会简单得多。

使用十字光标工具记录对所需文本的断言。从uimap.designer.cs文件中的断言方法复制收集文本的代码,并将其放入您自己的代码中。删除对断言方法的调用。@Adrianhh感谢您的评论,我将按照您的建议查看uimap.designer.cs。我非常感谢您的输入。我将使用提供的示例代码,如果我遇到任何问题,请告诉您。谢谢Danhi Rayan,我已在脚本“HtmlDiv testLabel=new HtmlDiv;testLabel.SearchProperties[HtmlDiv.PropertyNames.Id]=SecurityQuestion\u AnswerText;//testLabel.SearchProperties[HtmlDiv.PropertyNames.Name]=SecurityQuestion.AnswerText;字符串myText=testLabel.InnerText;Console.WritemyText+myText;和系统显示异常要测试Windows应用商店应用程序,请使用Windows应用商店节点下Windows应用商店应用程序的编码UI测试项目模板。少了什么吗?你能帮忙吗?Thanks@dani编辑问题以显示您添加的代码可能更好。这样就可以将其格式化为可读。如果代码生成异常,则显示实际消息,而不是其摘要。否则请详细解释发生了什么或没有发生什么。谢谢,Ryan&Adrian。现在我可以从网页中获取文本了,我已经记录了一个断言,并从方法中复制了代码,并存储在字符串变量中。HtmlDiv uQuestion=this.UIInternetExplorerEnhaWindow.UIFundingPilotPortalDocument.uiWhatisYourFavoritePPANE;字符串getQuestion=uQuestion.InnerText;这对我有用谢谢,
HtmlHyperlink target = new HtmlHyperlink();
target.SearchProperties[<search property>] = <value>;
string myText = target.InnerText;