Exemple #1
0
    def test_login_success(self):
        '''
        手机号、验证码成功登陆
        '''
        print('**输入正确的手机号、验证码,点击登录,验证登录成功**')
        admin_token = ReturnToken().return_saas_token_by_api()
        LoginPage(self.driver).send_phone()
        start_time = LoginPage(self.driver).click_get_code_btn()
        print(start_time)
        code = LoginPage(self).get_code(admin_token, start_time)
        get_code_time = datetime.datetime.now()
        print(get_code_time)
        if code is not None:
            LoginPage(self.driver).send_pwd(code)
            LoginPage(self.driver).click_submit_btn()

            sleep(2)
            try:
                LoginPage(self.driver).click_invite_cancel()
            except exceptions.TimeoutException:
                print('**m没有出现输入邀请码页面**')
            print(self.driver.current_url)
            current_url = self.driver.current_url
            BasePage(self.driver).assert_true('login/hLogin' not in current_url)
            BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present((By.CLASS_NAME, "uni-tabbar")))
            BasePage(self.driver).check_exist_in_page("购物车")
            sleep(2)
        else:
            TestCase().fail(msg="没有收到验证码")
Exemple #2
0
 def test_orders_info_check(self):
     '''
     检查订单列表的商品信息是否展示
     '''
     res = BasePage(self.driver).is_element_present(
         OrderPage(self.driver)._order_code)
     if res is True:
         print('订单编号模块已展示')
     else:
         TestCase().fail("订单编号模块未展示")
     res = BasePage(self.driver).is_element_present(
         OrderPage(self.driver)._order_product_spec)
     if res is True:
         print('订单商品规格模块已展示')
     else:
         TestCase().fail("订单商品规格模块未展示")
     BasePage(self.driver).is_element_present(
         OrderPage(self.driver)._order_product_name)
     if res is True:
         print('订单商品名称模块已展示')
     else:
         TestCase().fail("订单商品名称模块未展示")
     BasePage(self.driver).is_element_present(
         OrderPage(self.driver)._order_product_price)
     if res is True:
         print('订单商品价格模块已展示')
     else:
         TestCase().fail("订单商品价格模块未展示")
     BasePage(self.driver).is_element_present(
         OrderPage(self.driver)._order_product_num)
     if res is True:
         print('订单商品数量模块已展示')
     else:
         TestCase().fail("订单商品数量模块未展示")
Exemple #3
0
 def test_page_show_check(self):
     '''
     商品分类页面元素展示
     '''
     print('**验证分类页面的元素是否已经展示**')
     res = BasePage(self.driver).is_element_present(
         CategoryPage(self.driver)._search_box)
     if res is True:
         print('搜索框展示在页面上')
     else:
         print('搜索框未出现在页面上')
     res = BasePage(self.driver).is_element_present(
         CategoryPage(self.driver)._cate)
     if res is True:
         print('左侧前端分类展示在页面上')
     else:
         TestCase().fail('左侧前端分类未出现在页面上')
     res = BasePage(self.driver).is_element_present(
         CategoryPage(self.driver)._child_cate_region)
     if res is True:
         print('右侧商品分类展示在页面上')
     else:
         TestCase().fail('右侧商品分类未出现在页面上')
     print(self.driver.title)
     BasePage(self.driver).check_exist_in_string('分类', self.driver.title)
Exemple #4
0
 def test_all_order_link(self):
     '''
     点击全部订单跳转
     '''
     print("**我的页面元素是否展示**")
     PersonalPage(self.driver).click_all_order_link()
     BasePage(self.driver).check_exist_in_string('我的订单', self.driver.title)
     BasePage(self.driver).check_exist_in_string('myOrders',
                                                 self.driver.current_url)
     delivery_method_tab_classname = BasePage(
         self.driver).get_element_attribute(
             OrderPage(self.driver).get_delivery_method_tab(1), 'className')
     time.sleep(5)
     delivery_method_tab_innertext = BasePage(
         self.driver).get_element_attribute(
             OrderPage(self.driver).get_delivery_method_tab(1), 'innerText')
     order_state_tab_classname = BasePage(
         self.driver).get_element_attribute(
             OrderPage(self.driver).get_order_state_tab(1), 'className')
     order_state_tab_innertext = BasePage(
         self.driver).get_element_attribute(
             OrderPage(self.driver).get_order_state_tab(1), 'innerText')
     BasePage(self.driver).check_exist_in_string(
         'switchLeft', delivery_method_tab_classname)
     BasePage(self.driver).check_exist_in_string(
         '快递配送', delivery_method_tab_innertext)
     BasePage(self.driver).check_exist_in_string('seletTitle',
                                                 order_state_tab_classname)
     BasePage(self.driver).check_exist_in_string('全部',
                                                 order_state_tab_innertext)
