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