From d17bd806edf11904f735e6f993829700a2fcc5ee Mon Sep 17 00:00:00 2001 From: jitendrapurohit Date: Tue, 15 Apr 2014 20:16:00 +0530 Subject: [PATCH] Web Test Fix --- .../phpunit/CiviTest/CiviSeleniumTestCase.php | 2 +- .../Contribute/UpdateContributionTest.php | 40 ++++++++++--------- .../WebTest/Member/ContactContextAddTest.php | 4 +- .../Member/DefaultMembershipPricesetTest.php | 8 ++-- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/tests/phpunit/CiviTest/CiviSeleniumTestCase.php b/tests/phpunit/CiviTest/CiviSeleniumTestCase.php index f0528d8682..1f815b69b1 100644 --- a/tests/phpunit/CiviTest/CiviSeleniumTestCase.php +++ b/tests/phpunit/CiviTest/CiviSeleniumTestCase.php @@ -1172,7 +1172,7 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase { $this->waitForPageToLoad($this->getTimeoutMsec()); } - function webtestAddMembershipType($period_type = 'Rolling', $duration_interval = 1, $duration_unit = 'year', $auto_renew = 'no') { + function webtestAddMembershipType($period_type = 'rolling', $duration_interval = 1, $duration_unit = 'year', $auto_renew = 'no') { $membershipTitle = substr(sha1(rand()), 0, 7); $membershipOrg = $membershipTitle . ' memorg'; $this->webtestAddOrganization($membershipOrg, TRUE); diff --git a/tests/phpunit/WebTest/Contribute/UpdateContributionTest.php b/tests/phpunit/WebTest/Contribute/UpdateContributionTest.php index 0050ec8eeb..315c4d24d0 100644 --- a/tests/phpunit/WebTest/Contribute/UpdateContributionTest.php +++ b/tests/phpunit/WebTest/Contribute/UpdateContributionTest.php @@ -44,14 +44,15 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { $this->openCiviPage("contribute/search", "reset=1", "contribution_date_low"); $this->type("sort_name", "$lastName, $firstName"); - $this->clickLink("_qf_Search_refresh"); + $this->click("_qf_Search_refresh"); - $contriIDOff = explode('&', $this->getAttribute("xpath=//div[@id='contributionSearch']/table/tbody/tr[1]/td[11]/span/a@href")); + $this->waitForElementPresent("xpath=//div[@class='crm-content-block']//div[@id='contributionSearch']"); + $contriIDOff = explode('&', $this->getAttribute("xpath=//div[@id='contributionSearch']//table[@class='selector row-highlight']/tbody/tr[1]/td[11]/span/a[1]@href")); if (!empty($contriIDOff)) { $contriIDOff = substr($contriIDOff[1], (strrpos($contriIDOff[1], '=') + 1)); } - $this->clickLink("xpath=//tr[@id='rowid{$contriIDOff}']/td[11]/span/a[2]", "total_amount"); + $this->clickLink("xpath=//tr[@id='rowid{$contriIDOff}']/td[11]/span/a[2]", "total_amount", FALSE); $this->type("total_amount", "90"); $this->clickLink('_qf_Contribution_upload'); @@ -89,7 +90,8 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { $amount = 100.00; //Offline Pay Later Contribution $this->_testOfflineContribution($firstName, $lastName, $email, $amount, "Pending"); - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->waitForElementPresent("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->clickLink("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); $contId = $this->urlArg('id'); $this->select("contribution_status_id", "label=Completed"); $this->clickLink("_qf_Contribution_upload"); @@ -161,9 +163,9 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { // Is status message correct? $this->waitForText('crm-notification-container', "The contribution record has been saved."); // verify if Membership is created - $this->waitForElementPresent("xpath=//div[@id='Contributions']//table//tbody/tr[1]/td[8]/span/a[text()='View']"); + $this->waitForElementPresent("xpath=//div[@class='view-content']//table[@class='selector row-highlight']//tbody/tr[1]/td[8]/span/a[text()='View']"); //click through to the Contribution edit screen - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']", "_qf_Contribution_upload-bottom"); + $this->clickLink("xpath=//div[@class='view-content']//table[@class='selector row-highlight']/tbody/tr[1]/td[8]/span/a[text()='Edit']", "_qf_Contribution_upload-bottom"); $contId = $this->urlArg('id'); $this->waitForElementPresent("product_name_0"); $this->select('product_name_0', "label=$premiumName2 ( $sku2 )"); @@ -223,9 +225,9 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { // Is status message correct? $this->waitForText('crm-notification-container', "The contribution record has been saved."); // verify if Membership is created - $this->waitForElementPresent("xpath=//div[@id='Contributions']//table//tbody/tr[1]/td[8]/span/a[text()='View']"); + $this->waitForElementPresent("xpath=//div[@class='view-content']//table[@class='selector row-highlight']//tbody/tr[1]/td[8]/span/a[text()='View']"); //click through to the Contribution edit screen - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']", "_qf_Contribution_upload-bottom"); + $this->clickLink("xpath=//div[@class='view-content']//table[@class='selector row-highlight']/tbody/tr[1]/td[8]/span/a[text()='Edit']", "_qf_Contribution_upload-bottom"); $contId = $this->urlArg('id'); $this->waitForElementPresent("product_name_0"); $this->select('product_name_0', "value=0"); @@ -249,7 +251,8 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { $from = array_search('Deposit Bank Account', $financialAccount); $this->addPaymentInstrument($label, $to); $this->_testOfflineContribution($firstName, $lastName, $email, $amount); - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->waitForElementPresent("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->clickLink("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); $contId = $this->urlArg('id'); //change payment processor to newly created value $this->select("payment_instrument_id", "label=$label"); @@ -267,7 +270,8 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { $label = 'TEST'.substr(sha1(rand()), 0, 7); $amount = 100.00; $this->_testOfflineContribution($firstName, $lastName, $email, $amount); - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->waitForElementPresent("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->clickLink("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); //Contribution status $this->select("contribution_status_id", "label=Refunded"); $contId = $this->urlArg('id'); @@ -293,7 +297,8 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { $label = 'TEST'.substr(sha1(rand()), 0, 7); $amount = 100.00; $this->_testOfflineContribution($firstName, $lastName, $email, $amount, "Pending"); - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->waitForElementPresent("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->clickLink("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); //Contribution status $this->select("contribution_status_id", "label=Cancelled"); $contId = $this->urlArg('id'); @@ -325,7 +330,8 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { $label = 'TEST'.substr(sha1(rand()), 0, 7); $amount = 100.00; $this->_testOfflineContribution($firstName, $lastName, $email, $amount); - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->waitForElementPresent("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); + $this->clickLink("xpath=//div[@id='contributionSearch']//table/tbody/tr[1]/td[8]/span/a[text()='Edit']"); //Contribution status $this->select("financial_type_id", "value=3"); $contId = $this->urlArg('id'); @@ -446,11 +452,11 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { // Is status message correct? $this->waitForText('crm-notification-container', "The contribution record has been saved."); + $this->waitForElementPresent("xpath=//div[@class='view-content']//table[@class='selector row-highlight']//tbody/tr[1]/td[8]/span/a[text()='View']"); // verify if Membership is created - $this->waitForElementPresent("xpath=//div[@id='Contributions']//table//tbody/tr[1]/td[8]/span/a[text()='View']"); //click through to the Membership view screen - $this->clickLink("xpath=//div[@id='Contributions']//table/tbody/tr[1]/td[8]/span/a[text()='View']", "_qf_ContributionView_cancel-bottom"); + $this->click("xpath=//table[@class='selector row-highlight']/tbody/tr[1]/td[8]/span/a[text()='View']"); $expected = array( 'Financial Type' => 'Donation', @@ -458,11 +464,7 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase { 'Contribution Status' => $status, ); $this->webtestVerifyTabularData($expected); - $this->clickLink("_qf_ContributionView_cancel-top"); - // Because it tends to cause problems, all uses of sleep() must be justified in comments - // Sleep should never be used for wait for anything to load from the server - // Justification for this instance: FIXME - sleep(4); + $this->click("_qf_ContributionView_cancel-bottom"); } } diff --git a/tests/phpunit/WebTest/Member/ContactContextAddTest.php b/tests/phpunit/WebTest/Member/ContactContextAddTest.php index 230ecea557..dcde571a60 100644 --- a/tests/phpunit/WebTest/Member/ContactContextAddTest.php +++ b/tests/phpunit/WebTest/Member/ContactContextAddTest.php @@ -137,7 +137,7 @@ class WebTest_Member_ContactContextAddTest extends CiviSeleniumTestCase { $this->select("membership_type_id[1]", "label={$lifeTimeMemTypeParams['membership_type']}"); $this->waitForElementPresent("xpath=//form[@id='Membership']/div[2]/div[2]//table/tbody//tr[@class='crm-membership-form-block-end_date']/td[2]"); - $this->click("xpath=//form[@id='Membership']/div[2]/div[2]//table/tbody//tr[@class='crm-membership-form-block-end_date']/td[2]/span/a[text()='clear']"); + $this->click("xpath=//form[@id='Membership']/div[2]/div[2]//table/tbody//tr[@class='crm-membership-form-block-end_date']/td[2]/a[@title='Clear']"); $this->click("_qf_Membership_upload-bottom"); $this->waitForPageToLoad($this->getTimeoutMsec()); @@ -230,7 +230,7 @@ class WebTest_Member_ContactContextAddTest extends CiviSeleniumTestCase { ); $this->webtestVerifyTabularData($verifyData); $this->click("_qf_MembershipView_cancel-bottom"); - $this->waitForPageToLoad($this->getTimeoutMsec()); + $this->waitForElementPresent("mainTabContainer"); } } diff --git a/tests/phpunit/WebTest/Member/DefaultMembershipPricesetTest.php b/tests/phpunit/WebTest/Member/DefaultMembershipPricesetTest.php index 028367b010..5e84b63ac5 100755 --- a/tests/phpunit/WebTest/Member/DefaultMembershipPricesetTest.php +++ b/tests/phpunit/WebTest/Member/DefaultMembershipPricesetTest.php @@ -159,7 +159,7 @@ class WebTest_Member_DefaultMembershipPricesetTest extends CiviSeleniumTestCase elseif ($usedFor == 'Membership') { $this->click('extends[3]'); $this->waitForElementPresent( 'financial_type_id' ); - $this->select("css=select.form-select", "label={$contributionType}"); + $this->select("css=select.crm-form-select", "label={$contributionType}"); } $this->type('help_pre', $setHelp); @@ -184,17 +184,17 @@ class WebTest_Member_DefaultMembershipPricesetTest extends CiviSeleniumTestCase elseif (!$defaultPriceSet) { $memTypeParams1 = $this->webtestAddMembershipType(); $memTypeTitle1 = $memTypeParams1['membership_type']; - $memTypeId1 = explode('&id=', $this->getAttribute("xpath=//div[@id='membership_type']/div[2]/table/tbody//tr/td[text()='{$memTypeTitle1}']/../td[12]/span/a[3]@href")); + $memTypeId1 = explode('&id=', $this->getAttribute("xpath=//div[@id='membership_type']/div[1]/table/tbody//tr/td[text()='{$memTypeTitle1}']/../td[12]/span/a[3]@href")); $memTypeId1 = $memTypeId1[1]; $memTypeParams2 = $this->webtestAddMembershipType(); $memTypeTitle2 = $memTypeParams2['membership_type']; - $memTypeId2 = explode('&id=', $this->getAttribute("xpath=//div[@id='membership_type']/div[2]/table/tbody//tr/td[text()='{$memTypeTitle2}']/../td[12]/span/a[3]@href")); + $memTypeId2 = explode('&id=', $this->getAttribute("xpath=//div[@id='membership_type']/div[1]/table/tbody//tr/td[text()='{$memTypeTitle2}']/../td[12]/span/a[3]@href")); $memTypeId2 = $memTypeId2[1]; $memTypeParams3 = $this->webtestAddMembershipType(); $memTypeTitle3 = $memTypeParams3['membership_type']; - $memTypeId3 = explode('&id=', $this->getAttribute("xpath=//div[@id='membership_type']/div[2]/table/tbody//tr/td[text()='{$memTypeTitle3}']/../td[12]/span/a[3]@href")); + $memTypeId3 = explode('&id=', $this->getAttribute("xpath=//div[@id='membership_type']/div[1]/table/tbody//tr/td[text()='{$memTypeTitle3}']/../td[12]/span/a[3]@href")); $memTypeId3 = $memTypeId3[1]; } -- 2.25.1