def pay_by_bank_wire(self): payment_page = PaymentPage(self.driver) payment_page.pay_by_bank_wire() payment_page.verify_order_summary(self.product_data["total_price"]) payment_page.confirm_order() payment_page.verify_order_confirmation( self.product_data["total_price"])
def test_buy_new_item_as_guest(self, browser): self.main_page = MainPage(browser) self.main_page.open() self.main_page.go_to_all_items() self.list_goods = ListGoods(browser) self.list_goods.click_on_the_good() self.item_details_page = ItemDetailsPage(browser) self.item_details_page.add_to_cart() self.verification_page = VerificationPage(browser) self.verification_page.proceed_order() self.checkout_page = CheckoutPage(browser) self.checkout_page.enter_email_checkout("*****@*****.**") self.checkout_page.enter_password_checkout("123456") self.delivery_window = self.checkout_page.click_submit_button_at_checkout() assert "Адрес доставки" in self.delivery_window self.delivery_address_page = DeliveryAddress(browser) self.delivery_address_page.add_first_name_at_delivery_address_page("Vitalii") self.delivery_address_page.add_last_name_at_delivery_address_page("ivanov") self.delivery_address_page.add_region_at_delivery_address_page("Darnytsa") self.delivery_address_page.add_city_at_delivery_address_page("Kyiv") self.delivery_address_page.add_postal_code_at_delivery_address_page("12354") self.delivery_address_page.choose_the_country_at_delivery_address_page("UA") self.delivery_address_page.click_submit_button_at_delivery_address_page() self.payment_page = PaymentPage(browser) self.payment_page.add_payment() self.view_order = ViewOrder(browser) accept = self.view_order.confirm_order() assert "Подтверждение заказа" in accept
def test_success_auth(self, login, password, lang_btn_loc): Driver().get_url_with_basic_auth(LoginPage.BASE_URL) lang_btn_loc().click() LoginPage.login_input().wait_for_displayed().fill(login) LoginPage.password_input().fill(password) LoginPage.submit_btn().click() PaymentPage.status_selector().wait_for_displayed().assert_displayed() active_status = PaymentPage.gold_item().text with allure.step("Проверяем что активен статус Gold"): assert_that(active_status, contains_string('GOLD\n$1000 +100%'))
def pay_rent(driver): wait = WebDriverWait(driver, 10) login_page = LoginPage(driver) login_page.login(os.environ['rentUser'], os.environ['rentPass']) dashboard_page = Dashboard(driver) amount = dashboard_page.get_outstanding_amount() dashboard_page.click_pay_btn() print(amount) amount = '.01' payment_page = PaymentPage(driver) payment_page.make_payment(amount)
def verify_payment_page(self): payment_page = PaymentPage(self.driver) assert payment_page.attributes_label.get_attribute( "textContent" ).lower( ) == f"color : {self.product_data['color']}, size : {self.product_data['size']}".lower( ) assert payment_page.product_quantity.get_attribute( "textContent").strip() == self.product_data['quantity'] assert payment_page.product_total_price.get_attribute( "textContent").strip() == "$" + "{:.2f}".format( float(str(self.product_data["price"]).replace("$", "")) * int(self.product_data['quantity'])) assert payment_page.product_unit_price.get_attribute( "textContent") == self.product_data["price"] assert payment_page.cart_info_shipping_price.get_attribute( "textContent") == "$2.00" assert payment_page.product_total_price.get_attribute( "textContent").strip() == "$" + "{:.2f}".format( float(str(self.product_data["price"]).replace("$", "")) * int(self.product_data['quantity'])) assert payment_page.cart_info_total_price.get_attribute( "textContent") == "$" + "{:.2f}".format( float(str(self.product_data["price"]).replace("$", "")) * int(self.product_data['quantity']) + 2) self.product_data[ "total_price"] = payment_page.cart_info_total_price.get_attribute( "textContent")
def __init__(self, base_url, headless): setup("INFO") logger.setLevel("INFO") driver_path = ChromeDriverManager().install() options = Options() if headless: options.add_argument("--headless") self.wd = webdriver.Chrome(driver_path, options=options) self.base_url = base_url self.login_page = LoginPage(self) self.main_page = MainPage(self) self.deposit_page = DepositsPage(self) self.card_page = CardPage(self) self.fake_data = FakeData.lets_random_bitchas() self.taxes_page = TaxesPage(self) self.payment_page = PaymentPage(self) self.event_page = EventPage(self)
def test3_btn_proceed_to_checkout(self): self.shipping_page.checkbox_terms.click() self.shipping_page.btn_submit.click() self.payment_page = PaymentPage(driver=self.driver) assert self.payment_page.page_heading == 'Please choose your payment method'
def setUp(self): # create new Chrome session self.driver = webdriver.Chrome( "C:/Users/cristian.prepelita/projects/drivers/chromedriver.exe") url = 'http://automationpractice.com/index.php' # navigate to the application cart self.driver.get(url) # add product to cart product = self.driver.find_element_by_xpath( '//*[@id="homefeatured"]/li[1]/div/div[2]/div[2]/a[1]') product.click() self.driver.implicitly_wait(7) # go to cart checkout = self.driver.find_element_by_css_selector( "a[title='Proceed to checkout']") checkout.click() # initiate summary page self.summary_page = SummaryPage(driver=self.driver) # proceed to the next step self.summary_page.btn_proceed_to_checkout.click() # initiate sign page self.sign_page = SignPage(driver=self.driver) # generate valid email name = random.choice(string.ascii_letters) address = random.choice(string.ascii_letters) domain = random.choice(string.ascii_letters) email = name + '@' + address + '.' + domain # insert the email and submit the button self.sign_page.input_email_create.input_text(email) self.sign_page.btn_submit_create.click() # initiate create_account_page (form page) self.create_account_page = CreateAccountPage(driver=self.driver) # YOUR PERSONAL INFORMATION self.create_account_page.get_client_title_mr.click() self.create_account_page.get_client_first_name.input_text('John') self.create_account_page.get_client_lastName.input_text('John') # email row pre-filled self.create_account_page.get_client_passwd.input_text('123467') # date of bird # YOUR ADDRESS # self.create_account_page.get_firstName_field.input_text('John') # self.create_account_page.get_last_name_field.input_text('John') self.create_account_page.get_company_field.input_text('Company') self.create_account_page.get_address_field.input_text('Address') self.create_account_page.get_city_field.input_text('City') # state self.create_account_page.dropdown_state_field.option('Alabama') self.create_account_page.get_postalcode_field.input_text('10000') # country self.create_account_page.get_homephone_field.input_text('070000122') self.create_account_page.get_mobilephone_field.input_text('0700000000') self.create_account_page.get_address_alias_field.input_text('Address') self.create_account_page.btn_register.click() self.address_page = AddressPage(driver=self.driver) self.address_page.btn_submit.click() self.shipping_page = ShippingPage(driver=self.driver) # check the terms and proceed to checkout self.shipping_page.checkbox_terms.click() self.shipping_page.btn_submit.click() # initiate payment page self.payment_page = PaymentPage(driver=self.driver)
def test_payment_by_credit_card(self): flight_page = FlightPage(self.driver) flight_page.select_trip_type("oneway") flight_page.select_depart_from("New York") flight_page.select_arrive_at("Sydney") flight_page.select_depart_day("04") flight_page.select_depart_month("March 2016") flight_page.click_continue() time.sleep(0.5) passenger_page = PassengerPage(self.driver) passenger_page.enter_first_name("Wendy") passenger_page.enter_last_name("Tester") passenger_page.click_next() payment_page = PaymentPage(self.driver) payment_page.select_card_type("visa") payment_page.enter_holder_name("Bob the Tester") payment_page.enter_card_number("4242424242424242") payment_page.enter_expiry_month("04") payment_page.enter_expiry_year("2016") payment_page.click_pay_now() self.wait_for_ajax_complete(10) self.assertIn("Booking number", self.driver.page_source) # if __name__ == '__main__': # unittest.main( # testRunner=xmlrunner.XMLTestRunner(output='reports'), # failfast=False, buffer=False, catchbreak=False)
class TestBuyGoods: @pytest.mark.need_review def test_buy_new_item_as_guest(self, browser): self.main_page = MainPage(browser) self.main_page.open() self.main_page.go_to_all_items() self.list_goods = ListGoods(browser) self.list_goods.click_on_the_good() self.item_details_page = ItemDetailsPage(browser) self.item_details_page.add_to_cart() self.verification_page = VerificationPage(browser) self.verification_page.proceed_order() self.checkout_page = CheckoutPage(browser) self.checkout_page.enter_email_checkout("*****@*****.**") self.checkout_page.enter_password_checkout("123456") self.delivery_window = self.checkout_page.click_submit_button_at_checkout() assert "Адрес доставки" in self.delivery_window self.delivery_address_page = DeliveryAddress(browser) self.delivery_address_page.add_first_name_at_delivery_address_page("Vitalii") self.delivery_address_page.add_last_name_at_delivery_address_page("ivanov") self.delivery_address_page.add_region_at_delivery_address_page("Darnytsa") self.delivery_address_page.add_city_at_delivery_address_page("Kyiv") self.delivery_address_page.add_postal_code_at_delivery_address_page("12354") self.delivery_address_page.choose_the_country_at_delivery_address_page("UA") self.delivery_address_page.click_submit_button_at_delivery_address_page() self.payment_page = PaymentPage(browser) self.payment_page.add_payment() self.view_order = ViewOrder(browser) accept = self.view_order.confirm_order() assert "Подтверждение заказа" in accept @pytest.mark.need_review def test_sign_up_new_user(self, browser): self.main_page = MainPage(browser) self.main_page.open() self.main_page.go_to_login_page() self.login_page = LoginPage(browser) self.login_page.registration_form_at_page() self.login_page.enter_email("test123_new_2+") self.login_page.enter_password("123456Tt@") self.login_page.confirm_password("123456Tt@") self.login_page.click_on_confirm_registration_button() self.login_page.should_be_registration_success_message() assert "Спасибо за регистрацию!" in self.login_page.should_be_registration_success_message() @pytest.mark.need_review def test_add_comment_about_item(self, browser): self.main_page = MainPage(browser) self.main_page.open() self.main_page.go_to_all_items() self.list_goods = ListGoods(browser) self.list_goods.click_on_the_good() self.item_details_page = ItemDetailsPage(browser) self.comment_text = self.item_details_page.add_comment() assert "Оставить отзыв о товаре" in self.comment_text self.item_details_page.add_comment_title() self.item_details_page.add_comment_message() self.item_details_page.add_comment_name() self.item_details_page.add_comment_email() self.item_details_page.click_add_comment_button() assert "Оставить отзыв о товаре" not in self.comment_text