Update test framework: fix run_tests.py to support all test files, add auto-import-check for test files

This commit is contained in:
qiaoxinjiu
2026-05-09 15:11:30 +08:00
parent eb053a347f
commit eaba8328da
21739 changed files with 2236758 additions and 719 deletions

View File

@@ -0,0 +1,234 @@
# -*- 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()