Exemple #5
0
 def test_goto_saas(self):
     PointsPage(self.driver).click_saas_link()
     res = BasePage(self.driver).is_element_present(HomePage(self.driver)._saas_personal_info)
     if res is True:
         print('saas的个人信息页面已展示')
     else:
         TestCase().fail('saas页面个人信息模块未展示')
     BasePage(self.driver).check_exist_in_string('saash5', BasePage(self.driver).get_url())
Exemple #6
0
 def test_search_cancel(self):
     '''
     在搜索页,点击取消按钮,返回到上一页
     '''
     print('**在搜索页面点击取消,验证是否会返回到首页**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).click_cancel_button()
     sleep(2)
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             HomePage(self.driver)._shopWindow))
Exemple #7
0
 def test_recharge_link(self):
     '''
     点击余额按钮,进入到余额页面
     '''
     PersonalPage(self.driver).click_balance()
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             BalancePage(self.driver)._balance_remain))
     BasePage(self.driver).check_exist_in_string(
         'my/remain',
         BasePage(self.driver).get_url())
Exemple #8
0
 def test_create_order_no_product(self):
     '''
     购物车商品,不选择,点击结算,提示
     '''
     print('**在购物车页面,不勾选商品,直接点击结算,校验是否有预期的toast**')
     CartPage(self.driver).click_create_order_btn()
     flag = BasePage(self.driver).is_show_toast()
     BasePage(self.driver).assert_equal(flag, True)
     toast_text = BasePage(self.driver).get_toast_text()
     expected_toast_text = '请选择需要结算的商品'
     BasePage(self.driver).assert_true(toast_text in expected_toast_text)
Exemple #9
0
 def test_product_buy(self, value=2):
     '''
     在商品详情页,点击立即购买
     '''
     print('**在商品详情页,点击立即购买,验证是否跳转到提交订单页**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box()
     SearchPage(self.driver).click_search_product_01()
     ProductPage(self.driver).product_buy(value)
     BasePage(self.driver).assert_true(ec.title_contains('提交订单'))
     BasePage(self.driver).assert_true(
         ec.url_contains('/pages/order/createOrder'))
Exemple #10
0
 def test_return_home(self):
     '''
     商品详情页的返回主页按钮
     '''
     print('**在商品详情页,点击左下角的首页按钮,验证是否跳转到首页**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box()
     SearchPage(self.driver).click_search_product_01()
     ProductPage(self.driver).click_home_button()
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             HomePage(self.driver)._product))
Exemple #11
0
 def test_go_to_cart(self):
     '''
     商品详情页的跳转到购物车
     '''
     print('**在商品详情页,点击左下角的购物车按钮,验证是否跳转到购物车页面**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box()
     SearchPage(self.driver).click_search_product_01()
     ProductPage(self.driver).click_cart_button()
     BasePage(self.driver).assert_true(ec.title_contains('购物车'))
     BasePage(self.driver).assert_true(
         ec.url_contains('emall/pages/myCart/myCart'))
Exemple #12
0
 def test_create_order_check(self, product_name, num):
     '''
     在支付页面元素校验
     '''
     print('**在商品详情页,点击提交订单,验证是否跳转到提交订单页面**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box(product_name)
     SearchPage(self.driver).click_search_product_01()
     ProductPage(self.driver).product_buy(num)
     CreateOrderPage(self.driver).click_creat_order_btn()
     sleep(2)
     BasePage(self.driver).assert_true(ec.url_contains('pages/pay/pay?orderId'))
     BasePage(self.driver).assert_true(ec.title_is('订单支付'))
     BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._pay_btn))
     print("提交订单按钮已展示")
     BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._pay_fee_form))
     print("价格区域已展示")
     # 点击立即支付按钮
     CreateOrderPage(self.driver).click_pay_btn()
     # 断言有没有报错
     try:
         toast_txt = BasePage(self.driver).get_toast_text()
         TestCase().fail("支付报错:" + toast_txt)
     except exceptions.TimeoutException:
         BasePage(self.driver).assert_true(ec.url_contains('prepay_id=wx'))
