diff --git a/pom.xml b/pom.xml index 4612369..53de5e2 100644 --- a/pom.xml +++ b/pom.xml @@ -39,49 +39,5 @@ - - - - - - maven-clean-plugin - 3.1.0 - - - - maven-resources-plugin - 3.0.2 - - - maven-compiler-plugin - 3.8.0 - - - maven-surefire-plugin - 2.22.1 - - - maven-jar-plugin - 3.0.2 - - - maven-install-plugin - 2.5.2 - - - maven-deploy-plugin - 2.8.2 - - - - maven-site-plugin - 3.7.1 - - - maven-project-info-reports-plugin - 3.0.0 - - - - + diff --git a/src/main/java/base/CommonAPI.java b/src/main/java/base/CommonAPI.java index 793bd85..099c0e9 100644 --- a/src/main/java/base/CommonAPI.java +++ b/src/main/java/base/CommonAPI.java @@ -52,7 +52,7 @@ public void getDriver(String browser, String os){ @Parameters({"url","browser","os"}) @BeforeMethod - public void setUp(@Optional("https://www.google.com") String url, @Optional("chrome") String browser, @Optional("windows") String os){ + public void setUp(@Optional("https://google.com") String url, @Optional("chrome") String browser, @Optional("windows") String os){ getDriver(browser, os); driver.get(url); driver.manage().window().maximize(); @@ -84,13 +84,14 @@ public void click(String locator){ } } - public void type(String locator, String text){ + public String type(String locator, String text){ try { driver.findElement(By.cssSelector(locator)).sendKeys(text); }catch (Exception e){ driver.findElement(By.xpath(locator)).sendKeys(text); } + return locator; } public void typeAndEnter(String locator, String text){ @@ -101,7 +102,7 @@ public void typeAndEnter(String locator, String text){ } } - public void selectFromDropdown(String dropdownLocator){ + public void selectFromDropdown(String dropdownLocator, String option){ WebElement dropdown; try { dropdown = driver.findElement(By.cssSelector(dropdownLocator)); diff --git a/src/main/java/statefarm/AccountPage.java b/src/main/java/statefarm/AccountPage.java new file mode 100644 index 0000000..53c6806 --- /dev/null +++ b/src/main/java/statefarm/AccountPage.java @@ -0,0 +1,4 @@ +package statefarm; + +public class AccountPage { +} diff --git a/src/main/java/statefarm/BillHomePage.java b/src/main/java/statefarm/BillHomePage.java new file mode 100644 index 0000000..5de22e9 --- /dev/null +++ b/src/main/java/statefarm/BillHomePage.java @@ -0,0 +1,4 @@ +package statefarm; + +public class BillHomePage { +} diff --git a/src/main/java/statefarm/HomeInsurancePage.java b/src/main/java/statefarm/HomeInsurancePage.java new file mode 100644 index 0000000..9e1c4d4 --- /dev/null +++ b/src/main/java/statefarm/HomeInsurancePage.java @@ -0,0 +1,4 @@ +package statefarm; + +public class HomeInsurancePage { +} diff --git a/src/main/java/statefarm/HomePage.java b/src/main/java/statefarm/HomePage.java new file mode 100644 index 0000000..6a9cf23 --- /dev/null +++ b/src/main/java/statefarm/HomePage.java @@ -0,0 +1,4 @@ +package statefarm; + +public class HomePage { +} diff --git a/src/main/java/statefarm/LifeInsurancePage.java b/src/main/java/statefarm/LifeInsurancePage.java new file mode 100644 index 0000000..b311a58 --- /dev/null +++ b/src/main/java/statefarm/LifeInsurancePage.java @@ -0,0 +1,4 @@ +package statefarm; + +public class LifeInsurancePage { +} diff --git a/src/main/java/statefarm/LoginPage.java b/src/main/java/statefarm/LoginPage.java new file mode 100644 index 0000000..472b47d --- /dev/null +++ b/src/main/java/statefarm/LoginPage.java @@ -0,0 +1,4 @@ +package statefarm; + +public class LoginPage { +} diff --git a/src/main/java/statefarm/PersonalCheckingAccountPage.java b/src/main/java/statefarm/PersonalCheckingAccountPage.java new file mode 100644 index 0000000..cba0835 --- /dev/null +++ b/src/main/java/statefarm/PersonalCheckingAccountPage.java @@ -0,0 +1,4 @@ +package statefarm; + +public class PersonalCheckingAccountPage { +} diff --git a/src/test/java/app/aliexpress/SearchTest.java b/src/test/java/app/aliexpress/SearchTest.java new file mode 100644 index 0000000..47059ab --- /dev/null +++ b/src/test/java/app/aliexpress/SearchTest.java @@ -0,0 +1,22 @@ +package app.aliexpress; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class SearchTest extends CommonAPI { + @Test + public void search(){ + typeAndEnter("#search-key","watches"); + String expectedPageTitle = "watches - Buy watches with free shipping on AliExpress"; + Assert.assertEquals(expectedPageTitle, getPageTitle()); + click("//h1[@class='_18_85']/../../../.."); + String expectedText = "VANA Trade"; + String text = getElementText("//a[text()='VANA Trade']/../../../../../../../../../../../.."); + Assert.assertEquals( expectedText, text); + click("//button[@class='next-btn next-large next-btn-primary addcart']"); + String expectedText1 = "A new item has been added to your Shopping Cart. You now have 1 items in your Shopping Cart."; + String text1 = getElementText("//div{@class='addcart-result-title']"); + Assert.assertEquals( expectedText1, text1); + } +} diff --git a/src/test/java/app/aliexpress/TestLoginAliexpress.java b/src/test/java/app/aliexpress/TestLoginAliexpress.java new file mode 100644 index 0000000..02722fb --- /dev/null +++ b/src/test/java/app/aliexpress/TestLoginAliexpress.java @@ -0,0 +1,38 @@ +package app.aliexpress; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class TestLoginAliexpress extends CommonAPI { + @Test + public void login1(){ + click("//span[@class='_34l2i']"); + type("//input[@id='fm-login-id']", "larimus1987@outlook.com"); + type("//input[@id='fm-login-password']", "13Mai2014$"); + click("//button[@class='cosmos-btn cosmos-btn-primary cosmos-btn-large cosmos-btn-block login-submit']"); + String expectedText = "Hi, Mustapha"; + String text = getElementText("//div[@class='_1_3UD']"); + Assert.assertEquals( expectedText, text); + + + + } + @Test + public void login2(){ + click("//span[@class='_34l2i']"); + type("//input[@id='fm-login-id']", "larimus1987@outlook.com"); + type("//input[@id='fm-login-password']", "13Mai20"); + click("//button[@class='cosmos-btn cosmos-btn-primary cosmos-btn-large cosmos-btn-block login-submit']"); + String expectedText = "Your account name or password is incorrect."; + String text = getElementText("//div[@class='cosmos-alert-message']"); + Assert.assertEquals( expectedText, text); + + + + + } + + + +} diff --git a/src/test/java/app/automationpractice/TestAuthentication.java b/src/test/java/app/automationpractice/TestAuthentication.java index 7f0fe6e..69b8779 100644 --- a/src/test/java/app/automationpractice/TestAuthentication.java +++ b/src/test/java/app/automationpractice/TestAuthentication.java @@ -1,7 +1,6 @@ package app.automationpractice; import base.CommonAPI; -<<<<<<< HEAD import org.openqa.selenium.By; import org.testng.Assert; import org.testng.annotations.Test; @@ -37,9 +36,3 @@ public void testAuthenticateWithInvalidPassword() { * as it exceeded resource limit. Please try again later. */ -======= - -public class TestAuthentication extends CommonAPI { - -} ->>>>>>> 8bfd8d05779e36b98d9f10e7515780aa7a9df686 diff --git a/src/test/java/app/automationpractice/TestContactCustomerService.java b/src/test/java/app/automationpractice/TestContactCustomerService.java index e5ac871..5da0061 100644 --- a/src/test/java/app/automationpractice/TestContactCustomerService.java +++ b/src/test/java/app/automationpractice/TestContactCustomerService.java @@ -9,7 +9,7 @@ public class TestContactCustomerService extends CommonAPI { @Test public void testContactUs(){ click("//*[@title='Contact Us']"); - selectFromDropdown("//select[@id='id_contact']"); + selectFromDropdown("//select[@id='id_contact']", ""); typeAndEnter("//input[@id='email']", "tedefi_01@yahoo.fr"); typeAndEnter("//*[@id='id_order']", "orderrefnumber"); typeAndEnter("//*[@id='message']", "This is an automation test"); diff --git a/src/test/java/app/ebay/AddToCartOnEbay.java b/src/test/java/app/ebay/AddToCartOnEbay.java new file mode 100644 index 0000000..d5c726f --- /dev/null +++ b/src/test/java/app/ebay/AddToCartOnEbay.java @@ -0,0 +1,19 @@ +package app.ebay; + +import base.CommonAPI; +import org.openqa.selenium.By; +import org.openqa.selenium.chrome.ChromeDriver; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class AddToCartOnEbay extends CommonAPI { + + + @Test + public void AddToCartOnEbay() { + click(""); + Thread.sleep(3000); + String expectAddToCartOnEbay = "ebay.com :AddToCartOnEbay"; + Assert. assertEquals(expectedAddToCartOnEbay, actualAddToCartOnEbay()); + } +} diff --git a/src/test/java/app/ebay/AdvancedSearch.java b/src/test/java/app/ebay/AdvancedSearch.java new file mode 100644 index 0000000..12c77f3 --- /dev/null +++ b/src/test/java/app/ebay/AdvancedSearch.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class AdvancedSearch { + } diff --git a/src/test/java/app/ebay/BrandOutlet.java b/src/test/java/app/ebay/BrandOutlet.java new file mode 100644 index 0000000..1201df9 --- /dev/null +++ b/src/test/java/app/ebay/BrandOutlet.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class BrandOutlet { +} diff --git a/src/test/java/app/ebay/CloseAccountFunctionality.java b/src/test/java/app/ebay/CloseAccountFunctionality.java new file mode 100644 index 0000000..e862cd8 --- /dev/null +++ b/src/test/java/app/ebay/CloseAccountFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class CloseAccountFunctionality { +} diff --git a/src/test/java/app/ebay/DailysDealFunctionality.java b/src/test/java/app/ebay/DailysDealFunctionality.java new file mode 100644 index 0000000..ddef594 --- /dev/null +++ b/src/test/java/app/ebay/DailysDealFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class DailysDealFunctionality { +} diff --git a/src/test/java/app/ebay/ForgotPasswordFunctionality.java b/src/test/java/app/ebay/ForgotPasswordFunctionality.java new file mode 100644 index 0000000..8c79b7f --- /dev/null +++ b/src/test/java/app/ebay/ForgotPasswordFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class ForgotPasswordFunctionality { +} diff --git a/src/test/java/app/ebay/ForgotUserIdFunctionality.java b/src/test/java/app/ebay/ForgotUserIdFunctionality.java new file mode 100644 index 0000000..3836929 --- /dev/null +++ b/src/test/java/app/ebay/ForgotUserIdFunctionality.java @@ -0,0 +1,192 @@ +package app.ebay; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; +import java.awt.*; +import static java.awt.SystemColor.text; + +public class ForgotUserIdFunctionality extends CommonAPI { + + @Test + public void test1() { + click(""); + type("text", "name=\"userid\""); + String expectedForgotUserId = "ebay.com :ForgotUserId"; + Assert.assertEquals(expectedForgotUserId, getPageTitle()); + } + + @Test + public void test2() { + click("Sign in"); + Assert.assertEquals("invalid signin", text); + String expectedInvalidSignin = "ebay.com :InvalidSignin"; + Assert.assertEquals(expectedInvalidSignin, getPageTitle()); + } + + @Test + public void test3() { + click(""); + type("text", "name=\"password\""); + String expectedForgotPassword = "ebay.com :ForgotPassword"; + Assert.assertEquals(expectedForgotPassword, getPageTitle()); + } + + @Test + public void test4() { + click(""); + waitFor(3000); + String expectedVaildEmail = "ebay.com :ValidEmail"; + Assert.assertEquals(expectedVaildEmail, text); + + } + + @Test + public void test5() throws InterruptedException { + click("register"); + String expectedRegister = " ebay.com: Register"; + Thread.sleep(2000); + Assert.assertEquals(expectedRegister, getClass()); + } + + @Test + public void test6() { + click("Selling"); + selectFromDropdown("#searchDropdownBox", "smart watches"); + String expectedSellingPageTitleFunctionalty = "ebay.com : sellingPageTitlefunctionality"; + Assert.assertEquals(expectedSellingPageTitleFunctionalty, getPageTitle()); + + } + + @Test + public void test7() { + click(" Help & Contact"); + waitFor(5); + String expectedHelpAndContactFunctionalty = "ebay.com:helpandcontactfunctionality"; + Assert.assertEquals(expectedHelpAndContactFunctionalty, getClass()); + + } + + @Test + public void test8() { + click(""); + type("#aria-expanded", "Electronic,vedio games"); + click("id=\"gh-shop-a\""); + waitFor(5); + String expectedShopByCategory = "ebay.com : shopbycategory"; + Assert.assertEquals(expectedShopByCategory, getClass()); + } + + @Test + public void test9() { + click("Personal information"); + String expectedSigninAndSecurity = "ebay.com :Sign in and security"; + Assert.assertEquals(expectedSigninAndSecurity, getClass()); + } + + @Test + public void test10() { + click("a[href='https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&ru=https%3A%2F%2Fwww.ebay.com%2F']"); + String expectedText = "Sign in and security"; + String title = getElementText("Account Settings"); + String expectedHomePage = "sign in and security"; + Assert.assertEquals(expectedText, text); + } + private void type(String s, SystemColor text) { + } + + @Test + public void test11() { + click(""); + waitFor(3000); + String expectAddToCartOnEbay = "ebay.com :AddToCartOnEbay"; + Assert.assertEquals(expectAddToCartOnEbay, (getPageTitle())); + } + @Test + public void test12() { + + click("Sign out"); + String expectedLogoutFunctionality="ebay.com: LogoutFunctionality"; + waitFor(2000); + Assert.assertEquals(expectedLogoutFunctionality, getPageTitle()); + } + @Test + public void test13() { + + click("Payments"); + selectFromDropdown("#searchDropdownBox", "PayPal"); + String expectedPaymentFunctionality="ebay.com: PaymentFunctionality"; + waitFor(1000); + Assert.assertEquals(expectedPaymentFunctionality, getElementText(getPageTitle())); + } + @Test + public void test14() { + click(" Daily Deals"); + String expectedDailyDealsFunctionality="ebay.com: DailyDealsFunctionality"; + waitFor(4000); + Assert.assertEquals(expectedDailyDealsFunctionality, getElementText(getPageTitle())); + } + @Test + public void test15() { + click(" Brand Outlet"); + selectFromDropdown("#searchDropdownBox", "Apple up to 60%"); + String expectedBrandOutletFunctionality="ebay.com: BrandOutletFunctionality"; + waitFor(2000); + Assert.assertEquals(expectedBrandOutletFunctionality, getPageTitle()); + } + @Test + public void test16() { + click("Close account"); + String expectedText = "Sign in"; + waitFor(5000); + String expecteCloseAcountFunctionality="ebay.com: CloseAcountFunctionality"; + Assert.assertEquals(expecteCloseAcountFunctionality, getPageTitle()); + } + @Test + public void test17() { + click("Messages"); + String expectedText = "Sign in"; + waitFor(3000); + String expectedInBoxMessageFunctionalityTitle="ebay.com: InBoxMessageFunctionality"; + Assert.assertEquals(expectedInBoxMessageFunctionalityTitle, getPageTitle()); + } + @Test + public void test18() { + click("Advanced"); + selectFromDropdown("#AdvancedSearchDropdownBox", "On ebay Motors"); + waitFor(1000); + String expectedAdvancedSearchTitle="ebay.com: AdvancedSearchTitle"; + Assert.assertEquals(expectedAdvancedSearchTitle, getPageTitle()); + } + @Test + public void test19() { + click("My eBay"); + String expectedMyEbayTitle="ebay.com: MyEbayTitle"; + Assert.assertEquals(expectedMyEbayTitle, getPageTitle()); + } + @Test + public void test20() { + click("Toys"); + String expectedHomePage = "sign in"; + selectFromDropdown("ToyDropdownBox", "Building Toys"); + waitFor(3000); + String expectedToysTitle="ebay.com :ToysTitle"; + Assert.assertEquals(expectedToysTitle, getPageTitle()); + } + + } + + + + + + + + + + + + + + + diff --git a/src/test/java/app/ebay/HelpAndContactFunctionality.java b/src/test/java/app/ebay/HelpAndContactFunctionality.java new file mode 100644 index 0000000..67d6dec --- /dev/null +++ b/src/test/java/app/ebay/HelpAndContactFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class HelpAndContactFunctionality { +} diff --git a/src/test/java/app/ebay/InboxMessageFunctionality.java b/src/test/java/app/ebay/InboxMessageFunctionality.java new file mode 100644 index 0000000..07559c1 --- /dev/null +++ b/src/test/java/app/ebay/InboxMessageFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class InboxMessageFunctionality { +} diff --git a/src/test/java/app/ebay/InvalidSinginFuctionality.java b/src/test/java/app/ebay/InvalidSinginFuctionality.java new file mode 100644 index 0000000..4a08352 --- /dev/null +++ b/src/test/java/app/ebay/InvalidSinginFuctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class InvalidSinginFuctionality { +} diff --git a/src/test/java/app/ebay/MyEbay.java b/src/test/java/app/ebay/MyEbay.java new file mode 100644 index 0000000..91aeee7 --- /dev/null +++ b/src/test/java/app/ebay/MyEbay.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class MyEbay { +} diff --git a/src/test/java/app/ebay/PaymentFunctionality.java b/src/test/java/app/ebay/PaymentFunctionality.java new file mode 100644 index 0000000..6f2e7c0 --- /dev/null +++ b/src/test/java/app/ebay/PaymentFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class PaymentFunctionality { +} diff --git a/src/test/java/app/ebay/RegisterFunctionality.java b/src/test/java/app/ebay/RegisterFunctionality.java new file mode 100644 index 0000000..d8b2cf7 --- /dev/null +++ b/src/test/java/app/ebay/RegisterFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class RegisterFunctionality { +} diff --git a/src/test/java/app/ebay/SearchProduct.java b/src/test/java/app/ebay/SearchProduct.java new file mode 100644 index 0000000..05293c6 --- /dev/null +++ b/src/test/java/app/ebay/SearchProduct.java @@ -0,0 +1,28 @@ +package app.ebay; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class SearchProduct extends CommonAPI { + + @Test + public void SearchProducr() { + click(""); + String expectSearchProduct = "ebay.com : SearchProduct"; + Assert.assertEquals("expectedSearchProduct", getClass()); + } + + } + + + + + + + + + + + + diff --git a/src/test/java/app/ebay/SellingFunctionality.java b/src/test/java/app/ebay/SellingFunctionality.java new file mode 100644 index 0000000..942f7a0 --- /dev/null +++ b/src/test/java/app/ebay/SellingFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class SellingFunctionality { +} diff --git a/src/test/java/app/ebay/ShopByGategory.java b/src/test/java/app/ebay/ShopByGategory.java new file mode 100644 index 0000000..5811916 --- /dev/null +++ b/src/test/java/app/ebay/ShopByGategory.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class ShopByGategory { +} diff --git a/src/test/java/app/ebay/SingoutFunctionality.java b/src/test/java/app/ebay/SingoutFunctionality.java new file mode 100644 index 0000000..4d7d008 --- /dev/null +++ b/src/test/java/app/ebay/SingoutFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class SingoutFunctionality { +} diff --git a/src/test/java/app/ebay/Toys.java b/src/test/java/app/ebay/Toys.java new file mode 100644 index 0000000..57bce7d --- /dev/null +++ b/src/test/java/app/ebay/Toys.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class Toys { +} diff --git a/src/test/java/app/ebay/ValidEmailFunctionality.java b/src/test/java/app/ebay/ValidEmailFunctionality.java new file mode 100644 index 0000000..16db731 --- /dev/null +++ b/src/test/java/app/ebay/ValidEmailFunctionality.java @@ -0,0 +1,4 @@ +package app.ebay; + +public class ValidEmailFunctionality { +} diff --git a/src/test/java/app/ebay/testHomepage.java b/src/test/java/app/ebay/testHomepage.java index 7ca3fa9..42fa508 100644 --- a/src/test/java/app/ebay/testHomepage.java +++ b/src/test/java/app/ebay/testHomepage.java @@ -2,5 +2,33 @@ import base.CommonAPI; + public class testHomepage extends CommonAPI { } + +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.chrome.ChromeDriver; +import org.testng.Assert; +import org.testng.annotations.Test; + +import static java.awt.SystemColor.text; + +public class testHomepage extends CommonAPI { + @Test + public void testCheckSigninFunctionality() { + click("a[href='https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&ru=https%3A%2F%2Fwww.ebay.com%2F']"); + String expectedText = "Sign in and security"; + String title = getElementText("Account Settings"); + String expectedHomePage = "sign in and security"; + Assert.assertEquals(expectedText, text); + + + + } +} + + + + + diff --git a/src/test/java/app/msnbc/AddToCartTests.java b/src/test/java/app/msnbc/AddToCartTests.java new file mode 100644 index 0000000..e1fae39 --- /dev/null +++ b/src/test/java/app/msnbc/AddToCartTests.java @@ -0,0 +1,23 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class AddToCartTests extends CommonAPI { + + @Test + public void addItemsToCart(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()=\"MSNBC Store\"]"); + click("div[class='grid-product__color-image grid-product__color-image--39517818290330 small--hide']"); + click("button[class='btn btn--full add-to-cart']"); + waitFor(1); + click("button[class='btn btn--full cart__checkout']"); + waitFor(1); + Assert.assertEquals("Information - NBC Store - Checkout",getPageTitle()); + //ask nacer about the wait times and why the page title shows different if no wait time. what can be done? + } +} diff --git a/src/test/java/app/msnbc/DropdownMenuTests.java b/src/test/java/app/msnbc/DropdownMenuTests.java new file mode 100644 index 0000000..4941e62 --- /dev/null +++ b/src/test/java/app/msnbc/DropdownMenuTests.java @@ -0,0 +1,88 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class DropdownMenuTests extends CommonAPI { + + @Test + public void tvScheduleTest2(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Monday']"); + click("//p[.='Tuesday']"); + click("//p[.='Wednesday']"); + click("//p[.='Thursday']"); + click("//p[.='Friday']"); + click("//p[.='Saturday']"); + click("//p[.='Sunday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + + @Test + public void tvScheduleMondayTest3(){ + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Monday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + + @Test + public void tvScheduleTuesdayTest4(){ + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Tuesday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + + @Test + public void tvScheduleWednesdayTest5(){ + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Wednesday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + + @Test + public void tvScheduleThursdayTest6(){ + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Thursday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + + @Test + public void tvScheduleFridayTest7(){ + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Friday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + + @Test + public void tvScheduleSatrudayTest8(){ + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Saturday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + + @Test + public void tvScheduleSundayTest9(){ + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='TV Schedule']"); + click("//p[.='Sunday']"); + Assert.assertEquals("MSNBC Schedule | See the MSNBC TV Schedule Today",getPageTitle()); + } + +} diff --git a/src/test/java/app/msnbc/FollowPageTest.java b/src/test/java/app/msnbc/FollowPageTest.java new file mode 100644 index 0000000..fae7e50 --- /dev/null +++ b/src/test/java/app/msnbc/FollowPageTest.java @@ -0,0 +1,26 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class FollowPageTest extends CommonAPI { + + @Test + public void deadlineTwitterPageTest(){ + click("//a[text()='Deadline: WH']"); + click("//a[text()='TWITTER']"); + click("div[class='css-1dbjc4n']"); + Assert.assertEquals("Deadline White House (@DeadlineWH) / Twitter",getPageTitle()); + } + + @Test + public void morningJoeInstagramPageTest(){ + click("//a[text()='Morning Joe']"); + click("//a[@class=\"animated-ghost-button animated-ghost-button--small styles_promo3PanelButton__X0MV7\"][text()='FULL BIO'][1]"); + click("//a[text()='@JoeScarborough']"); + waitFor(1); + Assert.assertEquals("Joe Scarborough (@joescarborough) • Instagram photos and videos",getPageTitle()); + } + +} diff --git a/src/test/java/app/msnbc/MainTabsTests.java b/src/test/java/app/msnbc/MainTabsTests.java new file mode 100644 index 0000000..691c149 --- /dev/null +++ b/src/test/java/app/msnbc/MainTabsTests.java @@ -0,0 +1,30 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class MainTabsTests extends CommonAPI { + + @Test + public void homepageTabTest11(){ + click("div[class='shortcuts h-h'] li:nth-child(2)"); + String text= getElementText("h4[class='styles_title__Ge8pR']"); + Assert.assertEquals("MSNBC Daily Columnists",text); + click("//a[text()='Rachel Maddow']"); + Assert.assertEquals("Rachel Maddow Show on MSNBC | Watch Rachel Maddow Live",getPageTitle()); + click("//a[text()='Morning Joe']"); + Assert.assertEquals("Morning Joe | MSNBC Morning Joe Live with Joe Scarborough",getPageTitle()); + click("//a[text()='Deadline: WH']"); + Assert.assertEquals("Deadline: White House on MSNBC with Nicolle Wallace",getPageTitle()); + click("//a[text()='The Beat']"); + Assert.assertEquals("The Beat With Ari Melber on MSNBC",getPageTitle()); + click("//a[text()='The ReidOut']"); + Assert.assertEquals("The ReidOut with Joy Reid on MSNBC | The Joy Reid Show",getPageTitle()); + + } + + + + +} diff --git a/src/test/java/app/msnbc/PodcastTests.java b/src/test/java/app/msnbc/PodcastTests.java new file mode 100644 index 0000000..bcc2ced --- /dev/null +++ b/src/test/java/app/msnbc/PodcastTests.java @@ -0,0 +1,56 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class PodcastTests extends CommonAPI { + + @Test + public void firstPodcast1(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='Podcasts']"); + click("//span[text()='American Radical']"); + Assert.assertEquals("American Radical: an MSNBC original podcast",getPageTitle()); + } + + @Test + public void podcastOnApplePodcasts(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='Podcasts']"); + click("//span[text()='American Radical']"); + click("//li[@class='styles_linkListItem__aVGnJ'][1]"); + Assert.assertEquals("American Radical on Apple Podcasts",getPageTitle()); + } + + @Test + public void podcastOnSpotify(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='Podcasts']"); + click("//span[text()='American Radical']"); + click("//li[@class='styles_linkListItem__aVGnJ'][2]"); + Assert.assertEquals("| Podcast on Spotify",getPageTitle()); + } + + @Test + public void listenPodcast(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='Podcasts']"); + click("//span[text()='American Radical']"); + click("//span[text()='Introducing: American Radical']"); + waitFor(1); + click("(//button[@aria-label='Play'])[1]"); + Assert.assertEquals("American Radical",getPageTitle()); + } + + + +} diff --git a/src/test/java/app/msnbc/SearchTest.java b/src/test/java/app/msnbc/SearchTest.java new file mode 100644 index 0000000..564a4b0 --- /dev/null +++ b/src/test/java/app/msnbc/SearchTest.java @@ -0,0 +1,29 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class SearchTest extends CommonAPI { + + @Test + public void columnistZeeshanTest10(){ + waitFor(1); + click("h2[class='styles_title__RQZ4f'] a"); + click("button[class='animated-ghost-button animated-ghost-button--normal styles_actionButton__CyZ6G']"); + waitFor(2); + click("(//div[@class='styles_entity__qmo5G'])[1]"); + String expectedPageTitle= "MSNBC Author Zeeshan Aleem"; + Assert.assertEquals(expectedPageTitle,getPageTitle()); + + } + + @Test + public void careerSearchTest19(){ + click("//a[text()='Morning Joe']"); + click("//a[text()='Careers']"); + typeAndEnter("input[class='input-search']","IT"); + String pageTitle= "Find a Job | NBCUnicareers"; + Assert.assertEquals(pageTitle,getPageTitle()); + } +} diff --git a/src/test/java/app/msnbc/SignUpTests.java b/src/test/java/app/msnbc/SignUpTests.java new file mode 100644 index 0000000..f9120bc --- /dev/null +++ b/src/test/java/app/msnbc/SignUpTests.java @@ -0,0 +1,33 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class SignUpTests extends CommonAPI { + + @Test + public void invalidEmail(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='MSNBC Newsletters']"); + click("//li[@class='waffleCard styles_waffleCard__TcO9m'][2]"); + typeAndEnter("input[id='email']","abcd@123"); + Assert.assertEquals("Sign up for the Morning Joe newsletter | NBC News",getPageTitle()); + } + + @Test + public void validEmail(){ + waitFor(1); + click("button[class='hamburger js-menu-toggle']"); + waitFor(1); + click("//span[text()='MSNBC Newsletters']"); + click("//li[@class='waffleCard styles_waffleCard__TcO9m'][2]"); + typeAndEnter("input[id='email']","sadaf492@hotmail.com"); + waitFor(2); + String text= getElementText("h3[class='headline']"); + Assert.assertEquals("You have successfully signed up for the Morning Joe newsletter.",text); + } + +} diff --git a/src/test/java/app/msnbc/VideoTest.java b/src/test/java/app/msnbc/VideoTest.java new file mode 100644 index 0000000..bf31f65 --- /dev/null +++ b/src/test/java/app/msnbc/VideoTest.java @@ -0,0 +1,29 @@ +package app.msnbc; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class VideoTest extends CommonAPI { + + @Test + public void liveTvTest1(){ + waitFor(1); + click("div[class='mini-tease-local mini-tease-local--live']"); + click("button[class='tve__signin__action']"); + waitFor(1); + click("button[value='Cablevision']"); + Assert.assertEquals("MSNBC Live: Stream the latest TV shows",getPageTitle()); + } + + @Test + public void videoTests(){ + waitFor(1); + click("//a[text()='Rachel Maddow']"); + click("//div[@class='lazyload-wrapper'][2]"); + click("//div[@class='lazyload-wrapper'][3]"); + click("//div[@class='lazyload-wrapper'][4]"); + String text= getElementText("h2[class=\"styles_titleText__7qLbv\"]"); + Assert.assertEquals("Latest Maddow Videos",text); + } +} diff --git a/src/test/java/app/statefarm/testHomepage.java b/src/test/java/app/stateFarm/testHomepage.java similarity index 76% rename from src/test/java/app/statefarm/testHomepage.java rename to src/test/java/app/stateFarm/testHomepage.java index a2aff03..d38a4a2 100644 --- a/src/test/java/app/statefarm/testHomepage.java +++ b/src/test/java/app/stateFarm/testHomepage.java @@ -1,4 +1,4 @@ -package app.statefarm; +package app.stateFarm; import base.CommonAPI; diff --git a/src/test/java/app/statefarm/AccessDM.java b/src/test/java/app/statefarm/AccessDM.java new file mode 100644 index 0000000..ba199cc --- /dev/null +++ b/src/test/java/app/statefarm/AccessDM.java @@ -0,0 +1,24 @@ +package app.statefarm; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class AccessDM extends CommonAPI { + @Test + public void aDocument(){ + selectFromDropdown("//section[@class='-oneX-header-nav-apps-container']/div/div/button/img","Documents"); + click("//div[@class='-oneX-submenu-usermenu']/ul/li[2]"); + String expectedTestngPageTitle = "#DocumentCenterHeader"; + Assert.assertEquals(expectedTestngPageTitle, getPageTitle()); + + } + @Test + public void aMessages(){ + selectFromDropdown("//section[@class='-oneX-header-nav-apps-container']/div/div/button/img","Messages"); + click(""); + String expectedTestngPageTitle = "#header"; + Assert.assertEquals(expectedTestngPageTitle, getPageTitle()); + + } + } diff --git a/src/test/java/app/statefarm/GoPaperLess.java b/src/test/java/app/statefarm/GoPaperLess.java new file mode 100644 index 0000000..450de95 --- /dev/null +++ b/src/test/java/app/statefarm/GoPaperLess.java @@ -0,0 +1,19 @@ +package app.statefarm; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class GoPaperLess extends CommonAPI { + @Test + public void paperLess(){ + click("//ul[@class='-oneX-header-main-nav-menu']/li[2]"); + click("//div[@class='-oneX-col-12 -oneX-col-md-6 -oneX-bills-menu']/span/following-sibling::ul[1]/li[5]"); + String expectedText = "Sign up to go paperless!"; + String text = getElementText("#auth-header"); + Assert.assertEquals(expectedText, text); + type("#phoneNumber-input","(347)549-5665"); + type("#dob-input","#dob-input"); + } + +}//div[@class='-oneX-col-12 -oneX-col-md-4 -oneX-col-xl-2']/ul/li[3] diff --git a/src/test/java/app/statefarm/Search.java b/src/test/java/app/statefarm/Search.java new file mode 100644 index 0000000..61edf93 --- /dev/null +++ b/src/test/java/app/statefarm/Search.java @@ -0,0 +1,17 @@ +package app.statefarm; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class Search extends CommonAPI { + @Test + public void findAgent(){ + type("#callout-agent-zip-code-input1","11219"); + click("#quote-main-zip-code-button1"); + String expectedText1 = "Find a State Farm Agent Near You"; + String text1 = getElementText("//h1[@class='-oneX-heading--h1']"); + Assert.assertEquals(expectedText1,text1); + + } +} \ No newline at end of file diff --git a/src/test/java/app/statefarm/TestAccount.java b/src/test/java/app/statefarm/TestAccount.java new file mode 100644 index 0000000..6c010fa --- /dev/null +++ b/src/test/java/app/statefarm/TestAccount.java @@ -0,0 +1,25 @@ +package app.statefarm; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class TestAccount extends CommonAPI { + @Test + public void openAccountCd(){ + click("//span[text()='Banking']"); + click("//a[text()='Retirement CDs']"); + String expectedText1 = "Choose the CD that works for you"; + String text1 = getElementText("//h2[@class='-w_mt-md-20 -w_mt-xl-25 -w_ml-xl-65 -w_mb-xl-0']"); + Assert.assertEquals(expectedText1,text1); + } + + @Test + public void openCheckingA(){ + click("//span[text()='Banking']"); + click("//a[text()='Checking']"); + String expectedText1 = "Easy Checking"; + String text1 = getElementText("//h2[text()='Easy Checking']"); + Assert.assertEquals(expectedText1,text1); + } +} diff --git a/src/test/java/app/statefarm/TestLogin.java b/src/test/java/app/statefarm/TestLogin.java new file mode 100644 index 0000000..ff95c26 --- /dev/null +++ b/src/test/java/app/statefarm/TestLogin.java @@ -0,0 +1,39 @@ +package app.statefarm; + +import base.CommonAPI; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class TestLogin extends CommonAPI { + @Test + public void login1() { + click("//*[text()='Log in']"); + String expectedText = "Log in to view and manage your account."; + String text = getElementText("//div[text()='Log in to view and manage your account.']"); + Assert.assertEquals(expectedText, text); + type("//input[@autocomplete='username']", "Aksel1506"); + type("//input[@id='util-login-password']", "TestCase@java6"); + click(".-oneX-util-login-button.-oneX-btn-primary.-oneX-btn-fit-content"); + waitFor(8); +// String expectedText1 = "Hi, Salem"; +// String text1 = getElementText("//*[text()='Hi, Salem']"); +// Assert.assertEquals(expectedText1,text1); + + } + + @Test + public void login2() { + click("//*[text()='Log in']"); + String expectedText = "Log in to view and manage your account."; + String text = getElementText("//div[text()='Log in to view and manage your account.']"); + Assert.assertEquals(expectedText, text); + type("//input[@autocomplete='username']", "Aksel0615"); + type("//input[@id='util-login-password']", "TestCase@java3"); + click("//button[text()='Log in']"); + String expectedText1 = "Trouble logging in?"; + String text1 = getElementText("#troubleLoggingIn"); + Assert.assertEquals(expectedText1,text1); + + } +} + diff --git a/src/test/java/app/statefarm/TestQuotePayBill.java b/src/test/java/app/statefarm/TestQuotePayBill.java new file mode 100644 index 0000000..e4b4433 --- /dev/null +++ b/src/test/java/app/statefarm/TestQuotePayBill.java @@ -0,0 +1,22 @@ +package app.statefarm; + +import base.CommonAPI; +import org.testng.annotations.Test; + +public class TestQuotePayBill extends CommonAPI { + @Test + public void Quote(){ + click("//li[@class='-oneX-header-main-nav-list'][4]"); + selectFromDropdown("#getaquote-select-product","Auto"); + type("#getaquote-zip","11219"); + click("#getaQuoteButton"); + } + + @Test + public void PayBill(){ + click("//span[text()='Pay a Bill']"); + selectFromDropdown("//select[@name='billingMode']", "Phone Number"); + type("#pay-a-bill-phoneNo","3475495665"); + type("//input[@name='dob']","04061987"); + } +} diff --git a/src/test/java/test-cases b/src/test/java/test-cases deleted file mode 100644 index b3101ac..0000000 --- a/src/test/java/test-cases +++ /dev/null @@ -1,14 +0,0 @@ -Full name: -Google Document Link: - -Full name: -Google Document Link: - -Full name: -Google Document Link: - -Full name: -Google Document Link: - -Full name: -Google Document Link: \ No newline at end of file diff --git a/src/test/resources/abcnews-runner.xml b/src/test/resources/abcnews-runner.xml deleted file mode 100644 index de652c2..0000000 --- a/src/test/resources/abcnews-runner.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/aliexpress-runner.xml b/src/test/resources/aliexpress-runner.xml index eba78e4..6a83ae4 100644 --- a/src/test/resources/aliexpress-runner.xml +++ b/src/test/resources/aliexpress-runner.xml @@ -1,15 +1,37 @@ - + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/ebay-runner.xml b/src/test/resources/ebay-runner.xml index c527d02..ab39107 100644 --- a/src/test/resources/ebay-runner.xml +++ b/src/test/resources/ebay-runner.xml @@ -2,13 +2,112 @@ - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/msnbc-runner.xml b/src/test/resources/msnbc-runner.xml new file mode 100644 index 0000000..05ac148 --- /dev/null +++ b/src/test/resources/msnbc-runner.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/statefarm-runner.xml b/src/test/resources/statefarm-runner.xml index 89f94af..36db8ee 100644 --- a/src/test/resources/statefarm-runner.xml +++ b/src/test/resources/statefarm-runner.xml @@ -1,15 +1,60 @@ - - + + - + + + + + + - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/test automation.xlsx b/src/test/test automation.xlsx new file mode 100644 index 0000000..c7c67b9 Binary files /dev/null and b/src/test/test automation.xlsx differ diff --git a/test case# 5.xlsx b/test case# 5.xlsx new file mode 100644 index 0000000..3433a70 Binary files /dev/null and b/test case# 5.xlsx differ