Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Side by Side Diff: ios/chrome/browser/web/browsing_egtest.mm

Issue 2806743004: Fixing testBrowsingPostEntryWithButton flakiness. (Closed)
Patch Set: Re-factoring to use helper methods Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import <XCTest/XCTest.h> 5 #import <XCTest/XCTest.h>
6 #include <map> 6 #include <map>
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 9
10 #include "base/ios/ios_util.h" 10 #include "base/ios/ios_util.h"
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 347
348 chrome_test_util::TapWebViewElementWithId("link"); 348 chrome_test_util::TapWebViewElementWithId("link");
349 349
350 chrome_test_util::AssertMainTabCount(2); 350 chrome_test_util::AssertMainTabCount(2);
351 351
352 // Verify the new tab was opened with the expected URL. 352 // Verify the new tab was opened with the expected URL.
353 [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())] 353 [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())]
354 assertWithMatcher:grey_notNil()]; 354 assertWithMatcher:grey_notNil()];
355 } 355 }
356 356
357 // Tests that pressing the button on a POST-based form changes the page and that
358 // the back button works as expected afterwards.
359 - (void)testBrowsingPostEntryWithButton {
360 // Create map of canned responses and set up the test HTML server.
361 std::map<GURL, std::string> responses;
362 const GURL URL = web::test::HttpServer::MakeUrl("http://postEntryWithButton");
363 const GURL destinationURL = web::test::HttpServer::MakeUrl("http://foo");
364 // This is a page with a button that posts to the destination.
365 responses[URL] = base::StringPrintf(
366 "<form action='%s' method='post'>"
367 "<input value='button' type='submit' id='button'></form>",
368 destinationURL.spec().c_str());
369 // This is the page that should be showing at the end of the test.
370 responses[destinationURL] = "bar!";
371 web::test::SetUpSimpleHttpServer(responses);
372
373 [ChromeEarlGrey loadURL:URL];
374 chrome_test_util::TapWebViewElementWithId("button");
375
376 [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())]
377 assertWithMatcher:grey_notNil()];
378
379 // Go back and verify the browser navigates to the original URL.
380 [self goBack];
381 [[EarlGrey selectElementWithMatcher:OmniboxText(URL.GetContent())]
382 assertWithMatcher:grey_notNil()];
383 }
384
385 // Tests that a link with a JavaScript-based navigation changes the page and 357 // Tests that a link with a JavaScript-based navigation changes the page and
386 // that the back button works as expected afterwards. 358 // that the back button works as expected afterwards.
387 - (void)testBrowsingJavaScriptBasedNavigation { 359 - (void)testBrowsingJavaScriptBasedNavigation {
388 std::map<GURL, std::string> responses; 360 std::map<GURL, std::string> responses;
389 const GURL URL = web::test::HttpServer::MakeUrl("http://origin"); 361 const GURL URL = web::test::HttpServer::MakeUrl("http://origin");
390 const GURL destURL = web::test::HttpServer::MakeUrl("http://destination"); 362 const GURL destURL = web::test::HttpServer::MakeUrl("http://destination");
391 // Page containing a link with onclick attribute that sets window.location 363 // Page containing a link with onclick attribute that sets window.location
392 // to the destination URL. 364 // to the destination URL.
393 responses[URL] = base::StringPrintf( 365 responses[URL] = base::StringPrintf(
394 "<a href='#' onclick=\"window.location='%s';\" id='link'>Link</a>", 366 "<a href='#' onclick=\"window.location='%s';\" id='link'>Link</a>",
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())] 637 [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())]
666 assertWithMatcher:grey_notNil()]; 638 assertWithMatcher:grey_notNil()];
667 639
668 // Go back and verify that the browser navigates to the original URL. 640 // Go back and verify that the browser navigates to the original URL.
669 [self goBack]; 641 [self goBack];
670 [[EarlGrey selectElementWithMatcher:OmniboxText(URL.GetContent())] 642 [[EarlGrey selectElementWithMatcher:OmniboxText(URL.GetContent())]
671 assertWithMatcher:grey_notNil()]; 643 assertWithMatcher:grey_notNil()];
672 } 644 }
673 645
674 @end 646 @end
OLDNEW
« no previous file with comments | « no previous file | ios/chrome/browser/web/forms_egtest.mm » ('j') | ios/chrome/browser/web/forms_egtest.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698