如何在Coded UI VS2013中创建页面对象模型框架
本文关键字:创建 对象模型 框架 VS2013 Coded UI | 更新日期: 2023-09-27 18:25:25
我试图为正在测试的网站从头开始创建一个Coded Ui框架。
我知道也许有更好的方法来解决这个问题,找到一个我可以使用的免费版本(例如Cuite),但我想从一开始就知道它是如何工作的,并对它正在做的事情有信心。
这是我设置的。
我有一个主要的编码UI目录,我创建了一个PageObjects文件夹,它与Properties和References目录(存储库)位于同一级别。
页面对象目录包含每个页面的子文件夹(例如主页、注册、注册、联系我们等)
每个子文件夹都有一个".uitest"文件(例如Home.uitest、Registration.uitest)在主文件夹中,有一个UIMap.uitest文件仍然存在。
Page_Objects
------- Home_Page
----------------- NavigateToThe_Home_Page.cs
----------------- RefreshThe_Home_Page.cs
----------------- SelectLinksOnMenuItem_Home_Page.cs
----------------- PAginateThroughInformation_Home_Page.cs
----------------- Home_Page.cs
---------------------------- Home_Page.Designer.cs
---------------------------- Home_Page (partial)
----------------- Home_Page.uitest
------- Registration
----------------- Registration.cs
---------------------------- Registration.Designer.cs
---------------------------- Registration (partial)
----------------- Registration.uitest
UIMap.uitest
这似乎在一定程度上起到了作用,但当从一个目录(Home)在另一个目录中运行测试(注册,甚至回到根级别)时,我仍然会遇到问题。
我只想知道使用这个过程的最佳方式,因为我找不到任何关于如何做到这一点的明确定义。
我是自动化方面的新手,所以在向我解释事情时请保持简单。
非常感谢
Phil
没有唯一的页面对象模型,因为不需要所有页面对象模型框架都相同。因此,您可以使用页面对象创建自己的框架。
,我建议你做我做的事
(1) 创建一个类测试方法(也许您已经拥有了它)。说它是CodedUI.cs
(2) 您说您已经有了.uitest文件,所以请确保为每个uimap.cs提供一个唯一的名称
*HomeUIMap.cs
*RegistrationUIMap.cs
*ContactUs.cs
(3) 现在为codedUI.cs类中的所有uimap.cs创建对象
*HomeUIMap HomeObj = new HomeUIMap();
*RegistrationUIMap RegObj = new RegistrationUIMap();
*ContactUsUIMap ContactUsObj = new ContactUsUIMap();
(4) 现在,您可以按所需顺序使用对象调用每个页面的函数。
示例:
*主页对象导航到主页()
*HomeObj.RefreshHomePage();
希望你现在有个主意。