Tar*_*run 4 java refactoring selenium
我有Selenium测试填写表格.我有一个方法,但这个方法在参数数量方面已经过度生长 -
newMerchantPage.addEditMerchant(merchantDomain, merchantName,
merchantCategory, true, merchantDescription, merchantNotes,
merchantTags, true, true, false, false, merchantTitle,
additionalDescription, merchantHeading, dummyCouponLink, true);
Run Code Online (Sandbox Code Playgroud)
只有字符串和布尔值.我正在考虑使用集合,然后在调用方法中迭代集合以进行更多处理.虽然还不确定这是否可行.有什么建议?
修改方法:
在实施了几个建议后,我的方法(不同的方法)看起来像 -
ContactPage contactPage = new ContactPage(driver);
setContactFormData();
contactPage.setName(name).setEmailAddress(emailAddress).setSubject(subject).setM? ?essage(message);
contactPage.submitContactForm(contactPage);
Run Code Online (Sandbox Code Playgroud)
submitContactForm依次调用不同的实用程序方法.看起来有多糟糕?特别是最后一行(对象的方法调用和作为参数传递的同一对象)?
一种常见的方法是将参数包装在一个类中.然后,这个类可以提供返回的set方法this以允许很好的链接.(参见ProcessBuilder一个很好的例子.)
例:
MerchantData data = new MerchantData(); // initialize with sensible defaults
data.setDomain("example.com")
.setName("Some Name")
.setTags("tag1, tag2);
newMerchantPage.addEditMerchant(data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |