]I’m automating baseball sports reporter application. My application is a desktop application. I’m using winium tool with java language. In my application table contain player names in alphabetical order. I want to select 8 players from the list in same order as you can see above order. And also I want to select the matching positions.
These are the players that i need to select::
#players names :: positions
Happ = CF
Bryant = 3B
Rizzo = 1B
Contreras = C
Schwarber = LF
Russell = SS
Heyward = RF
Baez = 2B
now i need to select the particular players that I mentioned above list order.
My application manual working process is first double click a player and mean time a window came to select the position by single click. example firstly , I need to select the player Happ and his position CF(center field) then select the player Bryant and his position 3B(third base) etc…
public void awayTeamHitters() {
try
{
String[] players = new String[]
{
“Happ, Ian#”,
“Bryant, Kris”,
“Rizzo, Anthony*”,
“Contreras, Willson”,
“Schwarber, Kyle*”,
“Russell, Addison”,
“Heyward, Jason*”,
“Baez, Javier”
};
String[] positions=new String[]
{
“CF”,
“3B”,
“1B”,
“C”,
“LF”,
“SS”,
“RF”,
“2B”
};
List<String> playersInList = Arrays.asList(players);
List<String> positionsInlist=Arrays.asList(positions);
//selecting players of 2 table
driver.findElement(By.id(“lblAwayTeamHittersAll”)).click(); // click on 2 tables all players
WebElement table1 = driver.findElement(By.id(“lsvAwayTeamHitters1”));
WebElement table2 = driver.findElement(By.id(“lsvAwayTeamHitters2”));
//taking row size
List<WebElement> rows1 = table1.findElements(By.xpath(“./*[contains(@LocalizedControlType, ‘item’)]”));
List<WebElement> rows2 = table2.findElements(By.xpath(“./*[contains(@LocalizedControlType, ‘item’)]”));
//create string array add players to player_table1
List<String> player_table1=new ArrayList<String>();
for(int i=0;i<rows1.size();i++) {
List<WebElement> cols1 = rows1.get(i).findElements(By.xpath(“./*[contains(@LocalizedControlType, ‘text’)]”));
for(int j=3;j<cols1.size();j++) {
String celtext1 = cols1.get(j).getAttribute(“Name”);
player_table1.add(celtext1);
}
}
//create string array and add players to player_table2
List<String> player_table2=new ArrayList<String>();
for(int i=0;i<rows2.size();i++) {
List<WebElement> cols2 = rows2.get(i).findElements(By.xpath(“./*[contains(@LocalizedControlType, ‘text’)]”));
for(int j=3;j<cols2.size();j++) {
String celtext2 = cols2.get(j).getAttribute(“Name”);
player_table2.add(celtext2);
}
}
//combine player table 1 and 2
player_table2.addAll(player_table1);
List<String> player_table3=new ArrayList<String>();
player_table3.addAll(player_table2);
System.out.println(player_table3); //it will print the 25 player names
int p=player_table3.size();
System.out.println(p); //it will print the size 25
for(int i=0;i<p;i++) {
if(playersInList.contains(player_table3)) {
Actions act = new Actions(driver);
act.doubleClick(playersInList).build().perform();
}
WebElement pos= driver.findElementById(“PlayerPositions”);
List<WebElement> col=pos.findElements(By.xpath(“./*[contains(@LocalizedControlType, ‘button’)]”));
if(positionsInlist.contains(col)) {
pos.click();
}
}
}
catch (Exception e) {
System.out.println(e);
}
}
}
I have 2 tables in my application and I add it into one list..
Here double click action is not performing and after printing 25 player names and size .it will got stop.