Exemple #13
0
 def test_click_search_box(self, value):
     '''
     商品分类页面搜索框
     '''
     print('**搜索框是否可用**')
     CategoryPage(self.driver).click_search_box()
     res = BasePage(self.driver).is_element_present(
         SearchPage(self.driver)._cancel_button)
     if res is True:
         print('搜索取消按钮展示在页面上')
     else:
         print('搜索取消按钮未出现在页面上')
     res = BasePage(self.driver).is_element_present(
         SearchPage(self.driver)._search_box)
     if res is True:
         print('搜索输入框展示在页面上')
     else:
         TestCase().fail('搜索输入框未出现在页面上')
     SearchPage(self.driver).send_key_search_box(value)
Exemple #14
0
 def test_search(self, value):
     '''
     输入商品名称进行搜索
     '''
     print('**输入商品名称搜索,验证是否有搜索到相关商品**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box(value)
     sleep(2)
     for productName in SearchPage(self.driver).get_product_names():
         name = SearchPage(self.driver).get_element_value(productName)
         print("商品名称:" + name)
         BasePage(self.driver).check_exist_in_string(value, name)
Exemple #15
0
 def test_points_info_check(self):
     '''
     积分明细页面成功展示
     '''
     print('**验证积分明细页面元素是否展示**')
     points_num_page = PointsPage(self.driver).get_points_num()
     point_item_1_page = PointsPage(self.driver).get_points_item_1_page()
     points_api = PointsPage(self.driver).get_point_item_1_api(self.token)
     points_num_api = points_api[0]
     points_item_1_api = points_api[1]
     BasePage(self.driver).assert_equal(points_num_page, points_num_api)
     TestCase().assertListEqual(point_item_1_page, points_item_1_api)
Exemple #16
0
 def test_click_cate(self):
     '''
     分类点击,切换选中
     '''
     print('**分类是否可点击**')
     CategoryPage(self.driver).click_cate()
     res = BasePage(self.driver).is_element_present(
         CategoryPage(self.driver)._child_cate_region)
     if res is True:
         print('右侧商品分类展示在页面上')
     else:
         TestCase().fail('右侧商品分类未出现在页面上')
Exemple #17
0
 def test_coupon_link(self):
     PersonalPage(self.driver).click_coupons()
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             CouponsPage(self.driver)._coupon_list))
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             CouponsPage(self.driver)._coupon_exchange_record))
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             CouponsPage(self.driver)._tabs))
     BasePage(self.driver).check_exist_in_string(
         'coupons/myCoupons',
         BasePage(self.driver).get_url())
Exemple #18
0
 def test_sku_add_to_car(self, value=2):
     '''
     从商品详情的规格弹窗,加入购物车
     '''
     print('**在商品详情页,打开规格弹窗,点击加入购物车,验证购物车商品数量是否增加**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box()
     SearchPage(self.driver).click_search_product_01()
     before = ProductPage(self.driver).get_car_num_value()
     ProductPage(self.driver).product_sku_add_to_car(value)
     after = ProductPage(self.driver).get_car_num_value()
     after_expected = int(before) + int(value)
     BasePage(self.driver).assert_equal(int(after), after_expected)
Exemple #19
0
 def test_product_add_to_car(self, value, num):
     '''
     商品详情页,点击加入购物车
     '''
     print('**在商品详情页,点击加入购物车,验证购物车的商品数量是否对应增加**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box(value)
     SearchPage(self.driver).click_search_product_01()
     before = ProductPage(self.driver).get_car_num_value()
     ProductPage(self.driver).product_add_to_car(num)
     after = ProductPage(self.driver).get_car_num_value()
     after_expected = int(before) + int(num)
     BasePage(self.driver).assert_equal(int(after), after_expected)
Exemple #20
0
 def test_product_detail(self):
     '''
     购物车商品,点击跳转到商品详情页
     '''
     print('**在购物车列表,点击第一个商品详情,验证是否跳转到商品详情页面**')
     i = 3
     product_name = CartPage(self.driver).get_product_name_list()
     CartPage(self.driver).click_product_name_i(i)
     sleep(2)
     product_detail_name = ProductPage(self.driver).get_product_name()
     BasePage(self.driver).assert_equal(product_name[i - 1],
                                        product_detail_name)
     ec.url_contains("pages/product/detail?id")
     ec.title_is("商品详情")
Exemple #21
0
 def test_page_show_check(self):
     '''
     我的页面元素展示
     '''
     print('**验证我的页面的元素是否已经展示**')
     res = BasePage(self.driver).is_element_present(
         PersonalPage(self.driver)._order)
     if res is True:
         print('订单模块显示在页面上')
     else:
         TestCase().fail('页面中未找到订单模块')
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             PersonalPage(self.driver)._distribution))
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             PersonalPage(self.driver)._member_info))
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             PersonalPage(self.driver)._other_item))
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             PersonalPage(self.driver)._saas_link))
     BasePage(self.driver).check_exist_in_string('我的', self.driver.title)
