在Selenium页面对象模型模式中,网页表示为类,页面上的各种元素被定义为类中的变量,用户交互作为类中的方法实现。
这是为每个页面创建单独的类。
这是一个电子商务应用程序,包括登录页面,主页,搜索,产品,购物车,结帐和订单确认。
还有variuos模式,如购物车预览,添加客户等。 某些模态将在多个页面上可见,某些模态仅在特定页面上可见。
E.g。购物车预览模式将显示购物车中的当前产品,数量,价格,总数等信息,并且可以从家中,搜索,产品和购物车页面访问。
添加客户模式将包含添加新客户名称,条件信息,地址等的字段,此模式仅在结帐页面上可见。
如果我正在使用页面对象模型模式,我应该在哪里定义这些模态,我的意思是我应该为模态创建一个单独的类,还是应该在相应的封闭页面中定义它们?
我应该为多个页面上可见的模态创建一个单独的类,并在相应的封闭类中定义页面特定的模态吗?
答案 0 :(得分:2)
根据Page Object Design Pattern后面的测试设计注意事项:
Page Object 是一个面向对象的类,用作正在测试的应用程序页面的接口。只要需要与该页面的用户界面进行交互,您的@Tests
就会使用此 Page Object 类的方法。好处是,如果页面的UI发生变化,则@Tests
本身不需要更改。只需更改 Page Object 中的代码。
优点:
基于这些功能以及您在 UAT 中观察到的Modal Box的优势是Bootstrap Modal Plugin的结果,而且基本上是 HTML DOM <的一部分/ em>同一页面。因此,还应为每个页面对象单独定义这些定位器和关联的方法,以便与之关联的 WebElement 页面对象初始化时,这些Modal Box也会被初始化。