Automation23
Member
- Joined
- Jul 13, 2022
- Messages
- 7
- Programming Experience
- 1-3
Hello everyone!
I am doing mobile automation and facing some difficulties.
Currently, I have a test that selects specific programs(behavioral health) and collects data for them.
Methods
Here is the snippet of ChooseBehaviorsPrograms method I currently have:
It's a bit confusing for me just to build the logic for that. The elements that the driver finds are stored in a list of AppiumWebElements. As far as I know, we need first to convert the list of elements to a list of strings and then to an array. How can I adjust the method that would accept an array of strings and still choose multiple options by text? And how parameters in the TestCase for the test will look like with an array?
Thank you in advance!
I am doing mobile automation and facing some difficulties.
Currently, I have a test that selects specific programs(behavioral health) and collects data for them.
C#:
[Test]
[TestCase("App", "Only goals", "test duration", "Baseline to Teaching - Frequency_V2", "Keeping Hands Appropriate while Sitting")]
public void TestCollectDataForAppClient(string client, string behProgram1, string behProgram2, string skProgram1, string skProgram2)
{
new LoginScreen(driver).LoginToCollectData(Config.apptStaff, Config.apptStaffPassword)
.SearchAClient(client)
.ChooseBehaviorsPrograms(behProgram1, behProgram2)
.ChooseSkillsPrograms(skProgram1, skProgram2)
.ClickForwardArrow()
.CollectSkillDataForAppClient(4, 2, 1)
.GoToBehaviorTab()
.CollectBehaviorDataForAppClient(3, 10)
.FillOutTheABCNote("Notes Check")
.IsRecordDataSyncedSuccessfully()
.Should()
.BeTrue();
}
Methods
ChooseBehaviorsPrograms
and ChooseSkillsPrograms
accept two parameters which are the names of each program that I provided in TestCase attribute, but my lead wants to use an array that will store variables(the list of programs in this case) like this string[] behaviors
and in the test, it would like this .ChooseBehaviorsPrograms(behaviors)
Here is the snippet of ChooseBehaviorsPrograms method I currently have:
C#:
public ProgramsScreen ChooseBehaviorsPrograms(string programName1, string programName2)
{
behaviors.Tap(driver);
listOfPrograms.ClickElementFromList(driver, programName1);
listOfPrograms.ClickElementFromList(driver, programName2);
behaviors.Tap(driver);
return this;
}
It's a bit confusing for me just to build the logic for that. The elements that the driver finds are stored in a list of AppiumWebElements. As far as I know, we need first to convert the list of elements to a list of strings and then to an array. How can I adjust the method that would accept an array of strings and still choose multiple options by text? And how parameters in the TestCase for the test will look like with an array?
Thank you in advance!