Merge pull request #5248 from solgenomics/topic/batch_update_trials
[sgn.git] / t / selenium2 / solgs / kcluster.t
blob10e1a00b4ca8dc3708ab3a2d2fb7a7185a22be11
2 use strict;
4 use lib 't/lib';
6 use File::Spec::Functions qw / catfile catdir/;
7 use Test::More;
8 use SGN::Test::WWW::WebDriver;
9 use SGN::Test::Fixture;
10 use SGN::Test::solGSData;
12 my $d = SGN::Test::WWW::WebDriver->new();
13 my $f = SGN::Test::Fixture->new();
15 my $solgs_data = SGN::Test::solGSData->new(
16     {
17         'fixture'                => $f,
18         'accessions_list_subset' => 60,
19         'plots_list_subset'      => 60
20     }
23 my $cache_dir    = $solgs_data->site_cluster_shared_dir();
24 my $protocol_dir = $solgs_data->default_protocol_dir();
25 my $cluster_dir  = catdir( $protocol_dir, 'cluster' );
26 my $log_dir      = catdir( $protocol_dir, 'log' );
28 my $accessions_list = $solgs_data->load_accessions_list();
29 my $accessions_list_name = $accessions_list->{list_name};
30 my $accessions_list_id   = 'list_' . $accessions_list->{list_id};
32 my $plots_list = $solgs_data->load_plots_list();
33 my $plots_list_name = $plots_list->{list_name};
34 my $plots_list_id   = 'list_' . $plots_list->{list_id};
37 my $trials_list = $solgs_data->load_trials_list();
38 my $trials_list_name = $trials_list->{list_name};
39 my $trials_list_id   = 'list_' . $trials_list->{list_id};
41 my $trials_dt      = $solgs_data->load_trials_dataset();
42 my $trials_dt_name = $trials_dt->{dataset_name};
43 my $trials_dt_id   = 'dataset_' . $trials_dt->{dataset_id};
45 my $accessions_dt      = $solgs_data->load_accessions_dataset();
46 my $accessions_dt_name = $accessions_dt->{dataset_name};
47 my $accessions_dt_id   = 'dataset_' . $accessions_dt->{dataset_id};
49 my $plots_dt      = $solgs_data->load_plots_dataset();
50 my $plots_dt_name = $plots_dt->{dataset_name};
51 my $plots_dt_id   = 'dataset_' . $plots_dt->{dataset_id};
54 print STDERR "\ntrials dt: $trials_dt_name -- $trials_dt_id\n";
55 print STDERR "\naccessions dt: $accessions_dt_name -- $accessions_dt_id\n";
56 print STDERR "\nplots dt: $plots_dt_name -- $plots_dt_id\n";
58 print STDERR "\ntrials list: $trials_list_name -- $trials_list_id\n";
59 print STDERR
60   "\naccessions list: $accessions_list_name -- $accessions_list_id\n";
61 print STDERR "\nplots list: $plots_list_name -- $plots_list_id\n";
63 `rm -r $cache_dir`;
65 $d->while_logged_in_as(
66     "submitter",
67     sub {
69         $d->get_ok( '/cluster/analysis', 'cluster home page' );
70         sleep(5);
71        
72         $d->find_element_ok('//tr[@id="' . $accessions_list_id .'"]//*[starts-with(@id, "cluster_type_select")]',
73             'xpath', 'select k-means' )->send_keys('K-means');
74         sleep(1);
75         $d->find_element_ok(
76 '//tr[@id="' . $accessions_list_id .'"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
77             'xpath',
78             'select genotype'
79         )->click();
80         sleep(1);
81         $d->find_element_ok( '//tr[@id="' . $accessions_list_id .'"]//*[starts-with(@id, "k_number_input")]',
82             'xpath', 'select k number' )->send_keys(4);
83         sleep(1);
84         $d->find_element_ok(
85             '//tr[@id="' . $accessions_list_id . '"]//*[starts-with(@id, "run_cluster")]',
86             'xpath',
87             'run clones list (genotype) clustering'
88         )->click();
89         sleep(5);
90         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
91         sleep(90);
93         my $sel_pops = $d->find_element( '//*[contains(text(), "Clustering")]',
94             'xpath', 'scroll up' );
95         my $elem = $d->driver->execute_script(
96             "arguments[0].scrollIntoView(true);window.scrollBy(0, -10);",
97             $sel_pops );
98         sleep(90);
99         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check accessions list geno  kmeans cluster plot');
100     sleep(5);
101         sleep(5);
103         $d->driver->refresh();
104         sleep(3);
106        
107         $d->find_element_ok( '//tr[@id="' . $plots_list_id . '"]//*[starts-with(@id, "cluster_type_select")]',
108             'xpath', 'select k-means' )->send_keys('K-means');
109         sleep(1);
110         $d->find_element_ok(
111 '//tr[@id="' . $plots_list_id . '"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Phenotype"]',
112             'xpath',
113             'select phenotype'
114         )->click();
115         sleep(1);
116         $d->find_element_ok( '//tr[@id="' . $plots_list_id . '"]//*[starts-with(@id, "k_number_input")]',
117             'xpath', 'select k number' )->send_keys(4);
118         sleep(1);
119         $d->find_element_ok(
120             '//tr[@id="' . $plots_list_id . '"]//*[starts-with(@id, "run_cluster")]',
121             'xpath',
122             'run plots list (phenotype) clustering'
123         )->click();
124         sleep(3);
125         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
126         sleep(250);
128         my $sel_pops = $d->find_element( '//*[contains(text(), "Clustering")]',
129             'xpath', 'scroll up' );
130         my $elem = $d->driver->execute_script(
131             "arguments[0].scrollIntoView(true);window.scrollBy(0, -10);",
132             $sel_pops );
133         sleep(5);
134         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check plots phenotype kmeans cluster plot');
135         sleep(5);
137         $d->driver->refresh();
138         sleep(3);
140        
141         $d->find_element_ok('//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_type_select")]',
142             'xpath', 'select k-means' )->send_keys('K-means');
143         sleep(1);
144         $d->find_element_ok(
145 '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
146             'xpath',
147             'select genotype'
148         )->click();
149         sleep(1);
150         $d->find_element_ok('//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "k_number_input")]',
151             'xpath', 'select k number' )->send_keys(4);
152         sleep(1);
153         $d->find_element_ok(
154             '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "run_cluster")]',
155             'xpath',
156             'run trials list (genotype) clustering'
157         )->click();
158         sleep(3);
159         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
160         sleep(250);
162         my $sel_pops = $d->find_element( '//*[contains(text(), "Clustering")]',
163             'xpath', 'scroll up' );
164         my $elem = $d->driver->execute_script(
165             "arguments[0].scrollIntoView(true);window.scrollBy(0, -10);",
166             $sel_pops );
167         sleep(5);
168         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check trials list  geno kmeans cluster plot');
169         sleep(5);
171         $d->driver->refresh();
172         sleep(3);
175         $d->find_element_ok('//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_type_select")]',
176             'xpath', 'select k-means' )->send_keys('K-means');
177         sleep(1);
178         $d->find_element_ok(
179 '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Phenotype"]',
180             'xpath',
181             'select phenotype'
182         )->click();
183         sleep(1);
184         $d->find_element_ok('//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "k_number_input")]',
185             'xpath', 'select k number' )->send_keys(4);
186         sleep(1);
187         $d->find_element_ok(
188             '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "run_cluster")]',
189             'xpath',
190             'run trials list (phenotype) clustering'
191         )->click();
192         sleep(5);
193         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
194         sleep(250);
196         my $sel_pops = $d->find_element('//*[contains(text(), "Clustering")]',
197             'xpath', 'scroll up' );
198         my $elem = $d->driver->execute_script(
199             "arguments[0].scrollIntoView(true);window.scrollBy(0, -10);",
200             $sel_pops );
201         sleep(5);
202         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check trials list geno kmeans cluster plot');
203         sleep(5);
205         $d->driver->refresh();
206         sleep(3);
208         `rm -r /tmp/localhost`;
209         sleep(5);
212         $d->find_element_ok( '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_type_select")]',
213             'xpath', 'select k-means' )->send_keys('K-means');
214         sleep(1);
215         $d->find_element_ok(
216 '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Phenotype"]',
217             'xpath',
218             'select genotype'
219         )->click();
220         sleep(1);
221         $d->find_element_ok( '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "k_number_input")]',
222             'xpath', 'select k number' )->send_keys(4);
223         sleep(1);
224         $d->find_element_ok( '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "run_cluster")]',
225             'xpath', 'run cluster' )->click();
226         sleep(3);
227         $d->find_element_ok( 'queue_job', 'id', 'job queueing' )->click();
228         sleep(2);
229         $d->find_element_ok( 'analysis_name', 'id',
230             'trials list pheno analysis name' )
231           ->send_keys('trials list clustering');
232         sleep(2);
233         $d->find_element_ok( 'user_email', 'id', 'user email' )
234           ->send_keys('email@email.com');
235         sleep(2);
236         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
237         sleep(250);
239         $d->driver->go_back();
240         sleep(5);
243         $d->find_element_ok('//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_type_select")]',
244             'xpath', 'select k-means' )->send_keys('K-means');
245         sleep(1);
246         $d->find_element_ok(
247 '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Phenotype"]',
248             'xpath',
249             'select phenotype'
250         )->click();
251         sleep(1);
252         $d->find_element_ok( '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "k_number_input")]',
253             'xpath', 'select k number' )->send_keys(4);
254         sleep(1);
255         $d->find_element_ok(
256             '//tr[@id="' . $trials_list_id . '"]//*[starts-with(@id, "run_cluster")]',
257             'xpath',
258             'run trials list (pheno) cluster'
259         )->click();
260         sleep(5);
262         # $d->find_element_ok('no_queue', 'id', 'no job queueing')->click();
263         # sleep(250);
265         my $sel_pops = $d->find_element('//*[contains(text(), "Clustering")]',
266             'xpath', 'scroll up' );
267         my $elem = $d->driver->execute_script(
268             "arguments[0].scrollIntoView(true);window.scrollBy(0, -10);",
269             $sel_pops );
270         sleep(5);
271         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check trials list pheno kmeans cluster plot');
272         sleep(5);
274         $d->driver->refresh();
275         sleep(3);
278         $d->find_element_ok('//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "cluster_type_select")]',
279             'xpath', 'select k-means' )->send_keys('K-means');
280         sleep(1);
281         $d->find_element_ok(
282 '//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
283             'xpath',
284             'select genotype'
285         )->click();
286         sleep(1);
287         $d->find_element_ok('//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "k_number_input")]',
288             'xpath', 'select k number' )->send_keys(4);
289         sleep(1);
290         $d->find_element_ok(
291             '//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "run_cluster")]',
292             'xpath',
293             'run trials dataset (genotype) cluster'
294         )->click();
295         sleep(3);
296         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
297         sleep(250);
299         my $sel_pops = $d->find_element( '//*[contains(text(), "Clustering")]',
300             'xpath', 'scroll up' );
301         my $elem = $d->driver->execute_script(
302             "arguments[0].scrollIntoView(true);window.scrollBy(0, 500);",
303             $sel_pops );
304         sleep(2);
305         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check trials dataset geno kmeans cluster plot');
306         sleep(5);
308         $d->driver->refresh();
309         sleep(3);
312         $d->find_element_ok( '//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "cluster_type_select")]',
313             'xpath', 'select k-means' )->send_keys('K-means');
314         sleep(1);
315         $d->find_element_ok(
316 '//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Phenotype"]',
317             'xpath',
318             'select phenotype'
319         )->click();
320         sleep(1);
321         $d->find_element_ok( '//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "k_number_input")]',
322             'xpath', 'select k number' )->send_keys(4);
323         sleep(1);
324         $d->find_element_ok(
325             '//tr[@id="' . $trials_dt_id . '"]//*[starts-with(@id, "run_cluster")]',
326             'xpath',
327             'run trials dataset (phenotype) cluster'
328         )->click();
329         sleep(3);
330         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
331         sleep(250);
333         my $sel_pops = $d->find_element( '//*[contains(text(), "Clustering")]',
334             'xpath', 'scroll up' );
335         my $elem = $d->driver->execute_script(
336             "arguments[0].scrollIntoView(true);window.scrollBy(0, 500);",
337             $sel_pops );
338         sleep(5);
339         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check trials dataset pheno kmeans cluster plot');
340         sleep(5);
343 #### trial page #######
344         `rm -r /tmp/localhost`;
345         sleep(5);
347         $d->get_ok( '/breeders/trial/139', 'trial detail home page' );
348         sleep(5);
350         my $analysis_tools = $d->find_element(
351             'Analysis Tools',
352             'partial_link_text',
353             'toogle analysis tools'
354         );
355         my $elem = $d->driver->execute_script(
356             "arguments[0].scrollIntoView(true);window.scrollBy(0,-50);",
357             $analysis_tools );
358         sleep(5);
359         $d->find_element_ok(
360             'Analysis Tools',
361             'partial_link_text',
362             'toogle analysis tools'
363         )->click();
364         sleep(5);
365         $d->find_element_ok( 'Clustering', 'partial_link_text',
366             'expand cluster sec' )->click();
367         sleep(5);
368         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
369             'xpath', 'select k-means' )->send_keys('K-means');
370         sleep(2);
371         $d->find_element_ok(
372 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Phenotype"]',
373             'xpath',
374             'select phenotype'
375         )->click();
376         sleep(2);
377         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
378             'xpath', 'select k number' )->send_keys(4);
379         sleep(2);
380         $d->find_element_ok(
381             '//*[starts-with(@id, "run_cluster")]',
382             'xpath',
383             'run phenotype cluster'
384         )->click();
385         sleep(3);
386         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
387         sleep(250);
388         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check trial detail page pheno kmeans cluster plot');
389         sleep(5);
391         $d->driver->refresh();
392         sleep(5);
394         my $analysis_tools =
395           $d->find_element( 'cluster_canvas', 'id', 'toogle analysis tools' );
396         my $elem = $d->driver->execute_script(
397             "arguments[0].scrollIntoView(true);window.scrollBy(0,-50);",
398             $analysis_tools );
399         sleep(5);
400         $d->find_element_ok(
401             'Analysis Tools',
402             'partial_link_text',
403             'toogle analysis tools'
404         )->click();
405         sleep(5);
406         $d->find_element_ok( 'Clustering', 'partial_link_text',
407             'expand cluster sec' )->click();
408         sleep(5);
409         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
410             'xpath', 'select k-means' )->send_keys('K-means');
411         sleep(1);
412         $d->find_element_ok(
413 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
414             'xpath',
415             'select genotype'
416         )->click();
417         sleep(1);
418         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
419             'xpath', 'clear k number' )->clear();
420         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
421             'xpath', 'select k number' )->send_keys(4);
422         sleep(1);
423         $d->find_element_ok(
424             '//*[starts-with(@id, "run_cluster")]',
425             'xpath',
426             'run genotype cluster'
427         )->click();
428         sleep(3);
429         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
430         sleep(250);
431         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check trials detail page geno kmeans cluster plot');
432         sleep(5);
434         ############## solGS #####################
435         `rm -r $cache_dir`;
437         $d->get_ok( '/solgs', 'solgs homepage' );
438         sleep(4);
440         $d->find_element_ok( 'trial_search_box', 'id',
441             'population search form' )->send_keys('Kasese solgs trial');
442         sleep(5);
443         $d->find_element_ok( 'search_training_pop', 'id',
444             'search for training pop' )->click();
445         sleep(5);
446         $d->find_element_ok( 'Kasese', 'partial_link_text',
447             'create training pop' )->click();
448         sleep(5);
449         $d->find_element_ok( 'queue_job', 'id', 'submit job tr pop' )->click();
450         sleep(2);
451         $d->find_element_ok( 'analysis_name', 'id', 'training data job name' )
452           ->send_keys('Test Kasese Tr pop');
453         sleep(2);
454         $d->find_element_ok( 'user_email', 'id', 'user email' )
455           ->send_keys('email@email.com');
456         sleep(2);
457         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
458         sleep(250);
459         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
460           ->click();
461         sleep(3);
463         $d->find_element_ok( 'trial_search_box', 'id',
464             'population search form' )->send_keys('Kasese solgs trial');
465         sleep(5);
466         $d->find_element_ok( 'search_training_pop', 'id',
467             'search for training pop' )->click();
468         sleep(5);
469         $d->find_element_ok( 'Kasese', 'partial_link_text',
470             'create training pop' )->click();
471         sleep(15);
473         $d->find_element_ok(
474             '//table[@id="population_traits_list"]/tbody/tr[1]/td/input',
475             'xpath', 'select 1st trait' )->click();
476         $d->find_element_ok(
477             '//table[@id="population_traits_list"]/tbody/tr[2]/td/input',
478             'xpath', 'select 2nd trait' )->click();
479         $d->find_element_ok( 'runGS', 'id', 'build multi models' )->click();
480         sleep(3);
481         $d->find_element_ok( 'queue_job', 'id', 'multi models job queueing' )
482           ->click();
483         sleep(2);
484         $d->find_element_ok( 'analysis_name', 'id', 'job name' )
485           ->send_keys('Test DMCP-FRW modeling  Kasese');
486         sleep(2);
487         $d->find_element_ok( 'user_email', 'id', 'user email' )
488           ->send_keys('email@email.com');
489         sleep(2);
490         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
491         sleep(250);
492         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
493           ->click();
494         sleep(5);
496         $d->find_element_ok(
497             '//table[@id="population_traits_list"]/tbody/tr[1]/td/input',
498             'xpath', 'select 1st trait' )->click();
499         $d->find_element_ok(
500             '//table[@id="population_traits_list"]/tbody/tr[2]/td/input',
501             'xpath', 'select 2nd trait' )->click();
502         $d->find_element_ok( 'runGS', 'id', 'build multi models' )->click();
503         sleep(10);
505 #         # #
506 # ##############################################################
507 # # $d->get_ok('solgs/traits/all/population/139/traits/1971973596/gp/1', 'models page');
508 # #
509 # # sleep(15);
510 # #####################################################################
512         $d->find_element_ok( 'trial_search_box', 'id',
513             'population search form' )->send_keys('trial2 NaCRRI');
514         sleep(2);
515         $d->find_element_ok( 'search_selection_pop', 'id',
516             'search for selection pop' )->click();
517         sleep(30);
518         $d->find_element_ok(
519 '//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]',
520             'xpath',
521             'click training pop'
522         )->click();
523         sleep(5);
524         $d->find_element_ok( 'queue_job', 'id', 'no job queueing' )->click();
525         sleep(2);
526         $d->find_element_ok( 'analysis_name', 'id',
527             'multi trials sel job name' )
528           ->send_keys('Test DMCP-FRW selection pred nacrri');
529         sleep(2);
530         $d->find_element_ok( 'user_email', 'id', 'user email' )
531           ->send_keys('email@email.com');
532         sleep(2);
533         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
534         sleep(250);
535         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
536           ->click();
537         sleep(15);
539         $d->find_element_ok(
540 '//tr[@id="' . $accessions_list_id .'"]//*[contains(text(), "Predict")]',
541             'xpath',
542             'click list sel pred'
543         )->click();
544         sleep(5);
545         $d->find_element_ok( 'queue_job', 'id', 'no job queueing' )->click();
546         sleep(2);
547         $d->find_element_ok( 'analysis_name', 'id', 'list sel job name' )
548           ->send_keys('clones list dmc-frw sel pred');
549         sleep(2);
550         $d->find_element_ok( 'user_email', 'id', 'user email' )
551           ->send_keys('email@email.com');
552         sleep(2);
553         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
554         sleep(250);
555         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
556           ->click();
557         sleep(15);
559         $d->find_element_ok(
560 '//tr[@id="' . $accessions_dt_id .'"]//*[contains(text(), "Predict")]',
561             'xpath',
562             'list sel pred'
563         )->click();
564         sleep(5);
565         $d->find_element_ok( 'queue_job', 'id', 'no job queueing' )->click();
566         sleep(2);
567         $d->find_element_ok( 'analysis_name', 'id', 'dataset sel job name' )
568           ->send_keys('dataset clones sel pred');
569         sleep(2);
570         $d->find_element_ok( 'user_email', 'id', 'user email' )
571           ->send_keys('email@email.com');
572         sleep(2);
573         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
574         sleep(250);
575         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
576           ->click();
577         sleep(5);
579         my $sel_pops =
580           $d->find_element( 'Predict', 'partial_link_text', 'scroll up' );
581         my $elem = $d->driver->execute_script(
582             "arguments[0].scrollIntoView(true);window.scrollBy(0, -200);",
583             $sel_pops );  
584         $d->find_element_ok('//tr[@id="' . $accessions_list_id .'"]//*[contains(text(), "Predict")]', 'xpath', 'accessions list sel pred')->click();
585     sleep(5);
586         sleep(5);
588         my $clustering =
589           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
590         $d->driver->execute_script(
591             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
592             $clustering );
593         sleep(2);
594         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
595           ->click();
596         sleep(3);
597         $d->find_element_ok(
598             '//select[@id="cluster_pops_select"]/option[text()="'
599               . $accessions_list_name . '"]',
600             'xpath',
601             'select accessions list sel pop'
602         )->click();
603         sleep(3);
604         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
605             'xpath', 'select k-means' )->send_keys('K-means');
606         sleep(2);
607         $d->find_element_ok(
608             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
609             'xpath', 'select gebv' )->click();
610         sleep(2);
611         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
612             'xpath', 'clear k number' )->clear();
613         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
614             'xpath', 'select k number' )->send_keys(4);
615         sleep(2);
616         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
617             'xpath', 'run cluster' )->click();
618         sleep(3);
619         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
620         sleep(250);
621         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs acccessions list gebvs kmeans cluster plot');
622         sleep(5);
624         $d->driver->refresh();
625         sleep(3);
627         my $sel_pops =
628           $d->find_element( 'Predict', 'partial_link_text', 'scroll up' );
629         my $elem = $d->driver->execute_script(
630             "arguments[0].scrollIntoView(true);window.scrollBy(0, -600);",
631             $sel_pops );
632         sleep(2);
633         
634         $d->find_element_ok('//tr[@id="' . $accessions_dt_id .'"]//*[contains(text(), "Predict")]', 'xpath', 'accessions list sel pred')->click();
635         sleep(5);
636         my $clustering =
637           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
638         $d->driver->execute_script(
639             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
640             $clustering );
641         sleep(2);
642         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
643           ->click();
644         sleep(2);
645         $d->find_element_ok(
646             '//select[@id="cluster_pops_select"]/option[text()="'
647               . $accessions_dt_name . '"]',
648             'xpath',
649             'select accessions dataset sel pop'
650         )->click();
651         sleep(2);
652         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
653             'xpath', 'select k-means' )->send_keys('K-means');
654         sleep(2);
655         $d->find_element_ok(
656 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
657             'xpath',
658             'select genotype'
659         )->click();
660         sleep(2);
661         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
662             'xpath', 'clear k number' )->clear();
663         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
664             'xpath', 'select k number' )->send_keys(4);
665         sleep(2);
666         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
667             'xpath', 'run cluster' )->click();
668         sleep(3);
669         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
670         sleep(250);
671         my $clustering =
672           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
673         $d->driver->execute_script(
674             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
675             $clustering );
676         sleep(5);
677         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs accessions dataset geno kmeans cluster plot');
678         sleep(5);
680         $d->driver->refresh();
681         sleep(3);
683         my $sel_pops =
684           $d->find_element( 'Predict', 'partial_link_text', 'scroll up' );
685         my $elem = $d->driver->execute_script(
686             "arguments[0].scrollIntoView(true);window.scrollBy(0, -600);",
687             $sel_pops );
688         sleep(5);
690         $d->find_element_ok('//tr[@id="' . $accessions_dt_id .'"]//*[contains(text(), "Predict")]', 'xpath', 'accessions dataset sel pred')->click();
691         sleep(5);
693         my $clustering =
694           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
695         $d->driver->execute_script(
696             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
697             $clustering );
698         sleep(5);
699         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
700           ->click();
701         sleep(3);
702         $d->find_element_ok(
703             '//select[@id="cluster_pops_select"]/option[text()="'
704               . $accessions_dt_name . '"]',
705             'xpath',
706             'select accessions dataset sel pop'
707         )->click();
708         sleep(3);
709         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
710             'xpath', 'select k-means' )->send_keys('K-means');
711         sleep(2);
712         $d->find_element_ok(
713             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
714             'xpath', 'select gebv' )->click();
715         sleep(2);
716         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
717             'xpath', 'clear k number' )->clear();
718         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
719             'xpath', 'select k number' )->send_keys(4);
720         sleep(2);
721         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
722             'xpath', 'run cluster' )->click();
723         sleep(3);
724         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
725         sleep(250);
726         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs accessions dataset gebvs kmeans cluster plot');
727         sleep(5);
729         $d->driver->refresh();
730         sleep(3);
732         my $clustering =
733           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
734         my $elem = $d->driver->execute_script(
735             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
736             $clustering );
737         sleep(5);
738         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
739           ->click();
740         sleep(3);
741         $d->find_element_ok(
742 '//select[@id="cluster_pops_select"]/option[text()="Kasese solgs trial"]',
743             'xpath',
744             'select trial tr pop'
745         )->click();
746         sleep(3);
747         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
748             'xpath', 'select k-means' )->send_keys('K-means');
749         sleep(2);
750         $d->find_element_ok(
751 '//select[@id="cluster_data_type_select"]/option[text()="Phenotype"]',
752             'xpath', 'select ghenotype'
753         )->click();
754         sleep(2);
755         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
756             'xpath', 'clear k number' )->clear();
757         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
758             'xpath', 'select k number' )->send_keys(4);
759         sleep(2);
760         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
761             'xpath', 'run cluster' )->click();
762         sleep(3);
763         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
764         sleep(250);
765         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs tr pop pheno kmeans cluster plot');
766         sleep(5);
768         $d->driver->refresh();
769         sleep(3);
771         my $clustering =
772           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
773         $d->driver->execute_script(
774             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
775             $clustering );
776         sleep(5);
777         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
778           ->click();
779         sleep(3);
780         $d->find_element_ok(
781 '//select[@id="cluster_pops_select"]/option[text()="Kasese solgs trial"]',
782             'xpath',
783             'select trial tr pop'
784         )->click();
785         sleep(3);
786         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
787             'xpath', 'select k-means' )->send_keys('K-means');
788         sleep(2);
789         $d->find_element_ok(
790 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
791             'xpath',
792             'select genotype'
793         )->click();
794         sleep(2);
795         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
796             'xpath', 'clear k number' )->clear();
797         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
798             'xpath', 'select k number' )->send_keys(4);
799         sleep(2);
800         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
801             'xpath', 'run cluster' )->click();
802         sleep(3);
803         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
804         sleep(250);
805         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check tr pop geno kmeans cluster plot');
806         sleep(5);
808         $d->driver->refresh();
809         sleep(3);
811         my $clustering =
812           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
813         $d->driver->execute_script(
814             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
815             $clustering );
816         sleep(5);
817         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
818           ->click();
819         sleep(3);
820         $d->find_element_ok(
821 '//select[@id="cluster_pops_select"]/option[text()="Kasese solgs trial"]',
822             'xpath',
823             'select trial tr pop'
824         )->click();
825         sleep(3);
826         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
827             'xpath', 'select k-means' )->send_keys('K-means');
828         sleep(2);
829         $d->find_element_ok(
830             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
831             'xpath', 'select gebv' )->click();
832         sleep(2);
833         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
834             'xpath', 'clear k number' )->clear();
835         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
836             'xpath', 'select k number' )->send_keys(4);
837         sleep(2);
838         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
839             'xpath', 'run cluster' )->click();
840         sleep(3);
841         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
842         sleep(250);
843         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs tr pop gebvs kmeans cluster plot');
844         sleep(5);
846         $d->driver->refresh();
847         sleep(3);
849         my $cor = $d->find_element( 'Genetic correlation',
850             'partial_link_text', 'scroll up' );
851         $d->driver->execute_script(
852             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
853             $cor );
854         sleep(5);
855         $d->find_element_ok( 'si_pops_select', 'id', 'select list sl pop' )
856           ->click();
857         sleep(3);
858         $d->find_element_ok(
859 '//select[@id="si_pops_select"]/option[text()="Kasese solgs trial"]',
860             'xpath',
861             'select trial type tr pop'
862         )->click();
863         sleep(3);
864         $d->find_element_ok( 'DMCP', 'id', 'rel wt 1st' )->send_keys(3);
865         sleep(5);
866         $d->find_element_ok( 'FRW', 'id', 'rel wt 2st' )->send_keys(5);
867         sleep(5);
868         $d->find_element_ok( 'calculate_si', 'id', 'calc selection index' )
869           ->click();
870         sleep(250);
872         my $clustering =
873           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
874         $d->driver->execute_script(
875             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
876             $clustering );
877         sleep(5);
878         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
879           ->click();
880         sleep(3);
881         $d->find_element_ok(
882 '//select[@id="cluster_pops_select"]/option[text()="139-DMCP-3-FRW-5"]',
883             'xpath', 'select sel index pop'
884         )->click();
885         sleep(3);
886         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
887             'xpath', 'select k-means' )->send_keys('K-means');
888         sleep(2);
889         $d->find_element_ok(
890 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
891             'xpath',
892             'select genotype'
893         )->click();
894         sleep(2);
895         $d->find_element_ok(
896             '//*[starts-with(@id, "selection_proportion_input")]',
897             'xpath', 'fill in sel prop' )->send_keys('15');
898         sleep(2);
899         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
900             'xpath', 'clear k number' )->clear();
901         sleep(1);
902         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
903             'xpath', 'select k number' )->send_keys(4);
904         sleep(2);
905         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
906             'xpath', 'run cluster' )->click();
907         sleep(3);
908         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
909         sleep(250);
910         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs SIndex geno kmeans cluster plot');
911         sleep(5);
913         $d->driver->refresh();
914         sleep(3);
916         my $clustering =
917           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
918         $d->driver->execute_script(
919             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
920             $clustering );
921         sleep(5);
922         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
923           ->click();
924         sleep(3);
925         $d->find_element_ok(
926 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
927             'xpath',
928             'select trial sel pop'
929         )->click();
930         sleep(3);
931         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
932             'xpath', 'select k-means' )->send_keys('K-means');
933         sleep(2);
934         $d->find_element_ok(
935 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
936             'xpath',
937             'select genotype'
938         )->click();
939         sleep(2);
940         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
941             'xpath', 'clear k number' )->clear();
942         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
943             'xpath', 'select k number' )->send_keys(4);
944         sleep(2);
945         $d->find_element_ok(
946             '//*[starts-with(@id, "run_cluster")]',
947             'xpath',
948             'run trial2 NaCRRI  geno cluster'
949         )->click();
950         sleep(3);
951         $d->find_element_ok( 'no_queue', 'id',
952             'no job queueing -- trial2 NaCRRI  geno cluster' )->click();
953         sleep(250);
954         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs sel pop geno kmeans cluster plot');
955         sleep(5);
957         $d->driver->refresh();
958         sleep(3);
960         my $clustering =
961           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
962         $d->driver->execute_script(
963             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
964             $clustering );
965         sleep(5);
966         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
967           ->click();
968         sleep(3);
969         $d->find_element_ok(
970 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
971             'xpath',
972             'select trial sel pop'
973         )->click();
974         sleep(3);
975         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
976             'xpath', 'select k-means' )->send_keys('K-means');
977         sleep(2);
978         $d->find_element_ok(
979             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
980             'xpath', 'select gebv' )->click();
981         sleep(2);
982         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
983             'xpath', 'clear k number' )->clear();
984         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
985             'xpath', 'select k number' )->send_keys(4);
986         sleep(2);
987         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
988             'xpath', 'run cluster' )->click();
989         sleep(3);
990         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
991         sleep(250);
992         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check sel pop gebv kmeans cluster plot');
993         sleep(5);
995         $d->driver->refresh();
996         sleep(3);
998         `rm -r $cluster_dir`;
999         sleep(3);
1000         `rm -r $log_dir`;
1001         sleep(5);
1003 # # $d->get_ok('solgs/traits/all/population/139/traits/1971973596/gp/1', 'models page');
1004 # # sleep(15);
1006         my $clustering =
1007           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1008         $d->driver->execute_script(
1009             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1010             $clustering );
1011         sleep(5);
1012         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1013           ->click();
1014         sleep(3);
1015         $d->find_element_ok(
1016 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
1017             'xpath',
1018             'select trial sel pop'
1019         )->click();
1020         sleep(3);
1021         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1022             'xpath', 'select k-means' )->send_keys('K-means');
1023         sleep(2);
1024         $d->find_element_ok(
1025 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1026             'xpath',
1027             'select genotype'
1028         )->click();
1029         sleep(2);
1030         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1031             'xpath', 'clear k number' )->clear();
1032         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1033             'xpath', 'select k number' )->send_keys(4);
1034         sleep(2);
1035         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1036             'xpath', 'run cluster' )->click();
1037         sleep(3);
1038         $d->find_element_ok( 'queue_job', 'id',
1039             'queueing trial2 NaCRRI  geno km clustering' )->click();
1040         sleep(3);
1041         $d->find_element_ok( 'analysis_name', 'id',
1042             'analysis name -Nacrri sel pop geno clustering' )
1043           ->send_keys('Nacrri sel pop geno clustering');
1044         sleep(2);
1045         $d->find_element_ok( 'user_email', 'id', 'user email' )
1046           ->send_keys('email@email.com');
1047         sleep(2);
1048         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1049         sleep(250);
1050         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
1051           ->click();
1052         sleep(3);
1054         $d->driver->refresh();
1055         sleep(3);
1057         my $clustering =
1058           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1059         $d->driver->execute_script(
1060             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1061             $clustering );
1062         sleep(5);
1063         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1064           ->click();
1065         sleep(3);
1066         $d->find_element_ok(
1067 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
1068             'xpath',
1069             'select trial sel pop'
1070         )->click();
1071         sleep(3);
1072         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1073             'xpath', 'select k-means' )->send_keys('K-means');
1074         sleep(2);
1075         $d->find_element_ok(
1076 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1077             'xpath',
1078             'select genotype'
1079         )->click();
1080         sleep(2);
1081         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1082             'xpath', 'clear k number' )->clear();
1083         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1084             'xpath', 'select k number' )->send_keys(4);
1085         sleep(2);
1086         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1087             'xpath', 'run cluster' )->click();
1088         sleep(20);
1089         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs sel pop geno kmeans cluster plot');
1090         sleep(5);
1092         $d->driver->refresh();
1093         sleep(3);
1095         my $clustering =
1096           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1097         $d->driver->execute_script(
1098             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1099             $clustering );
1100         sleep(5);
1101         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1102           ->click();
1103         sleep(3);
1104         $d->find_element_ok(
1105 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
1106             'xpath',
1107             'select trial sel pop'
1108         )->click();
1109         sleep(3);
1110         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1111             'xpath', 'select k-means' )->send_keys('K-means');
1112         sleep(2);
1113         $d->find_element_ok(
1114             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
1115             'xpath', 'select gebv' )->click();
1116         sleep(2);
1117         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1118             'xpath', 'clear k number' )->clear();
1119         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1120             'xpath', 'select k number' )->send_keys(4);
1121         sleep(2);
1122         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1123             'xpath', 'run cluster' )->click();
1124         sleep(3);
1125         $d->find_element_ok( 'queue_job', 'id',
1126             'queueing trial2 NaCRRI  gebv cluster' )->click();
1127         sleep(3);
1128         $d->find_element_ok( 'analysis_name', 'id',
1129             'analysis name -Nacrri sel pop gebv clustering' )
1130           ->send_keys('Nacrri sel pop gebv clustering');
1131         sleep(2);
1132         $d->find_element_ok( 'user_email', 'id', 'user email' )
1133           ->send_keys('email@email.com');
1134         sleep(2);
1135         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1136         sleep(250);
1137         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
1138           ->click();
1139         sleep(3);
1141         $d->driver->refresh();
1142         sleep(3);
1144         my $clustering =
1145           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1146         $d->driver->execute_script(
1147             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1148             $clustering );
1149         sleep(5);
1150         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1151           ->click();
1152         sleep(3);
1153         $d->find_element_ok(
1154 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
1155             'xpath',
1156             'select trial sel pop'
1157         )->click();
1158         sleep(3);
1159         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1160             'xpath', 'select k-means' )->send_keys('K-means');
1161         sleep(2);
1162         $d->find_element_ok(
1163             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
1164             'xpath', 'select gebv' )->click();
1165         sleep(2);
1166         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1167             'xpath', 'clear k number' )->clear();
1168         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1169             'xpath', 'select k number' )->send_keys(4);
1170         sleep(2);
1171         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1172             'xpath', 'run cluster' )->click();
1173         sleep(10);
1174         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs trial sel pop gebv kmeans cluster plot');
1175         sleep(5);
1177         $d->driver->refresh();
1178         sleep(3);
1180         my $cor = $d->find_element( 'Genetic correlation',
1181             'partial_link_text', 'scroll up' );
1182         $d->driver->execute_script(
1183             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1184             $cor );
1185         sleep(5);
1186         $d->find_element_ok( 'si_pops_select', 'id', 'select list sl pop' )
1187           ->click();
1188         sleep(3);
1189         $d->find_element_ok(
1190 '//select[@id="si_pops_select"]/option[text()="Kasese solgs trial"]',
1191             'xpath',
1192             'select trial type tr pop'
1193         )->click();
1194         sleep(3);
1195         $d->find_element_ok( 'DMCP', 'id', 'rel wt 1st' )->send_keys(3);
1196         sleep(5);
1197         $d->find_element_ok( 'FRW', 'id', 'rel wt 2st' )->send_keys(5);
1198         sleep(5);
1199         $d->find_element_ok( 'calculate_si', 'id', 'calc selection index' )
1200           ->click();
1201         sleep(250);
1203         my $clustering =
1204           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1205         $d->driver->execute_script(
1206             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1207             $clustering );
1208         sleep(5);
1209         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1210           ->click();
1211         sleep(3);
1212         $d->find_element_ok(
1213 '//select[@id="cluster_pops_select"]/option[text()="139-DMCP-3-FRW-5"]',
1214             'xpath', 'select sel index pop'
1215         )->click();
1216         sleep(3);
1217         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1218             'xpath', 'select k-means' )->send_keys('K-means');
1219         sleep(2);
1220         $d->find_element_ok(
1221 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1222             'xpath',
1223             'select genotype'
1224         )->click();
1225         sleep(2);
1226         $d->find_element_ok(
1227             '//*[starts-with(@id, "selection_proportion_input")]',
1228             'xpath', 'fill in sel prop' )->send_keys('15');
1229         sleep(2);
1230         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1231             'xpath', 'clear k number' )->clear();
1232         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1233             'xpath', 'select k number' )->send_keys(4);
1234         sleep(2);
1235         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1236             'xpath', 'run cluster' )->click();
1237         sleep(3);
1238         $d->find_element_ok( 'queue_job', 'id', 'no job queueing' )->click();
1239         sleep(3);
1240         $d->find_element_ok( 'analysis_name', 'id',
1241             'analysis name -Nacrri sel pop sindex clustering' )
1242           ->send_keys('Nacrri sel pop sindex clustering');
1243         sleep(2);
1244         $d->find_element_ok( 'user_email', 'id', 'user email' )
1245           ->send_keys('email@email.com');
1246         sleep(2);
1247         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1248         sleep(140);
1249         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
1250           ->click();
1251         sleep(3);
1253         my $cor = $d->find_element( 'Genetic correlation',
1254             'partial_link_text', 'scroll up' );
1255         $d->driver->execute_script(
1256             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1257             $cor );
1258         sleep(5);
1259         $d->find_element_ok( 'si_pops_select', 'id', 'select list sl pop' )
1260           ->click();
1261         sleep(3);
1262         $d->find_element_ok(
1263 '//select[@id="si_pops_select"]/option[text()="Kasese solgs trial"]',
1264             'xpath',
1265             'select trial type tr pop'
1266         )->click();
1267         sleep(3);
1268         $d->find_element_ok( 'DMCP', 'id', 'rel wt 1st' )->send_keys(3);
1269         sleep(5);
1270         $d->find_element_ok( 'FRW', 'id', 'rel wt 2st' )->send_keys(5);
1271         sleep(5);
1272         $d->find_element_ok( 'calculate_si', 'id', 'calc selection index' )
1273           ->click();
1274         sleep(250);
1275         #
1276         my $clustering =
1277           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1278         $d->driver->execute_script(
1279             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1280             $clustering );
1281         sleep(5);
1282         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1283           ->click();
1284         sleep(3);
1285         $d->find_element_ok(
1286 '//select[@id="cluster_pops_select"]/option[text()="139-DMCP-3-FRW-5"]',
1287             'xpath', 'select sel index pop'
1288         )->click();
1289         sleep(3);
1290         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1291             'xpath', 'select k-means' )->send_keys('K-means');
1292         sleep(2);
1293         $d->find_element_ok(
1294 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1295             'xpath',
1296             'select genotype'
1297         )->click();
1298         sleep(2);
1299         $d->find_element_ok(
1300             '//*[starts-with(@id, "selection_proportion_input")]',
1301             'xpath', 'fill in sel prop' )->send_keys('15');
1302         sleep(2);
1303         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1304             'xpath', 'clear k number' )->clear();
1305         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1306             'xpath', 'select k number' )->send_keys(4);
1307         sleep(2);
1308         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1309             'xpath', 'run cluster' )->click();
1310         sleep(140);
1311         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs SI geno kmeans cluster plot');
1312         sleep(5);
1314         $d->driver->refresh();
1315         sleep(3);
1317 #########################
1318         `rm -r $cluster_dir`;
1319         sleep(3);
1320         `rm -r $log_dir`;
1321         sleep(5);
1322 ########################################
1324         my $clustering =
1325           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1326         $d->driver->execute_script(
1327             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1328             $clustering );
1329         sleep(5);
1330         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1331           ->click();
1332         sleep(3);
1333         $d->find_element_ok(
1334 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
1335             'xpath',
1336             'select trial sel pop'
1337         )->click();
1338         sleep(3);
1339         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1340             'xpath', 'select k-means' )->send_keys('K-means');
1341         sleep(2);
1342         $d->find_element_ok(
1343 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1344             'xpath',
1345             'select genotype'
1346         )->click();
1347         sleep(2);
1348         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1349             'xpath', 'clear k number' )->clear();
1350         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1351             'xpath', 'select k number' )->send_keys(4);
1352         sleep(2);
1353         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1354             'xpath', 'run cluster' )->click();
1355         sleep(3);
1356         $d->find_element_ok( 'no_queue', 'id',
1357             'wait to finish clustering trial2 NaCRRI genotype' )->click();
1358         sleep(250);
1359         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs sel pop geno kmeans cluster plot');
1360         sleep(5);
1362         $d->driver->refresh();
1363         sleep(3);
1365  # #    #  #######    #
1366  #  # # $d->get_ok('/solgs/trait/70666/population/139/gp/1', 'open model page');
1367  # ## sleep(5);
1368  # #    #
1370         my $clustering =
1371           $d->find_element( 'Models summary', 'partial_link_text',
1372             'scroll up' );
1373         $d->driver->execute_script(
1374             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1375             $clustering );
1376         sleep(5);
1377         $d->find_element_ok(
1378             '//table[@id="model_summary"]//*[contains(text(), "FRW")]',
1379             'xpath', 'click training pop' )->click();
1380         sleep(5);
1381         ######
1383         my $clustering =
1384           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1385         $d->driver->execute_script(
1386             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1387             $clustering );
1388         sleep(5);
1389         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1390             'xpath', 'select k-means' )->send_keys('K-means');
1391         sleep(2);
1392         $d->find_element_ok(
1393 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1394             'xpath',
1395             'select genotype'
1396         )->click();
1397         sleep(2);
1398         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1399             'xpath', 'clear k number' )->clear();
1400         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1401             'xpath', 'select k number' )->send_keys(4);
1402         sleep(2);
1403         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1404             'xpath', 'run cluster' )->click();
1405         sleep(3);
1406         $d->find_element_ok( 'no_queue', 'id',
1407             'wait to finish clustering in single trial model page' )->click();
1408         sleep(250);
1409         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs tr pop trait geno kmeans cluster plot');
1410         sleep(5);
1412 # #    #  #$d->get_ok('/solgs/model/combined/populations/2804608595/trait/70741/gp/1', 'open combined trials model page');
1413 # #    # # sleep(2);
1414 # #    #
1416         $d->get_ok( '/solgs', 'solgs home page' );
1417         sleep(2);
1418         $d->find_element_ok( 'trial_search_box', 'id',
1419             'population search form' )->send_keys('Kasese solgs trial');
1420         sleep(2);
1421         $d->find_element_ok( 'search_training_pop', 'id',
1422             'search for training pop' )->click();
1423         sleep(1);
1424         $d->find_element_ok( 'trial_search_box', 'id',
1425             'population search form' )->clear();
1426         sleep(2);
1427         $d->find_element_ok( 'trial_search_box', 'id',
1428             'population search form' )->send_keys('trial2 nacrri');
1429         sleep(5);
1430         $d->find_element_ok( 'search_training_pop', 'id',
1431             'search for training pop' )->click();
1432         sleep(1);
1434         $d->find_element_ok(
1435             '//table[@id="searched_trials_table"]//input[@value="139"]',
1436             'xpath', 'select trial kasese' )->click();
1437         sleep(2);
1438         $d->find_element_ok(
1439             '//table[@id="searched_trials_table"]//input[@value="141"]',
1440             'xpath', 'select trial nacrri' )->click();
1441         sleep(2);
1442         $d->find_element_ok( 'select_trials_btn', 'id', 'done selecting' )
1443           ->click();
1444         sleep(2);
1445         $d->find_element_ok( 'combine_trait_trials', 'id', 'combine trials' )
1446           ->click();
1447         sleep(3);
1448         $d->find_element_ok( 'queue_job', 'id', 'submit job tr pop' )->click();
1449         sleep(2);
1450         $d->find_element_ok( 'analysis_name', 'id', 'job queueing' )
1451           ->send_keys('combined trials');
1452         sleep(2);
1453         $d->find_element_ok( 'user_email', 'id', 'user email' )
1454           ->send_keys('email@email.com');
1455         sleep(2);
1456         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1457         sleep(250);
1458         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
1459           ->click();
1460         sleep(10);
1462 #         ####################
1463 # #  #$d->get('/solgs/populations/combined/2804608595/gp/1', 'combo trials tr pop page');
1464 # #    #  #sleep(5);
1465 # #    #
1466 #         ##################
1467         $d->get_ok( '/solgs', 'solgs homepage' );
1468         sleep(2);
1470         $d->find_element_ok( 'trial_search_box', 'id',
1471             'population search form' )->send_keys('Kasese solgs trial');
1472         sleep(2);
1473         $d->find_element_ok( 'search_training_pop', 'id',
1474             'search for training pop' )->click();
1475         sleep(1);
1476         $d->find_element_ok( 'trial_search_box', 'id',
1477             'population search form' )->clear();
1478         sleep(2);
1479         $d->find_element_ok( 'trial_search_box', 'id',
1480             'population search form' )->send_keys('trial2 nacrri');
1481         sleep(5);
1482         $d->find_element_ok( 'search_training_pop', 'id',
1483             'search for training pop' )->click();
1484         sleep(3);
1486         $d->find_element_ok(
1487             '//table[@id="searched_trials_table"]//input[@value="139"]',
1488             'xpath', 'select trial kasese' )->click();
1489         sleep(2);
1490         $d->find_element_ok(
1491             '//table[@id="searched_trials_table"]//input[@value="141"]',
1492             'xpath', 'select trial nacrri' )->click();
1493         sleep(2);
1494         $d->find_element_ok( 'select_trials_btn', 'id', 'done selecting' )
1495           ->click();
1496         sleep(2);
1497         $d->find_element_ok( 'combine_trait_trials', 'id', 'combine trials' )
1498           ->click();
1499         sleep(15);
1501         $d->find_element_ok(
1502             '//table[@id="population_traits_list"]/tbody/tr[1]/td/input',
1503             'xpath', 'select 1st trait' )->click();
1504         sleep(1);
1505         $d->find_element_ok(
1506             '//table[@id="population_traits_list"]/tbody/tr[2]/td/input',
1507             'xpath', 'select 2nd trait' )->click();
1508         sleep(1);
1509         $d->find_element_ok( 'runGS', 'id',
1510             'run combined trials build multi models' )->click();
1511         sleep(10);
1512         $d->find_element_ok( 'queue_job', 'id', 'combined trials job queueing' )
1513           ->click();
1514         sleep(2);
1515         $d->find_element_ok( 'analysis_name', 'id',
1516             'combined trials multi models job name' )
1517           ->send_keys('Test DMCP-FRW modeling combo trials');
1518         sleep(2);
1519         $d->find_element_ok( 'user_email', 'id', 'user email' )
1520           ->send_keys('email@email.com');
1521         sleep(2);
1522         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1523         sleep(250);
1524         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
1525           ->click();
1526         sleep(15);
1528 # # ###########################
1529 # # # $d->get('/solgs/populations/combined/2804608595/gp/1', 'combo trials tr pop page');
1530 # #  # sleep(5);
1531 # #   ############################
1533         $d->find_element_ok(
1534             '//table[@id="population_traits_list"]/tbody/tr[1]/td/input',
1535             'xpath', 'select 1st trait' )->click();
1536         sleep(1);
1537         $d->find_element_ok(
1538             '//table[@id="population_traits_list"]/tbody/tr[2]/td/input',
1539             'xpath', 'select 2nd trait' )->click();
1540         sleep(1);
1541         $d->find_element_ok( 'runGS', 'id',
1542             ' go to combined trials multi models page' )->click();
1543         sleep(10);
1545         $d->find_element_ok( 'trial_search_box', 'id',
1546             'combo trials models sel population search form' )
1547           ->send_keys('trial2 NaCRRI');
1548         sleep(5);
1549         $d->find_element_ok( 'search_selection_pop', 'id',
1550             'search for selection pop' )->click();
1551         sleep(20);
1552         $d->find_element_ok(
1553 '//table[@id="selection_pops_table"]//*[contains(text(), "Predict")]',
1554             'xpath',
1555             'click training pop'
1556         )->click();
1557         sleep(5);
1558         $d->find_element_ok( 'queue_job', 'id',
1559             'trial sel pop prediction job queueing' )->click();
1560         sleep(2);
1561         $d->find_element_ok( 'analysis_name', 'id',
1562             'sel pop prediction analysis name' )
1563           ->send_keys('combo DMCP-FRW selection pred nacrri');
1564         sleep(2);
1565         $d->find_element_ok( 'user_email', 'id', 'user email' )
1566           ->send_keys('email@email.com');
1567         sleep(2);
1568         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1569         sleep(250);
1570         $d->find_element_ok( 'Go back', 'partial_link_text',
1571             'go back to combo trials multi models pg' )->click();
1572         sleep(15);
1574         $d->find_element_ok('//tr[@id="' . $accessions_list_id .'"]//*[contains(text(), "Predict")]', 'xpath', 'accessions list sel pred')->click();
1575         sleep(5);
1576         $d->find_element_ok( 'queue_job', 'id',
1577             'list type sel pop prediction job queueing' )->click();
1578         sleep(2);
1579         $d->find_element_ok( 'analysis_name', 'id',
1580             'list type  sel pop prediction analysis name' )
1581           ->send_keys('combo clones list dmc-frw sel pred');
1582         sleep(2);
1583         $d->find_element_ok( 'user_email', 'id', 'user email' )
1584           ->send_keys('email@email.com');
1585         sleep(2);
1586         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1587         sleep(250);
1588         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
1589           ->click();
1590         sleep(5);
1592         $d->find_element_ok('//tr[@id="' . $accessions_dt_id .'"]//*[contains(text(), "Predict")]', 'xpath', 'accessions dataset sel pred')->click();
1593         sleep(5);
1594         $d->find_element_ok( 'queue_job', 'id',
1595             'dataset sel pop prediction job queueing' )->click();
1596         sleep(2);
1597         $d->find_element_ok( 'analysis_name', 'id',
1598             'dataset sel pop prediction analysis name' )
1599           ->send_keys('combo dataset clones sel pred');
1600         sleep(2);
1601         $d->find_element_ok( 'user_email', 'id', 'user email' )
1602           ->send_keys('email@email.com');
1603         sleep(2);
1604         $d->find_element_ok( 'submit_job', 'id', 'submit' )->click();
1605         sleep(250);
1606         $d->find_element_ok( 'Go back', 'partial_link_text', 'go back' )
1607           ->click();
1608         sleep(3);
1610         my $clustering =
1611           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1612         $d->driver->execute_script(
1613             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1614             $clustering );
1615         sleep(5);
1616         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1617           ->click();
1618         sleep(3);
1619         $d->find_element_ok(
1620 '//select[@id="cluster_pops_select"]/option[text()="Training population 2804608595"]',
1621             'xpath',
1622             'select list sel pop'
1623         )->click();
1624         sleep(5);
1625         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1626             'xpath', 'select k-means' )->send_keys('K-means');
1627         sleep(2);
1628         $d->find_element_ok(
1629 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Phenotype"]',
1630             'xpath',
1631             'select phenotype'
1632         )->click();
1633         sleep(2);
1634         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1635             'xpath', 'select k number' )->send_keys(4);
1636         sleep(2);
1637         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1638             'xpath', 'run cluster' )->click();
1639         sleep(3);
1640         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
1641         sleep(250);
1642         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check solgs tr combo trials pheno kmeans cluster plot');
1643         sleep(5);
1645         $d->driver->refresh();
1646         sleep(3);
1648         my $clustering =
1649           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1650         $d->driver->execute_script(
1651             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1652             $clustering );
1653         sleep(5);
1654         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1655           ->click();
1656         sleep(3);
1657         $d->find_element_ok(
1658 '//select[@id="cluster_pops_select"]/option[text()="Training population 2804608595"]',
1659             'xpath',
1660             'select list sel pop'
1661         )->click();
1662         sleep(5);
1663         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1664             'xpath', 'select k-means' )->send_keys('K-means');
1665         sleep(2);
1666         $d->find_element_ok(
1667             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
1668             'xpath', 'select phenotype' )->click();
1669         sleep(2);
1670         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1671             'xpath', 'select k number' )->send_keys(4);
1672         sleep(2);
1673         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1674             'xpath', 'run cluster' )->click();
1675         sleep(3);
1676         $d->find_element_ok( 'no_queue', 'id', 'no job queueing -- GEBV' )
1677           ->click();
1678         sleep(250);
1679         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo trials accessions list pheno kmeans cluster plot');
1680         sleep(5);
1682         $d->driver->refresh();
1683         sleep(3);
1685         my $clustering =
1686           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1687         $d->driver->execute_script(
1688             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1689             $clustering );
1690         sleep(5);
1691         $d->find_element_ok( 'cluster_pops_select', 'id', 'click cluster pops' )
1692           ->click();
1693         sleep(3);
1694         $d->find_element_ok(
1695 '//select[@id="cluster_pops_select"]/option[text()="Training population 2804608595"]',
1696             'xpath',
1697             'select tr pop'
1698         )->click();
1699         sleep(5);
1700         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1701             'xpath', 'select k-means' )->send_keys('K-means');
1702         sleep(2);
1703         $d->find_element_ok(
1704 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1705             'xpath',
1706             'select genotype'
1707         )->click();
1708         sleep(2);
1709         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1710             'xpath', 'clear k number' )->clear();
1711         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1712             'xpath', 'select k number' )->send_keys(4);
1713         sleep(2);
1714         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1715             'xpath', 'run cluster' )->click();
1716         sleep(3);
1717         $d->find_element_ok( 'no_queue', 'id', 'no job queueing-- Genotype' )
1718           ->click();
1719         sleep(250);
1720         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo trials tr pop geno kmeans cluster plot');
1721         sleep(5);
1723         $d->driver->refresh();
1724         sleep(3);
1726         my $cor = $d->find_element( 'Genetic correlation',
1727             'partial_link_text', 'scroll up' );
1728         $d->driver->execute_script(
1729             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1730             $cor );
1731         sleep(5);
1732         $d->find_element_ok( 'si_pops_select', 'id', 'select list sl pop' )
1733           ->click();
1734         sleep(3);
1735         $d->find_element_ok(
1736 '//select[@id="si_pops_select"]/option[text()="Training population 2804608595"]',
1737             'xpath',
1738             'select combo pop'
1739         )->click();
1740         sleep(3);
1741         $d->find_element_ok( 'DMCP', 'id', 'rel wt 1st' )->send_keys(3);
1742         sleep(5);
1743         $d->find_element_ok( 'FRW', 'id', 'rel wt 2st' )->send_keys(5);
1744         sleep(5);
1745         $d->find_element_ok( 'calculate_si', 'id', 'calc selection index' )
1746           ->click();
1747         sleep(50);
1749         my $clustering =
1750           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1751         $d->driver->execute_script(
1752             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1753             $clustering );
1754         sleep(5);
1755         $d->find_element_ok( 'cluster_pops_select', 'id', 'click cluster pops' )
1756           ->click();
1757         sleep(3);
1758         $d->find_element_ok(
1759 '//select[@id="cluster_pops_select"]/option[text()="2804608595-DMCP-3-FRW-5"]',
1760             'xpath', 'si'
1761         )->click();
1762         sleep(5);
1763         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1764             'xpath', 'select k-means' )->send_keys('K-means');
1765         sleep(2);
1766         $d->find_element_ok(
1767 '//select[@id="cluster_data_type_select"]/option[text()="Genotype"]',
1768             'xpath', 'genotype'
1769         )->click();
1770         sleep(2);
1771         $d->find_element_ok(
1772             '//*[starts-with(@id, "selection_proportion_input")]',
1773             'xpath', 'fill in sel prop' )->send_keys('15');
1774         sleep(2);
1775         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1776             'xpath', 'clear k number' )->clear();
1777         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1778             'xpath', 'select k number' )->send_keys(4);
1779         sleep(2);
1780         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1781             'xpath', 'run cluster' )->click();
1782         sleep(3);
1783         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
1784         sleep(140);
1785         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo triasl tr pop SIndex geno kmeans cluster plot');
1786         sleep(5);
1788         $d->driver->refresh();
1789         sleep(5);
1791 # #$d->get_ok('/solgs/models/combined/trials/2804608595/traits/1971973596/gp/1', 'combined trials models summary page');
1792         ## sleep(5);
1794         my $sel_pops =
1795           $d->find_element( 'Predict', 'partial_link_text', 'scroll up' );
1796         my $elem = $d->driver->execute_script(
1797             "arguments[0].scrollIntoView(true);window.scrollBy(0, -600);",
1798             $sel_pops );
1799         sleep(5);
1800     
1801         $d->find_element_ok('//tr[@id="' . $accessions_dt_id .'"]//*[contains(text(), "Predict")]', 'xpath', 'accessions dataset sel pred')->click();
1802     sleep(5);
1804         my $clustering =
1805           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1806         $d->driver->execute_script(
1807             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1808             $clustering );
1809         sleep(5);
1810         $d->find_element_ok( 'cluster_pops_select', 'id',
1811             'select dataset type sl pop - GEBV' )->click();
1812         sleep(3);
1813         $d->find_element_ok(
1814             '//select[@id="cluster_pops_select"]/option[text()="'
1815               . $accessions_dt_name . '"]',
1816             'xpath',
1817             'select dataset sel pop'
1818         )->click();
1819         sleep(3);
1820         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1821             'xpath', 'select k-means' )->send_keys('K-means');
1822         sleep(2);
1823         $d->find_element_ok(
1824             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
1825             'xpath', 'select gebv' )->click();
1826         sleep(2);
1827         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1828             'xpath', 'clear k number' )->clear();
1829         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1830             'xpath', 'select k number' )->send_keys(4);
1831         sleep(2);
1832         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1833             'xpath', 'run GEBV cluster' )->click();
1834         sleep(3);
1835         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
1836         sleep(250);
1837         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo trials accessions dataset gebv kmeans cluster plot');
1838         sleep(5);
1840         $d->driver->refresh();
1841         sleep(5);
1843         my $sel_pops =
1844           $d->find_element( 'Predict', 'partial_link_text', 'scroll up' );
1845         my $elem = $d->driver->execute_script(
1846             "arguments[0].scrollIntoView(true);window.scrollBy(0, -200);",
1847             $sel_pops );
1849         $d->find_element_ok('//tr[@id="' . $accessions_list_id .'"]//*[contains(text(), "Predict")]', 'xpath', 'accessions list sel pred')->click();
1850         sleep(5);
1852         my $clustering =
1853           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1854         $d->driver->execute_script(
1855             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1856             $clustering );
1857         sleep(5);
1858         $d->find_element_ok( 'cluster_pops_select', 'id',
1859             'select list type sl pop -- GEBV' )->click();
1860         sleep(3);
1861         $d->find_element_ok(
1862             '//select[@id="cluster_pops_select"]/option[text()="'
1863               . $accessions_list_name . '"]',
1864             'xpath',
1865             'select list sel pop'
1866         )->click();
1867         sleep(3);
1868         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1869             'xpath', 'select k-means' )->send_keys('K-means');
1870         sleep(2);
1871         $d->find_element_ok(
1872             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
1873             'xpath', 'select gebv' )->click();
1874         sleep(2);
1875         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1876             'xpath', 'clear k number' )->clear();
1877         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1878             'xpath', 'select k number' )->send_keys(4);
1879         sleep(2);
1880         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1881             'xpath', 'run cluster' )->click();
1882         sleep(3);
1883         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
1884         sleep(180);
1885         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo triasl tr pop accessions list gebv kmeans cluster plot');
1886         sleep(5);
1888         $d->driver->refresh();
1889         sleep(3);
1891         my $clustering =
1892           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1893         $d->driver->execute_script(
1894             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1895             $clustering );
1896         sleep(5);
1897         $d->find_element_ok( 'cluster_pops_select', 'id', 'select list sl pop' )
1898           ->click();
1899         sleep(3);
1900         $d->find_element_ok(
1901 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
1902             'xpath',
1903             'select trial sel pop'
1904         )->click();
1905         sleep(3);
1906         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1907             'xpath', 'select k-means' )->send_keys('K-means');
1908         sleep(2);
1909         $d->find_element_ok(
1910 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1911             'xpath',
1912             'select genotype'
1913         )->click();
1914         sleep(2);
1915         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1916             'xpath', 'clear k number' )->clear();
1917         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1918             'xpath', 'select k number' )->send_keys(4);
1919         sleep(2);
1920         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1921             'xpath', 'run cluster' )->click();
1922         sleep(3);
1923         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
1924         sleep(250);
1925         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo trials tr pop trial sel pop geno kmeans cluster plot');
1926         sleep(5);
1928         $d->driver->refresh();
1929         sleep(3);
1931         # #
1932         my $clustering =
1933           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1934         $d->driver->execute_script(
1935             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1936             $clustering );
1937         sleep(5);
1938         $d->find_element_ok( 'cluster_pops_select', 'id',
1939             'select trial sl pop -- GEBV' )->click();
1940         sleep(3);
1941         $d->find_element_ok(
1942 '//select[@id="cluster_pops_select"]/option[text()="trial2 NaCRRI"]',
1943             'xpath',
1944             'select trial sel pop'
1945         )->click();
1946         sleep(3);
1947         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1948             'xpath', 'select k-means' )->send_keys('K-means');
1949         sleep(2);
1950         $d->find_element_ok(
1951             '//select[@id="cluster_data_type_select"]/option[text()="GEBV"]',
1952             'xpath', 'select gebv' )->click();
1953         sleep(2);
1954         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1955             'xpath', 'clear k number' )->clear();
1956         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1957             'xpath', 'select k number' )->send_keys(4);
1958         sleep(2);
1959         $d->find_element_ok( '//*[starts-with(@id, "run_cluster")]',
1960             'xpath', 'run cluster' )->click();
1961         sleep(3);
1962         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
1963         sleep(140);
1964         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo trials tr pop trial gebv kmeans cluster plot');
1965         sleep(5);
1967         $d->driver->refresh();
1968         sleep(3);
1970         my $clustering =
1971           $d->find_element( 'Models summary', 'partial_link_text',
1972             'scroll up' );
1973         $d->driver->execute_script(
1974             "arguments[0].scrollIntoView(true);window.scrollBy(0,-100);",
1975             $clustering );
1976         sleep(5);
1977         $d->find_element_ok(
1978             '//table[@id="model_summary"]//*[contains(text(), "DMCP")]',
1979             'xpath', 'go to  training model pg' )->click();
1980         sleep(5);
1982         my $clustering =
1983           $d->find_element( 'Clustering', 'partial_link_text', 'scroll up' );
1984         $d->driver->execute_script(
1985             "arguments[0].scrollIntoView(true);window.scrollBy(0,-200);",
1986             $clustering );
1987         sleep(5);
1989         $d->find_element_ok( '//*[starts-with(@id, "cluster_type_select")]',
1990             'xpath', 'select k-means' )->send_keys('K-means');
1991         sleep(2);
1992         $d->find_element_ok(
1993 '//*[starts-with(@id, "cluster_data_type_select")]/option[text()="Genotype"]',
1994             'xpath',
1995             'select genotype'
1996         )->click();
1997         sleep(2);
1998         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
1999             'xpath', 'clear k number' )->clear();
2000         $d->find_element_ok( '//*[starts-with(@id, "k_number_input")]',
2001             'xpath', 'select k number' )->send_keys(4);
2002         sleep(2);
2003         $d->find_element_ok(
2004             '//*[starts-with(@id, "run_cluster")]',
2005             'xpath',
2006             'run genotype cluster'
2007         )->click();
2008         sleep(3);
2009         $d->find_element_ok( 'no_queue', 'id', 'no job queueing' )->click();
2010         sleep(250);
2011         $d->find_element_ok('//*[contains(text(), "Cluster variances")]', 'xpath', 'check combo trials tr pop trait model geno kmeans cluster plot');
2012         sleep(5);
2014         foreach my $list_id ( $trials_list_id, $accessions_list_id, $plots_list_id ) {
2015             $list_id =~ s/\w+_//g;
2016             $solgs_data->delete_list($list_id);
2017         }
2019         foreach my $dataset_id ( $trials_dt_id, $accessions_dt_id, $plots_dt_id ) {
2020             $dataset_id =~ s/\w+_//g;
2021             $solgs_data->delete_dataset($dataset_id);
2022         }
2026 done_testing();