【发布时间】:2021-09-25 06:29:59
【问题描述】:
我想知道解决我遇到的问题的最佳设计是什么
我的应用程序中有一个页面,其中一个表单显示在用户可以输入数据的页面上。根据登录用户的类型,会有一些常见的文本框、下拉菜单等以及一些用户特定的输入数据字段。
例如,对于内部用户,所有输入字段都将显示,而对于外部用户,将仅显示有限的输入字段。
问题是应该根据用户显示 4-5 种不同的表单
当前我有一个基本页面,表单页面继承了页面页面
public class BasePage
{
PageFactory.InitElements(); etc.
}
Public class FormPage : Base Page
{
// All elements and methods for all types of forms
}
这里我不确定什么是最好的方法
我应该为每种表单类型创建单独的类并继承 FormPage 吗?
我在下面添加了一个示例,但我的应用程序非常复杂,但它应该让您了解设计
public class FormInternalUser : Form Page
{
public void SubmitFormAction(string inputTextBox1, string inputTextBox2, string inputTextBox3, string inputTextBox4, string user)
{
// code
attachFile(user)
}
public override void attachFile(string user)
{
//code
}
// other specific methods
}
public class FormExternalUser : Form Page
{
public void SubmitFormAction(string inputTextBox1, string inputTextBox2, string user)
{
// code
attachFile(user)
}
public override void attachFile(string user)
{
// code
}
// other specific methods
}
或者有更好的方法吗?也许是策略设计模式或类似的东西?
【问题讨论】:
标签: c# selenium selenium-webdriver design-patterns automation