Exemple #22
0
 def test_create_order_info_check(self, product_name, num):
     '''
     提交订单页面元素检查
     '''
     print('**从商品详情页,点击立即购买,验证是否跳转到提交订单页**')
     HomePage(self.driver).click_search_box()
     SearchPage(self.driver).send_key_search_box(product_name)
     SearchPage(self.driver).click_search_product_01()
     ProductPage(self.driver).product_buy(num)
     sleep(2)
     BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._addr_form))
     print("收货人地址栏已展示")
     BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._product_list_form))
     print("商品列表已展示")
     BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._order_fee_form))
     print("金额计算区域已展示")
     BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._create_order_btn_form))
     print("提交订单按钮栏已展示")
Exemple #23
0
 def test_points_link(self):
     PersonalPage(self.driver).click_points()
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             PointsPage(self.driver)._points_num))
     BasePage(self.driver).assert_true(
         BasePage(self.driver).is_element_present(
             PointsPage(self.driver)._points_list))
     BasePage(self.driver).check_exist_in_string(
         'my/pointsDetail',
         BasePage(self.driver).get_url())
Exemple #24
0
 def test_create_order(self):
     '''
     购物车商品,选中,点击结算,跳转到提交订单页
     '''
     print('**从购物车列表,点击结算,验证跳转到提交订单页**')
     # 修改商品数量
     i = 3
     CartPage(self.driver).input_product_num(i, 1)
     sleep(5)
     CartPage(self.driver).click_product_select_icon_i(i)
     CartPage(self.driver).click_create_order_btn()
     sleep(3)
     ec.title_contains('提交订单')
     ec.url_contains('emall/pages/order/createOrder')
     res = BasePage(self.driver).is_element_present(
         CreateOrderPage(self)._product_list_form)
     if res is True:
         print('商品模块已展示')
     else:
         TestCase().fail('商品模块未展示')
Exemple #25
0
 def test_page_show(self):
     '''
     购物车展示元素校验
     '''
     print('**购物车页面元素校验**')
     print('**左上角的商品总数与接口进行比对**')
     page_total_num = CartPage(self.driver).get_cart_total_num()
     api_total_num = CartApi.get_cart_total_num_api(self.token)
     BasePage(self.driver).assert_equal(int(page_total_num), api_total_num)
     print('**购物车列表的商品名称和商品数量与接口进行比对**')
     page_product_name_list = CartPage(self.driver).get_product_name_list()
     page_product_num_list = CartPage(self.driver).get_product_num_text()
     page_product_num_list = [int(i)
                              for i in page_product_num_list]  # 全部转成int类型
     page_product_info = [page_product_name_list, page_product_num_list]
     api_product_info_list = CartApi.get_cart_list_api(self.token)
     api_product_info = []
     for api_product_infos in api_product_info_list:
         api_product_info.append(api_product_infos[1:])
     api_product_info = list(map(list, zip(*api_product_info)))  # 行列转换
     print(page_product_info)
     print(api_product_info)
     TestCase().assertListEqual(page_product_info, api_product_info)
Exemple #26
0
 def click_invite_cancel(self):
     if BasePage(self.driver).is_element_present(self._invite_cancel):
         self.click_element(self._invite_cancel)
     else:
         print("没有出现输入邀请码页面")
Exemple #27
0
 def __init__(self, driver):
     BasePage.__init__(self, driver)
Exemple #28
0
 def input_product_num(self, i, num):
     BasePage(self.driver).clear_element(
         self.get_product_num_input_box_i(i))
     self.sendkey_element(self.get_product_num_input_box_i(i), num)
Exemple #29
0
 def setUp(self):
     BasePage(self.driver).visit_url()
Exemple #30
0
 def setUpClass(cls):
     return_list = BasePage(cls).class_setup_set(True)
     cls.driver = return_list[0]
     cls.token = return_list[1]