예제 #1
0
    def test_02_change_new_address_pay(self):
        '''波兰dotpay-地址切换为新增地址支付'''
        BaseSteps.one_step_to_checkout_without_coupon(
            "Poland", self.test_data['normal_goods_id'],
            self.test_data['normal_goods_attr'])
        BaseSteps.ensure_needed_country_and_address('Poland')

        checkout_v2.checkout_page().click_default_address()
        shipping_address.shipping_address_page().wait_page()
        shipping_address.shipping_address_page(
        ).click_setting_add_address_button()

        BaseSteps.add_shipping_address_in_order('dotpay')

        self.assertTrue(
            self.d(resourceId="com.vova.android:id/addressDesTv",
                   textContains='dotpay').exists(timeout=2))

        BaseSteps.checkout_to_change_payment_method('Dotpay')
        payment.payment_page().click_confirm_to_pay()
        if self.test_env == "test":
            self.wait_element_then_screenshot(
                self.d(resourceId="com.vova.android:id/failure_tip_text"))
        else:
            self.wait_element_then_screenshot(
                self.d(resourceId="com.vova.android:id/channelLabelTv"))

        BasePage().press_back_to_home()
        BaseSteps.go_shipping_address_edit_page("Poland")
        add_address_v2.add_address_page().click_del_button_for_address_v2()
예제 #2
0
    def test_03_change_exists_address_pay(self):
        '''印度net-banking-切换为已存在的地址支付'''
        BaseSteps.one_step_to_checkout_without_coupon(
            "India", self.test_data['normal_goods_id'],
            self.test_data['normal_goods_attr'])
        BaseSteps.ensure_needed_country_and_address('India')

        a = self.d(resourceId="com.vova.android:id/countryDesTv").get_text()
        log.i('原地址为:%s' % a)
        checkout_v2.checkout_page().click_default_address()

        shipping_address.shipping_address_page().wait_page()
        shipping_address.shipping_address_page(
        ).select_needed_address_with_text_and_index('India')

        checkout_v2.checkout_page().wait_page()
        self.d(resourceId="com.vova.android:id/countryDesTv",
               text=a).wait_gone(timeout=10.0)
        b = self.d(resourceId="com.vova.android:id/countryDesTv").get_text()
        log.i('新地址为:%s' % b)
        self.assertNotEqual(a, b)

        BaseSteps.checkout_to_change_payment_method("India Net Banking")
        payment.payment_page().input_pay_code("India Net Banking", self.PAN)
        payment.payment_page().click_confirm_to_pay()
        if self.test_env == "test":
            self.wait_element_then_screenshot(self.d(resourceId="root"))
        else:
            self.wait_element_then_screenshot(self.d(resourceId="bank"))
예제 #3
0
 def test_06_normal_goods_paid_by_EPS_Austria(self):
     '''奥地利GiroPay支付(测试环境暂无)'''
     if self.test_env != "test":
         BaseSteps.one_step_to_pay("Austria",
                                   self.test_data['normal_goods_id'],
                                   self.test_data['normal_goods_attr'],
                                   "EPS")
         payment.payment_page().click_confirm_to_pay()
         self.wait_element_then_screenshot(self.d(resourceId="counter"))
예제 #4
0
 def test_17_normal_goods_paid_by_boleto_Brazil(self):
     '''巴西Boleto支付'''
     BaseSteps.one_step_to_pay("Brazil", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'],
                               "Boleto")
     payment.payment_page().input_pay_code("Boleto", self.CPF)
     payment.payment_page().click_confirm_to_pay()
     self.wait_element_then_screenshot(
         self.d(resourceId="com.vova.android:id/ll_copy_bar_code"))
