235 lines
13 KiB
Python
235 lines
13 KiB
Python
# -*- coding: utf-8 -*-
|
||
# __author__ = 'xinjiu.qiao'
|
||
|
||
import allure
|
||
from airtest.core.api import *
|
||
from ui_auto_lego.common import handle_driver
|
||
from ui_library.page.parent.vispark import login, p_center
|
||
from ui_library.common.read_config import readconfig
|
||
from ui_library.operation.parent.vispark.handle_swipe import hd_swipe
|
||
from ui_library.logic.parent.vispark.login_logic import logic_login
|
||
from ui_auto_lego.common.handle_action import HandleAction
|
||
|
||
handle_driver_obj = handle_driver.HandleDriver()
|
||
login_page = login.prLogin()
|
||
my_lists = p_center.my_lists_or_servers()
|
||
obj_handle_action = HandleAction()
|
||
|
||
rf_config = readconfig()
|
||
user_info = eval(rf_config.parent_user)
|
||
h_swipe = hd_swipe()
|
||
handle_login = logic_login()
|
||
|
||
|
||
@allure.feature('ViSpark home')
|
||
class TestPcenter(object):
|
||
poco_driver = handle_login.poco_driver
|
||
|
||
def setup(self):
|
||
# 启动被测试应用,并且进行登录到首页
|
||
handle_login.login()
|
||
|
||
def teardown(self):
|
||
# 退出被测试应用并清理数据
|
||
self.init_mobile_start_app.quit()
|
||
sleep(5)
|
||
self.init_mobile_start_app.clear_app()
|
||
|
||
@allure.story("[my_lists(个人中心)--00*]")
|
||
@allure.title("[my_lists(检查个人中心的我的课时)--00*]")
|
||
def test_my_lists_credits(self):
|
||
with allure.step("用户进入me"):
|
||
# 用户登录后,点击me
|
||
allure.attach('点击me进入个人设置页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, login_page.get_me_button_by_poco())
|
||
# 点击我的课时按钮
|
||
allure.attach('点击我的课时,进入我的课时页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_my_class_credit_by_poco())
|
||
# 检查我的课时页面是否正常
|
||
list_my = []
|
||
for i in self.poco_driver(textMatches="My.*?"):
|
||
list_my.append(i.get_text())
|
||
allure.attach('我的课时页面获取所有关于My*的元素text')
|
||
if "My Class Credits" in list_my:
|
||
assert True
|
||
else:
|
||
assert False, "我的课时页面获取标题失败"
|
||
# todo 检查课时是否正常
|
||
# 点击返回
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
|
||
@allure.story("[my_lists(个人中心)--00*]")
|
||
@allure.title("[my_lists(检查个人中心的我的订阅)--00*]")
|
||
def test_my_lists_subscribe(self):
|
||
# with allure.step("判断是否在me的这个界面,如果不在则点击进入"):
|
||
# if not obj_handle_action.is_exists_by_poco(poco=self.poco_driver, ssion="Spark Student"):
|
||
# obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
with allure.step("用户进入me"):
|
||
# 用户登录后,点击me
|
||
allure.attach('点击me进入个人设置页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, login_page.get_me_button_by_poco())
|
||
# 点击我的课时按钮
|
||
allure.attach('点击我的订阅,进入我的订阅页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_subscriptions_by_poco())
|
||
# 检查我的订阅信息页面是否正常
|
||
list_my = []
|
||
for i in self.poco_driver(textMatches="Subscription.*?"):
|
||
list_my.append(i.get_text())
|
||
allure.attach('我的订阅页面获取所有关于Subscription*的元素text')
|
||
if "Subscription" in list_my:
|
||
assert True
|
||
else:
|
||
assert False, "我的订阅页面获取标题失败"
|
||
# todo 检查课时是否正常
|
||
# 点击返回
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
|
||
@allure.story("[my_lists(个人中心)--00*]")
|
||
@allure.title("[my_lists(检查个人中心的我的邮寄地址)--00*]")
|
||
def test_my_lists_deliveries(self):
|
||
# with allure.step("判断是否在me的这个界面,如果不在则点击进入"):
|
||
# if not obj_handle_action.is_exists_by_poco(poco=self.poco_driver, ssion="Spark Student"):
|
||
# obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
with allure.step("用户进入me"):
|
||
# 用户登录后,点击me
|
||
allure.attach('点击me进入个人设置页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, login_page.get_me_button_by_poco())
|
||
# 点击我的邮寄地址按钮
|
||
allure.attach('点击我的邮寄地址,进入我的邮寄地址页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_delieveries_by_poco())
|
||
# 检查我的邮寄地址信息页面是否正常
|
||
list_my = []
|
||
for i in self.poco_driver(textMatches="My.*?"):
|
||
list_my.append(i.get_text())
|
||
allure.attach('我的邮寄地址页面获取所有关于My*的元素text')
|
||
if "My Delivery List" in list_my:
|
||
assert True
|
||
else:
|
||
assert False, "我的邮寄地址页面获取标题失败"
|
||
# todo 检查课时是否正常
|
||
# 点击返回
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
|
||
@allure.story("[my_lists(个人中心)--00*]")
|
||
@allure.title("[my_lists(检查个人中心的我的优惠劵)--00*]")
|
||
def test_my_lists_coupons(self):
|
||
# with allure.step("判断是否在me的这个界面,如果不在则点击进入"):
|
||
# if not obj_handle_action.is_exists_by_poco(poco=self.poco_driver, ssion="Spark Student"):
|
||
# obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
with allure.step("用户进入me"):
|
||
# 用户登录后,点击me
|
||
allure.attach('点击me进入个人设置页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, login_page.get_me_button_by_poco())
|
||
# 点击我的邮寄地址按钮
|
||
allure.attach('点击我的优惠劵,进入我的优惠劵页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_coupons_by_poco())
|
||
# 检查我的邮寄地址信息页面是否正常
|
||
list_my = []
|
||
for i in self.poco_driver(textMatches="My.*?"):
|
||
list_my.append(i.get_text())
|
||
allure.attach('我的优惠劵页面获取所有关于My*的元素text')
|
||
if "My Coupons" in list_my:
|
||
assert True
|
||
else:
|
||
assert False, "我的优惠劵页面获取标题失败"
|
||
allure.attach('在我的优惠劵界面,分别点击不可用,可用,失效的优惠劵table')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_unused_coupons_by_poco())
|
||
#todo 需要加入不可用优惠劵的检查点
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_used_coupons_by_poco())
|
||
#todo 需要加入可用的优惠劵的检查点
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_expired_coupons_by_poco())
|
||
#todo 需要加入失效优惠劵的检查点
|
||
# 点击返回
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
|
||
@allure.story("[my_lists(个人中心)--00*]")
|
||
@allure.title("[my_lists(检查个人中心中我的服务的帮助中心)--00*]")
|
||
def test_my_servers_help(self):
|
||
# with allure.step("判断是否在me的这个界面,如果不在则点击进入"):
|
||
# if not obj_handle_action.is_exists_by_poco(poco=self.poco_driver, ssion="Spark Student"):
|
||
# obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
with allure.step("在当前页面下方,所以需要往上滑动"):
|
||
handle_driver_obj.swipe_pos([my_lists.swipe_start_by_air()],poco_driver=self.poco_driver,vector=[0.0181, -0.3073])
|
||
with allure.step("用户进入me"):
|
||
# 用户登录后,点击me
|
||
allure.attach('点击me进入个人设置页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, login_page.get_me_button_by_poco())
|
||
# 点击我的帮助中心按钮
|
||
allure.attach('点击我的帮助中心,进入帮助中心页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_help_center_by_poco())
|
||
# 检查我的帮助中心信息页面是否正常
|
||
list_my = []
|
||
for i in self.poco_driver(textMatches="VISPARK.*?"):
|
||
list_my.append(i.get_text())
|
||
allure.attach('我的帮助中心页面获取所有关于VISPARK*的元素text')
|
||
if "VISPARK-April" in list_my:
|
||
assert True
|
||
else:
|
||
assert False, "我的帮助中心页面获取标题失败"
|
||
# 点击返回
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_close_help_center_by_poco())
|
||
|
||
@allure.story("[my_lists(个人中心)--00*]")
|
||
@allure.title("[my_lists(检查个人中心中我的服务的意见反馈)--00*]")
|
||
def test_my_servers_feedback(self):
|
||
# with allure.step("判断是否在me的这个界面,如果不在则点击进入"):
|
||
# if not obj_handle_action.is_exists_by_poco(poco=self.poco_driver, ssion="Spark Student"):
|
||
# obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_by_poco())
|
||
with allure.step("在当前页面下方,所以需要往上滑动"):
|
||
handle_driver_obj.swipe_pos([my_lists.swipe_start_by_air()], poco_driver=self.poco_driver,
|
||
vector=[0.0181, -0.3073])
|
||
with allure.step("用户进入me"):
|
||
# 用户登录后,点击me
|
||
allure.attach('点击me进入个人设置页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, login_page.get_me_button_by_poco())
|
||
# 点击我的意见反馈按钮
|
||
allure.attach('点击我的意见反馈,进入意见反馈的页面')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_feedback_by_poco())
|
||
# 检查我的意见反馈信息页面是否正常
|
||
list_my = []
|
||
for i in self.poco_driver(textMatches="History.*?"):
|
||
list_my.append(i.get_text())
|
||
allure.attach('我的意见反馈页面获取所有关于History*的元素text')
|
||
if "History" in list_my:
|
||
assert True
|
||
else:
|
||
assert False, "我的意见反馈页面获取标题失败"
|
||
# 提交意见反馈
|
||
allure.attach('意见反馈进行提交-1.选择表扬')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_feedback_compliment_by_poco())
|
||
allure.attach('意见反馈进行提交-2.录入反馈信息')
|
||
obj_handle_action.set_text_by_poco(self.poco_driver, my_lists.get_feedback_detail_by_poco(),
|
||
"auto-feedback")
|
||
allure.attach('意见反馈进行提交-3.进行提交')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_feedback_submit_by_poco())
|
||
allure.attach('意见反馈提交成功后-4.点击确定')
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_feedback_ok_by_poco())
|
||
# 提交成功后,需要返回到上级页面,无返回按钮,只能右滑进行返回
|
||
handle_driver_obj.swipe_pos([my_lists.swipe_feedback_right_by_air()], poco_driver=self.poco_driver,
|
||
vector=[0.8162, 0.068])
|
||
# 点击History,检查刚刚新增的数据是否存在
|
||
allure.attach('意见反馈提交成功后-5.查看历史记录,检查刚刚数据是否存在')
|
||
time.sleep(2)
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_feedback_history_by_poco())
|
||
list_feedback_history = []
|
||
for i in self.poco_driver(textMatches="auto-feedback.*?"):
|
||
list_feedback_history.append(i.get_text())
|
||
allure.attach('我的意见反馈页面获取所有关于History*的元素text')
|
||
if "auto-feedback" in list_feedback_history:
|
||
assert True
|
||
else:
|
||
assert False, "我的意见反馈页面未查询到相应新增数据失败"
|
||
# 点击返回
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_feedback_by_poco())
|
||
obj_handle_action.click_by_poco(self.poco_driver, my_lists.get_back_feedback_by_poco())
|
||
|
||
|
||
if __name__ == '__main__':
|
||
# TestLogin().teardown()
|
||
# TestLogin().setup()
|
||
# TestLogin().test_us_ap_trial()
|
||
# TestLogin().test_us_ap_subscribe()
|
||
# TestLogin().test_us_ap_subscribe_schedule()
|
||
TestPcenter().test_my_servers_feedback()
|
||
|