@@ -75,8 +75,11 @@ void main() {
7575 ]);
7676
7777 // click Android
78- await page.click ('#search-form-checkbox-platform-android' );
79- await page.waitForNavigation (wait: Until .networkIdle);
78+ await page.waitAndClick (
79+ '#search-form-checkbox-platform-android' ,
80+ waitForOneResponse: true ,
81+ );
82+ await _waitOneSecond ();
8083 final i2 = await listingPageInfo (page);
8184 expect (i2.totalCount, lessThan (80 ));
8285 expect (i2.totalCount, greaterThan (70 ));
@@ -93,12 +96,12 @@ void main() {
9396 final flutterCB3 = await page.$('#search-form-checkbox-sdk-flutter' );
9497 expect (await flutterCB3.boundingBox, isNull);
9598 await page.click ('.search-form-section[data-section-tag="sdks"]' );
96- await Future . delayed ( Duration (seconds : 1 ) );
99+ await _waitOneSecond ( );
97100 expect (await flutterCB3.boundingBox, isNotNull);
98101
99102 // click Flutter
100- await flutterCB3.click ();
101- await page. waitForNavigation (wait : Until .networkIdle );
103+ await flutterCB3.clickAndWaitOneResponse ();
104+ await _waitOneSecond ( );
102105 final i3 = await listingPageInfo (page);
103106 expect (i3.totalCount, lessThan (70 ));
104107 expect (i3.totalCount, greaterThan (60 ));
@@ -115,8 +118,8 @@ void main() {
115118 // unclick Flutter
116119 final flutterCB4 = await page.$('#search-form-checkbox-sdk-flutter' );
117120 final flutterLink = await flutterCB4.$x ('../following-sibling::*' );
118- await flutterLink.single.click ();
119- await page. waitForNavigation (wait : Until .networkIdle );
121+ await flutterLink.single.clickAndWaitOneResponse ();
122+ await _waitOneSecond ( );
120123 final i4 = await listingPageInfo (page);
121124 expect (i4.totalCount, i2.totalCount);
122125 expect (i4.packageNames, i2.packageNames);
@@ -151,8 +154,8 @@ void main() {
151154
152155 // clear Flutter with a row-level click
153156 final flutterRow = await flutterCB5.$x ('../../..' );
154- await flutterRow.single.click ();
155- await page. waitForNavigation (wait : Until .networkIdle );
157+ await flutterRow.single.clickAndWaitOneResponse ();
158+ await _waitOneSecond ( );
156159 final i6 = await listingPageInfo (page);
157160 expect (i6.totalCount, i2.totalCount);
158161 expect (i6.openSections, i5.openSections);
@@ -164,26 +167,32 @@ void main() {
164167 '#search-form-checkbox-is-flutter-favorite' ,
165168 '#search-form-checkbox-show-unlisted'
166169 ]);
167- await page.click ('#search-form-checkbox-show-unlisted' );
168- await page.waitForNavigation (wait: Until .networkIdle);
170+ await page.waitAndClick ('#search-form-checkbox-show-unlisted' ,
171+ waitForOneResponse: true );
172+ await _waitOneSecond ();
169173 final i7 = await listingPageInfo (page);
170174 expect (i7.totalCount, i6.totalCount);
171175 expect (i7.openSections, ['sdks' , 'advanced' ]);
172176 expect (page.url,
173177 '$origin /packages?q=platform%3Aandroid+show%3Aunlisted+pkg' );
174178
175179 // remove discontinued
176- await page.click ('#search-form-checkbox-show-unlisted' );
177- await page.waitForNavigation (wait: Until .networkIdle);
180+ await page.waitAndClick ('#search-form-checkbox-show-unlisted' ,
181+ waitForOneResponse: true );
182+ await _waitOneSecond ();
178183 expect (page.url, '$origin /packages?q=platform%3Aandroid+pkg' );
179184
180185 Future <void > toggleMore (String tagPrefix, String tagPostfix) async {
181- await page.click ('#search-form-checkbox-$tagPrefix -$tagPostfix ' );
182- await page.waitForNavigation (wait: Until .networkIdle);
186+ await page.waitAndClick (
187+ '#search-form-checkbox-$tagPrefix -$tagPostfix ' ,
188+ waitForOneResponse: true );
189+ await _waitOneSecond ();
183190 expect (page.url,
184191 '$origin /packages?q=platform%3Aandroid+$tagPrefix %3A$tagPostfix +pkg' );
185- await page.click ('#search-form-checkbox-$tagPrefix -$tagPostfix ' );
186- await page.waitForNavigation (wait: Until .networkIdle);
192+ await page.waitAndClick (
193+ '#search-form-checkbox-$tagPrefix -$tagPostfix ' ,
194+ waitForOneResponse: true );
195+ await _waitOneSecond ();
187196 expect (page.url, '$origin /packages?q=platform%3Aandroid+pkg' );
188197 }
189198
@@ -206,9 +215,9 @@ void main() {
206215 await page.waitForSelector (targetSelector, visible: true );
207216 await Future .delayed (Duration (milliseconds: 50 ));
208217 await page.waitForSelector (targetSelector, visible: true );
209- await page.click (targetSelector);
218+ await page.waitAndClick (targetSelector, waitForOneResponse : true );
210219 }
211- await page. waitForNavigation (wait : Until .networkIdle );
220+ await _waitOneSecond ( );
212221 expect (
213222 page.url,
214223 allOf (
@@ -221,8 +230,9 @@ void main() {
221230 expect (await page.propertyValue ('input[name="q"]' , 'value' ),
222231 'platform:android platform:web platform:ios pkg' );
223232
224- await page.click ('#search-form-checkbox-platform-windows' );
225- await page.waitForNavigation (wait: Until .networkIdle);
233+ await page.waitAndClick ('#search-form-checkbox-platform-windows' ,
234+ waitForOneResponse: true );
235+ await _waitOneSecond ();
226236 expect (
227237 page.url,
228238 allOf (
@@ -244,8 +254,9 @@ void main() {
244254
245255 // OSI approved
246256 await page.click ('.search-form-section[data-section-tag="license"]' );
247- await page.waitAndClick ('#search-form-checkbox-license-osi-approved' );
248- await page.waitForNavigation (wait: Until .networkIdle);
257+ await page.waitAndClick ('#search-form-checkbox-license-osi-approved' ,
258+ waitForOneResponse: true );
259+ await _waitOneSecond ();
249260
250261 expect (await page.propertyValue ('input[name="q"]' , 'value' ),
251262 'license:osi-approved' );
@@ -267,8 +278,9 @@ void main() {
267278 expect (page.url, '$origin /packages?q=pkg' );
268279 expect (await page.propertyValue ('input[name="q"]' , 'value' ), 'pkg' );
269280
270- await page.click ('#search-form-checkbox-platform-android' );
271- await page.waitForNavigation (wait: Until .networkIdle);
281+ await page.waitAndClick ('#search-form-checkbox-platform-android' ,
282+ waitForOneResponse: true );
283+ await _waitOneSecond ();
272284 expect (page.url, '$origin /packages?q=platform%3Aandroid+pkg' );
273285 expect (await page.propertyValue ('input[name="q"]' , 'value' ),
274286 'platform:android pkg' );
@@ -318,3 +330,5 @@ void main() {
318330 });
319331 }, timeout: Timeout .factor (testTimeoutFactor));
320332}
333+
334+ Future _waitOneSecond () => Future .delayed (Duration (seconds: 1 ));
0 commit comments