예제 #5
0
 def test_07_normal_goods_paid_by_UPI_india(self):
     '''印度UPI支付'''
     BaseSteps.one_step_to_pay("India", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'], "UPI")
     payment.payment_page().input_pay_code("UPI", self.PAN)
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(self.d(resourceId="root"))
     else:
         self.wait_element_then_screenshot(self.d(resourceId="tab-title"))
예제 #6
0
 def test_15_normal_goods_paid_by_PayLater_Germany(self):
     '''德国PayLater支付'''
     BaseSteps.one_step_to_pay("Germany", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'], "Later")
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(
             self.d(resourceId="klarna-payments__payment-options"))
     else:
         self.wait_element_then_screenshot(self.d(resourceId="invoice"))
예제 #7
0
    def test_04_normal_goods_paid_by_Amanpay_Morocco(self):
        '''摩洛哥GiroPay支付(线上暂没配置)'''
        BaseSteps.one_step_to_pay("Morocco", self.test_data['normal_goods_id'],
                                  self.test_data['normal_goods_attr'],
                                  "Amanpay")
        payment.payment_page().click_confirm_to_pay()

        self.wait_element_then_screenshot(
            self.d(resourceId="com.vova.android:id/title_text",
                   textContains='Confirmation'))
예제 #8
0
 def test_08_normal_goods_paid_by_Banking_india(self):
     '''印度net_banking支付'''
     BaseSteps.one_step_to_pay("India", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'],
                               "India Net Banking")
     payment.payment_page().input_pay_code("India Net Banking", self.PAN)
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(self.d(resourceId="root"))
     else:
         self.wait_element_then_screenshot(self.d(resourceId="bank"))
예제 #9
0
 def test_10_normal_goods_paid_by_OVO_indonesia(self):
     '''印尼OVO_CASH支付'''
     BaseSteps.one_step_to_pay("Indonesia",
                               self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'], "OVO")
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(self.d(text="GO BACK"))
     else:
         self.wait_element_then_screenshot(
             self.d(resourceId="invoice-pending-left-content"))
예제 #10
0
 def test_16_normal_goods_paid_by_SliceIt_Germany(self):
     '''德国SliceIt支付'''
     BaseSteps.one_step_to_pay("Germany", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'], "Slice")
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(
             self.d(resourceId="klarna-payments__payment-options"))
     else:
         self.wait_element_then_screenshot(
             self.d(resourceId="base-account-bullets__container"))
예제 #11
0
 def test_05_normal_goods_paid_by_dotpay_Poland(self):
     '''波兰dotpay支付'''
     BaseSteps.one_step_to_pay("Poland", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'],
                               'dotpay')
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(
             self.d(resourceId="com.vova.android:id/failure_tip_text"))
     else:
         self.wait_element_then_screenshot(
             self.d(resourceId="com.vova.android:id/channelLabelTv"))
예제 #12
0
    def test_03_normal_goods_paid_by_paypal_swipe(self):
        '''PayPal滑动支付(支持美国、印尼、西班牙)'''
        if self.test_env == "test":
            BaseSteps.one_step_to_pay("United States",
                                      self.test_data['normal_goods_id'],
                                      self.test_data['normal_goods_attr'],
                                      "PayPal")
            payment.payment_page().swipe_to_pay()

            self.assertTrue(
                self.d(resourceId="com.vova.android:id/title_text",
                       textContains='Confirmation').exists(timeout=15))
            self.wait_element_then_screenshot(
                self.d(resourceId="com.vova.android:id/title_text",
                       textContains='Confirmation'))
예제 #13
0
    def test_02_normal_goods_paid_by_paypal(self):
        '''PayPal支付-(测试环境沙盒支付)'''
        BaseSteps.one_step_to_pay("Angola", self.test_data['normal_goods_id'],
                                  self.test_data['normal_goods_attr'],
                                  "PayPal")
        if self.test_env == "test":
            payment.payment_page().click_confirm_to_pay()
            paypal.paypal_sandbox_page().wait_page()
            paypal.paypal_sandbox_page().click_proceed_button()

            self.assertTrue(
                self.d(resourceId="com.vova.android:id/title_text",
                       textContains='Confirmation').exists(timeout=15))
            self.wait_element_then_screenshot(
                self.d(resourceId="com.vova.android:id/title_text",
                       textContains='Confirmation'))
        else:
            self.screenshot()  # 正式需要paypal账号
예제 #14
0
    def test_04_login_to_checkout_pay(self):
        '''印度UPI-登录后支付'''
        BaseSteps.user_logout()
        BaseSteps.search_goods_by_id(self.test_data['normal_goods_id'])
        BaseSteps.buy_goods_with_attr(self.test_data['normal_goods_attr'])
        bag.bag_page().click_checkout_button()
        login.login_page().wait_page()
        login.login_page().login(self.test_data['user_name_02'],
                                 self.test_data['password_02'])

        checkout_v2.checkout_page().wait_page()
        BaseSteps.ensure_needed_country_and_address('India')
        BaseSteps.checkout_to_change_payment_method('UPI')

        payment.payment_page().input_pay_code("UPI", self.PAN)
        payment.payment_page().click_confirm_to_pay()
        if self.test_env == "test":
            self.wait_element_then_screenshot(self.d(resourceId="root"))
        else:
            self.wait_element_then_screenshot(self.d(resourceId="tab-title"))
예제 #15
0
 def test_01_normal_goods_paid_by_card(self):
     '''信用卡支付'''
     BaseSteps.one_step_to_pay("Angola", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'],
                               'Credit')
     payment.payment_page().click_confirm_to_pay()
     payment.payment_page().wait_confirm_page()
     self.assertTrue(
         self.d(resourceId="com.vova.android:id/try_again_btn",
                textContains='SHOP NOW').exists(timeout=2))
     self.wait_element_then_screenshot(
         self.d(resourceId="com.vova.android:id/try_again_btn",
                textContains='SHOP NOW'))
     if self.test_env != "test":
         self.d(
             resourceId="com.vova.android:id/check_your_order_btn").click()
         order_details.order_details_page().wait_page()
         log.i(
             self.d(
                 resourceId="com.vova.android:id/order_no_tv").get_text() +
             '记得退款')
예제 #16
0
    def test_01_add_address_and_card_pay(self):
        '''信用卡-新增地址-新增卡支付'''
        test_country = "Aruba"
        BaseSteps.del_all_address_and_cards(test_country)
        BaseSteps.one_step_to_pay(test_country,
                                  self.test_data['normal_goods_id'],
                                  self.test_data['normal_goods_attr'],
                                  'Credit')
        payment.payment_page().click_confirm_to_pay()

        add_a_card.add_card_page().wait_page()
        add_a_card.add_card_page().input_card_number(
            self.test_data['card_number'])

        add_a_card.add_card_page().click_chose_date()
        add_a_card.add_card_page().swipe_to_chose_month(
            self.test_data['card_date_month'])
        add_a_card.add_card_page().swipe_to_chose_year(
            self.test_data['card_date_year'])
        add_a_card.add_card_page().click_date_confirm()
        add_a_card.add_card_page().input_card_cvv(self.test_data['card_cvv'])

        add_a_card.add_card_page().click_use_card()

        payment.payment_page().wait_confirm_page()

        self.assertTrue(
            self.d(resourceId="com.vova.android:id/try_again_btn",
                   textContains='SHOP NOW').exists(timeout=2))
        self.wait_element_then_screenshot(
            self.d(resourceId="com.vova.android:id/try_again_btn",
                   textContains='SHOP NOW'))
        if self.test_env != "test":
            self.d(
                resourceId="com.vova.android:id/check_your_order_btn").click()
            order_details.order_details_page().wait_page()
            log.i(
                self.d(
                    resourceId="com.vova.android:id/order_no_tv").get_text() +
                '记得退款')
예제 #17
0
    def test_02_change_pay_method_and_address_repay(self):
        '''未支付订单-切换地址和支付方式后重新支付'''
        # BaseSteps.init_app_operation()
        # BaseSteps.user_login(self.test_data['user_name_02'], self.test_data['password_02'])
        BaseSteps.one_step_to_pay('Indonesia',
                                  self.test_data['normal_goods_id'],
                                  self.test_data['normal_goods_attr'],
                                  'Bank Transfers',
                                  index=0)
        payment.payment_page().click_confirm_to_pay()

        # change p_method and address retry
        third_pay.third_pay_page().wait_web_page()
        self.press_back_until_special_element(self.d(
            resourceId="com.vova.android:id/order_support_type",
            text='OTHER DETAILS'),
                                              timeout=10)
        order_details.order_details_page().wait_page()
        BaseSteps.order_detail_change_address('hjzhudejia')
        self.assertTrue(
            self.d(resourceId="com.vova.android:id/address_tv",
                   textContains='hjzhu').exists(timeout=5))

        BaseSteps.order_detail_change_address('vovadejia')
        self.d(resourceId="com.vova.android:id/address_tv",
               textContains='hjzhu').wait_gone(timeout=4.0)
        self.assertFalse(
            self.d(resourceId="com.vova.android:id/address_tv",
                   textContains='hjzhu').exists(timeout=5))

        BaseSteps.order_detail_to_change_payment_method('OVO CASH')
        payment.payment_page().click_confirm_to_pay()
        if self.test_env == "test":
            self.wait_element_then_screenshot(self.d(text="GO BACK"))
        else:
            self.wait_element_then_screenshot(
                self.d(resourceId="invoice-pending-left-content"))
예제 #18
0
 def test_13_normal_goods_paid_by_Sofort_Germany(self):
     '''德国Sofort支付'''
     BaseSteps.one_step_to_pay("Germany", self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'],
                               "SOFORT")
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(
             self.d(resourceId="android:id/message"))
     else:
         payment.payment_page().wait_payment_methods()
         payment.payment_page().click_payment_methods()
         self.wait_element_then_screenshot(
             self.d(resourceId="android:id/content"))
예제 #19
0
 def test_11_normal_goods_paid_by_Yandex_indonesia(self):
     '''俄罗斯Yandex_Money支付'''
     BaseSteps.one_step_to_pay("Russian Federation",
                               self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'],
                               "Yandex Money")
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(
             self.d(resourceId="android:id/message"))
     else:
         payment.payment_page().wait_payment_methods()
         payment.payment_page().click_payment_methods()
         self.wait_element_then_screenshot(
             self.d(resourceId="android:id/content"))
예제 #20
0
 def test_12_normal_goods_paid_by_QIWI_indonesia(self):
     '''俄罗斯QIWI_Wallet支付'''
     BaseSteps.one_step_to_pay("Russian Federation",
                               self.test_data['normal_goods_id'],
                               self.test_data['normal_goods_attr'],
                               "QIWI Wallet")
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(
             self.d(resourceId="android:id/message"))
     else:
         payment.payment_page().wait_payment_methods()
         payment.payment_page().click_payment_methods()
         self.wait_element_then_screenshot(
             self.d(resourceId="com.vova.android:id/button_continue"))
예제 #21
0
    def test_14_normal_goods_paid_by_GiroPay_Germany(self):
        '''德国GiroPay支付'''
        BaseSteps.one_step_to_pay("Germany", self.test_data['normal_goods_id'],
                                  self.test_data['normal_goods_attr'],
                                  "GiroPay")
        payment.payment_page().click_confirm_to_pay()

        if self.test_env == "test":
            self.wait_element_then_screenshot(
                self.d(resourceId="android:id/message"))
        else:
            payment.payment_page().wait_payment_methods()
            payment.payment_page().click_payment_methods()
            self.wait_element_then_screenshot(
                self.d(resourceId="com.vova.android:id/button_continue"))
예제 #22
0
    def test_05_modify_address_pay(self):
        '''荷兰ideal-修改原地址支付'''
        if self.test_env == "test":
            attrs = None
        else:
            attrs = self.test_data['netherlands_goods_attr']
        BaseSteps.one_step_to_checkout_without_coupon(
            "Netherlands", self.test_data['netherlands_goods_id'], attrs=attrs)
        BaseSteps.ensure_needed_country_and_address('Netherlands')

        checkout_v2.checkout_page().click_default_address()
        shipping_address.shipping_address_page().wait_page()
        shipping_address.shipping_address_page(
        ).click_edit_button_for_address_v2()
        add_address_v2.add_address_page().input_address('updated')
        add_address_v2.add_address_page().click_save_button()

        checkout_v2.checkout_page().wait_page()

        self.assertTrue(
            self.d(resourceId="com.vova.android:id/addressDesTv",
                   textContains='updated').exists(timeout=2))

        BaseSteps.checkout_to_change_payment_method("iDeal")
        payment.payment_page().click_confirm_to_pay()
        if self.test_env == "test":
            self.wait_element_then_screenshot(
                self.d(resourceId="android:id/message"))
        else:
            payment.payment_page().wait_payment_methods()
            payment.payment_page().click_ideal_pay()
            self.wait_element_then_screenshot(
                self.d(resourceId="nl.rabomobiel:id/message"))

        BasePage().press_back_to_home()
        BaseSteps.go_shipping_address_edit_page("Netherlands")
        add_address_v2.add_address_page().input_address(
            self.test_data['detail_address'])
        add_address_v2.add_address_page().click_save_button()

        self.assertTrue(
            self.d(resourceId="com.vova.android:id/addressDesTv",
                   textContains=self.test_data['detail_address']).exists(
                       timeout=15))
예제 #23
0
 def test_19_netherlands_goods_paid_by_ideal_Netherlands(self):
     '''荷兰ideal支付'''
     if self.test_env == "test":
         BaseSteps.one_step_to_pay("Netherlands",
                                   self.test_data['netherlands_goods_id'],
                                   None, "iDeal")
     else:
         BaseSteps.one_step_to_pay("Netherlands",
                                   self.test_data['netherlands_goods_id'],
                                   self.test_data['netherlands_goods_attr'],
                                   "iDeal")
     payment.payment_page().click_confirm_to_pay()
     if self.test_env == "test":
         self.wait_element_then_screenshot(
             self.d(resourceId="android:id/message"))
     else:
         payment.payment_page().wait_payment_methods()
         payment.payment_page().click_ideal_pay()
         self.wait_element_then_screenshot(
             self.d(resourceId="nl.rabomobiel:id/message"))
예제 #24
0
def order_detail_to_change_payment_method(p_method):
    order_details.order_details_page().click_pay_button_v2()
    payment.payment_page().wait_page()
    payment.payment_page().change_payment_method(p_method)
예제 #25
0
def checkout_to_change_payment_method(p_method):
    checkout_v2.checkout_page().click_place_order_button()
    payment.payment_page().wait_page()
    payment.payment_page().change_payment_method(p_method)