But*_*ler 0 c# selenium-webdriver
I wish to use this method in another method, but the problem is chooseFleet can either be one or two. How to do this in C#?
[TestMethod]
[TestCategory("UserMgt")]
public void CompleteRegProcessPass(string role, string chooseFleet)
{
var blobClient = new AzureStorageBlobClient(AzureStorageBlobClient);
_regRep.btnAddUser.Click();
objCommon.EnterText(_regRep.firstNameAdd, userName);
objCommon.EnterText(_regRep.lastNameAdd, "Smithy");
objCommon.EnterText(_regRep.userEmailAdd, emailID);
objCommon.EnterText(_regRep.userTelephoneAdd, "12345678901");
objCommon.Exists(_regRep.userRoleManager, 10);
objCommon.ScrollInToViewAndClick(**role**);
objCommon.Exists(_regRep.chooseFleet, 5);
objCommon.ScrollInToViewAndClick(cf1);
objCommon.ScrollInToViewAndClick(cf2);
objCommon.Click(_regRep.btnSaveUser);
System.Threading.Thread.Sleep(1000);
}
Run Code Online (Sandbox Code Playgroud)
public void CompleteRegProcessPass(string role, params string[] chooseFleet)
Run Code Online (Sandbox Code Playgroud)
You can call it like:
CompleteRegProcessPass("role", "cf1");
CompleteRegProcessPass("role", "cf1", "cf2");
Run Code Online (Sandbox Code Playgroud)
At the same time it's possible to call it like this:
CompleteRegProcessPass("role");
CompleteRegProcessPass("role", "cf1", "cf2", "cf3");
Run Code Online (Sandbox Code Playgroud)
To get the best from both worlds:
public void CompleteRegProcessPass(string role, string chooseFleet1) =>
CompleteRegProcessPassImpl(role, chooseFleet1);
public void CompleteRegProcessPass(string role, string chooseFleet1, string chooseFleet2) =>
CompleteRegProcessPassImpl(role, chooseFleet1, chooseFleet2);
private void CompleteRegProcessPassImpl(string role, params string[] chooseFleet)
{
...
foreach(var cf in chooseFleet)
{
objCommon.ScrollInToViewAndClick(cf);
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |