Example #1
0
def poco(config):
    # poco = AndroidUiautomationPoco(screenshot_each_action=False)

    readDeviceId = list(os.popen('adb devices').readlines())
    deviceId = re.findall(r'(.*)\tdevice', readDeviceId[1])

    # if not cli_setup():
    #     auto_setup(__file__, logdir=True,
    #                devices=["Android:///", ])

    if not cli_setup():
        # 模拟器 >> 网易mumu模拟器连接cap_method=JAVACAP&&ori_method=ADBORI
        try:
            subprocess.Popen("adb connect 127.0.0.1:7555", shell=True).wait(2)
        except:
            pass
        # connect_device(
        #     "Android://127.0.0.1:5037/127.0.0.1:7555?ori_method=ADBORI")

        connect_device(
            "Android://127.0.0.1:5037/{device}?ori_method=ADBORI".format(device=''.join(deviceId)))

        # auto_setup(basedir=__file__,
        #            devices = ["Android://127.0.0.1:5037/127.0.0.1:7555?ori_method=ADBORI"],
        #            logdir=rootPath+'airlog')

    poco = AndroidUiautomationPoco(force_restart=True)
    gm.set_bool(poco=poco)  # 全局poco

    yield poco
Example #2
0
    def logout(self):
        # 调用公共方法
        ba = Base()
        ba.login()

        if not cli_setup():
            auto_setup(__file__, logdir='./case/logout/log')
        try:
            poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

            # script content
            sleep(2)
            print("-------------登出流程开始----------------")
            #點擊我的
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup").child("android.view.ViewGroup")[1].offspring("MineHome, tab, 3 of 3").offspring("android.widget.ImageView").click()
            #點擊設置
            poco(text="設置").click()
            #登出
            poco(text="退出登錄").click()
            poco(text="確定").click()
            print("登出成功")
            print("-------------登出流程结束----------------")

            # 退出app
            ba.stop_app()

        except Exception as e:
            print("-------------异常情况-------------")
            ba.log_error("登出流程错误: \n %s"%(e))
            print(e)
            # 退出app
            ba.stop_app()
Example #3
0
def begin(group_name, update_frequency):
    global StatusRun
    StatusRun = 1
    if not cli_setup():
        auto_setup(
            __file__,
            logdir=True,
            devices=[
                "Android://127.0.0.1:5037/127.0.0.1:7555?cap_method=JAVACAP&&ori_method=ADBORI",
            ])

    poco = AndroidUiautomationPoco()
    get_into_group = 0
    group = poco('com.tencent.mm:id/baj')  # group hook in WeChat

    for each_group in group:
        if each_group.get_text() == group_name:
            each_group.click()
            get_into_group = 1

    if not get_into_group:
        StatusRun = 0

    while (True):
        time.sleep(update_frequency)
        if is_bao_exist():
            status = catch_bao(poco('com.tencent.mm:id/auk')[-1])
            if status == 0:
                print('Fail to get Envelop\n')
            else:
                print('\nWin: ' + str(status))
                setting.addMoney(status)
                print('Total Win: ' + str(setting.get_setting()['money']) +
                      '\n')
                poco('com.tencent.mm:id/m1').click()
Example #4
0
 def __init__(self):
     if G.DEVICE == None:
         if not cli_setup():
             conf = MyData.EnvData_dir[
                 "device"] + "://" + MyData.EnvData_dir[
                     "ADBip"] + "/" + MyData.EnvData_dir["ADBdevice"]
             method = MyData.EnvData_dir["method"]
             if "127" in MyData.EnvData_dir["ADBdevice"]:
                 method = MyData.EnvData_dir["simulator"]
             auto_setup(__file__,
                        logdir=path_LOG_DIR,
                        devices=[
                            conf + method,
                        ],
                        project_root=path_BASE_DIR)
             if MyData.DeviceData_dir["androidpoco"] == None:
                 MyData.DeviceData_dir[
                     "androidpoco"] = AndroidUiautomationPoco()
                 mylog.info("完成android原生元素定位方法初始化【{}】".format(
                     MyData.DeviceData_dir["androidpoco"]))
                 print("完成android原生元素定位方法初始化【{}】".format(
                     MyData.DeviceData_dir["androidpoco"]))
                 # ADBdevice = MyData.EnvData_dir["ADBdevice"]
                 # print(MyData.mobileconf_dir["Notch_Fit"])
                 # if ADBdevice in MyData.mobileconf_dir["Notch_Fit"]:
                 #     print("报错把刚开始了解")
                 #     MyData.DeviceData_dir["androidpoco"].use_render_resolution(True, MyData.mobileconf_dir["Notch_Fit"][
                 #         ADBdevice])
                 #     mylog.info("androidpoco完成【{}】刘海屏特殊渲染处理".format(ADBdevice))
                 #     print("androidpoco完成【{}】刘海屏特殊渲染处理".format(ADBdevice))
             print("DEVIEC:", G.DEVICE)
Example #5
0
def auto_connect(devices, logdir: object = None) -> object:
    """
    :param devices:
    :param logdir:
    :return:
    """
    if not cli_setup():
        auto_setup(__file__, logdir=logdir, devices=devices)
Example #6
0
def setup():
    if not cli_setup():
        auto_setup(
            __file__,
            logdir=True,
            devices=[
                "Android://127.0.0.1:5037/127.0.0.1:7555?ori_method=ADBORI&&touch_method=ADBTOUCH",
            ])
Example #7
0
    def setUpClass(cls) -> None:
        logger = logging.getLogger("airtest")
        logger.setLevel(logging.ERROR)

        if not cli_setup():
            Only_setup(__file__, devices=[
                "android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP&&ori_method=ADBORI&&touch_method=MINITOUCH", ])
        cls.poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
Example #8
0
def start_record():
    if not cli_setup():
        dvi = get_devices()
        auto_setup(__file__, logdir=False, devices=[
            "Android://127.0.0.1:5037/" + dvi[0] + "?cap_method=JAVACAP&&ori_method=ADBORI&&touch_method=ADBTOUCH",
        ])
    touch(Template(r"E:\AirtestIDE_2019-09-11_py3_win64\untitled.air\tpl1601196704168.png",
                   record_pos=(-0.269, -0.053), resolution=(1080, 2248)))
Example #9
0
def connectDevice():
    """
    connect device (夜神模拟器)
    """
    if not cli_setup():
        # 如果要换模拟器修改127.0.0.1:62001 到该模拟器指定的地址
        auto_setup(
            __file__,
            logdir=True,
            devices=[
                "Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI",
            ])
Example #10
0
 def __init__(self):
     self.config = DeviceConfig.getDeviceConfig()
     if not cli_setup():
         auto_setup(self.filePath(),
                    logdir=True,
                    devices=[
                        self.config.DEV,
                    ])
     logging.basicConfig(
         filename="log.txt",
         filemode='w',
         level=logging.INFO,
         format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
     logging.getLogger(self.filePath())
     ImageUtil.addLocalImageRoot(os.path.dirname(self.filePath()))
Example #11
0
    def __init__(self, ):
        """

        :type driver: object
        """

        self.poco = AndroidUiautomationPoco(use_airtest_input=True,
                                            screenshot_each_action=False)
        if not cli_setup():
            auto_setup(__file__,
                       logdir=True,
                       devices=[
                           "Android://127.0.0.1:5037/d604cbf",
                       ])
        print("start...")
Example #12
0
 def __init__(self):
     super(init_devices, self).__init__()
     if not cli_setup():
         auto_setup(
             __file__,
             logdir=True,
             devices=[
                 "Android://127.0.0.1:5037/FKC4C16629002059?touch_method=ADBTOUCH",
             ])
     self.poco = AndroidUiautomationPoco(use_airtest_input=True,
                                         screenshot_each_action=False)
     #"mCurrentFocus=Window{5842cb5 u0 com.xiangzi.jukandian/com.xiangzi.jukandian.activity.MainActivity}"
     self.jukandian_package = "com.xiangzi.jukandian"
     self.jukandian_activity = "com.xiangzi.jukandian.activity.MainActivity"
     #"mCurrentFocus=Window{9916f10 u0 com.jm.video/com.jm.video.ui.main.MainActivity}"
     self.shuabao_package = "com.jm.video"
     self.shuabao_activity = "com.jm.video.ui.main.MainActivity"
     tools.start_my_app(self.shuabao_package, self.shuabao_activity)
Example #13
0
 def setUp(self) -> None:
     self.poco = AndroidUiautomationPoco(use_airtest_input=True,
                                         screenshot_each_action=False)
     if not cli_setup():
         auto_setup(app_path,
                    devices=["Android://127.0.0.1:5037/emulator-5554"],
                    logdir=applog_path)
     start_app('com.tencent.mtt.x86')
     ST.SNAPSHOT_QUALITY = 75  # 设置全局的截图压缩精度
     if G.DEVICE.display_info['orientation'] in [1, 3]:
         '''判断当前手机是横屏还是竖屏,并获取当前分辨率,相对坐标=绝对坐标/width or height'''
         '''touch使用绝对坐标,poco使用相对坐标'''
         self.height = G.DEVICE.display_info['wigth']
         self.width = G.DEVICE.display_info['height']
     else:
         self.height = G.DEVICE.display_info['height']
         self.width = G.DEVICE.display_info['width']
     self.screen = G.DEVICE.snapshot()  #调用举报截图函数
Example #14
0
 def tst_adb(self):
     self.refreash_textarea_text("设备开始初始化,请耐心等待!")
     self.refreash_textarea_text("请勿点击其他按钮,可能会出错,我也懒得改了!")
     if not cli_setup():
         auto_setup(__file__,
                    logdir=None,
                    devices=[
                        "Android://127.0.0.1:5037/" + self.ser_num +
                        "?touch_method=ADBTOUCH",
                    ])
     device_poco = AndroidUiautomationPoco(use_airtest_input=True,
                                           screenshot_each_action=False)
     self.shuabao_run = shuabao.shuabao(device_poco)
     self.tst_device_run = tst_device.Shell()
     self.tst_device_run.trigger.connect(self.refreash_textarea_text)
     self.jukandian_run = jukandian_new.jukandian(device_poco)
     self.dongfangtoutiao_run = dongfangtoutiao.DongFangTouTiao(device_poco)
     self.dongfangtoutiao_run.trigger.connect(self.refreash_textarea_text)
     self.xuexi_run = xuexi.XueXi(device_poco)
     self.refreash_textarea_text("设备初始化完成,可以开始赚钱了!")
Example #15
0
def reset_to_hfs_menu():
    if not cli_setup():
        auto_setup(__file__, devices=[
            "Windows:///?title_re=HFS ~ HTTP*"])
Example #16
0
    def login(self):
        #调用公共方法
        ba = Base()
        try:
            poco = AndroidUiautomationPoco(use_airtest_input=True,
                                           screenshot_each_action=False)
            #安装APP
            ba.install_app()
            sleep(10)
            # 启动APP
            ba.start_app()

            if not cli_setup():
                auto_setup(__file__, logdir="./case/login/log")
            sleep(2)
            print("----------------测试登錄流程開始----------------------")
            sleep(10)

            #看到手勢密碼,切換為賬號密碼登錄
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout"
            ).child("android.view.ViewGroup").child("android.view.ViewGroup")[
                0].child("android.view.ViewGroup").child(
                    "android.view.ViewGroup").child(
                        "android.widget.ScrollView").child(
                            "android.view.ViewGroup").child(
                                "android.view.ViewGroup")[0].child(
                                    "android.widget.ImageView").click()

            poco(text="更多").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup").child(
                                "android.view.ViewGroup")[0].click()

            #輸入密碼
            poco(text="請輸入登錄密碼").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[0].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[1].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[2].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[3].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[4].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[5].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[6].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[0].child(
                                    "android.view.ViewGroup")[7].child(
                                        "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child("android.view.ViewGroup")[
                    1].child("android.view.ViewGroup").child(
                        "android.view.ViewGroup")[1].child(
                            "android.view.ViewGroup")[2].child(
                                "android.view.ViewGroup")[2].child(
                                    "android.view.ViewGroup")[0].child(
                                        "android.view.ViewGroup").click()
            poco(text="確定").click()

            #登錄
            poco(text="登錄").click()
            sleep(2)

            #驗證是否登錄成功

            #进入账户预览
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child(
                    "android.view.ViewGroup").child("android.view.ViewGroup")[
                        0].child("android.view.ViewGroup").child(
                            "android.view.ViewGroup").child(
                                "android.widget.ScrollView").child(
                                    "android.view.ViewGroup").child(
                                        "android.view.ViewGroup")[0].click()

            #查看是否有总资产
            assert_exists(
                Template(r"tpl1575966345628.png",
                         record_pos=(-0.045, -0.744),
                         resolution=(1080, 2244)), "總資產(MOP)")
            print("登錄成功")
            print("----------------测试登錄流程結束----------------------")

            #退出app
            ba.stop_app()

        except Exception as e:
            print("-------------异常情况-------------")
            ba.log_error("登陆流程错误: \n %s" % (e))
            print(e)
            # 退出app
            ba.stop_app()
Example #17
0
    def transfer(self):
        # 调用公共方法
        ba = Base()
        ba.login()
        if not cli_setup():
            auto_setup(__file__, logdir="./case/p_transfer/log")

        try:
            poco = AndroidUiautomationPoco(use_airtest_input=True,
                                           screenshot_each_action=False)
            sleep(2)
            print("----------------同行轉賬流程開始----------------------")
            #進入同行轉賬
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout"
            ).child("android.view.ViewGroup").child("android.view.ViewGroup")[
                0].child("android.view.ViewGroup").child(
                    "android.view.ViewGroup").child(
                        "android.widget.ScrollView").child(
                            "android.view.ViewGroup").child(
                                "android.view.ViewGroup")[3].child(
                                    "android.view.ViewGroup")[3].child(
                                        "android.widget.ImageView").click()
            sleep(2)
            #選擇轉出賬戶
            poco(text="").click()
            poco(text="幣種-CNY").click()
            sleep(5)

            #轉賬10
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").offspring(
                    "android.widget.ScrollView").child(
                        "android.view.ViewGroup").child(
                            "android.view.ViewGroup")[0].child(
                                "android.view.ViewGroup")[3].child(
                                    "android.widget.TextView")[1].click()
            poco(text="1").click()
            poco(text="0").click()
            poco(text="確定").click()
            poco(text="預覽").click()
            poco(text="確定").click()

            #測試點,驗證是否轉賬成功
            assert_exists(
                Template(r"tpl1575891204100.png",
                         record_pos=(0.005, -0.299),
                         resolution=(1080, 1920)), "轉賬成功")
            print("轉賬流程測試成功")

            #返回首頁
            poco(text="完成").click()
            print("----------------同行轉賬流程結束----------------------")

            # 退出app
            ba.stop_app()

        except Exception as e:
            print("-------------异常情况-------------")
            ba.log_error("同行转账流程错误 \n %s" % (e))
            print(e)
            # 退出app
            ba.stop_app()
Example #18
0
    def cardLogin(self):
        # 调用公共方法
        ba = Base()
        try:
            poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
            # 安装APP
            ba.install_app()
            sleep(10)
            # 启动APP
            ba.start_app()

            if not cli_setup():
                auto_setup(__file__, logdir="./case/cardLogin/log")
            sleep(2)
            print("----------------测试信用卡证件号登錄流程開始----------------------")
            sleep(10)

            # 点击快捷登录
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child(
                "android.view.ViewGroup").child("android.view.ViewGroup")[1].offspring(
                "CreditCard, tab, 2 of 3").offspring("android.widget.ImageView").click()

            poco(text="快捷登錄").click()

            # 选择证件类型
            poco(text="請選擇證件類型").click()
            swipe(Template(r"tpl1576663317394.png", record_pos=(-0.004, 0.863), resolution=(1080, 2280)),
                  vector=[0.1878, -0.0851])
            touch(Template(r"tpl1576663368014.png", record_pos=(0.424, 0.458), resolution=(1080, 2280)))
            # 输入证件号码
            poco(text="請輸入證件號碼").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[4].child("android.view.ViewGroup").offspring(
                "android.widget.ImageView").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[2].child("android.view.ViewGroup")[5].child(
                "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[0].child("android.view.ViewGroup")[7].child(
                "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[0].child("android.view.ViewGroup")[3].child(
                "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[0].child("android.view.ViewGroup")[6].child(
                "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[0].child("android.view.ViewGroup")[2].child(
                "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[0].child("android.view.ViewGroup")[8].child(
                "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[0].child("android.view.ViewGroup")[4].child(
                "android.view.ViewGroup").click()
            poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.view.ViewGroup")[
                1].child("android.view.ViewGroup").child("android.view.ViewGroup")[1].child("android.view.ViewGroup")[
                2].child("android.view.ViewGroup")[3].child("android.view.ViewGroup")[0].child(
                "android.view.ViewGroup").click()
            poco(text="確定").click()
            # 输入查询密码
            poco(text="請輸入信用卡查詢密碼").click()
            poco(text="1").click()
            poco(text="2").click()
            poco(text="3").click()
            poco(text="4").click()
            poco(text="5").click()
            poco(text="6").click()
            # 点击下一步,进入短信接收页面
            poco(text="下一步").click()
            assert_exists(Template(r"tpl1576663089827.png", record_pos=(-0.004, -0.497), resolution=(1080, 2280)),
                          "发送短信成功")


            print("信用卡发送短信成功")
            print("----------------测试信用卡证件号流程結束----------------------")

            # 退出app
            ba.stop_app()

        except Exception as e:
            print("-------------异常情况-------------")
            ba.log_error("登陆流程错误: \n %s" % (e))
            print(e)
            # 退出app
            ba.stop_app()
Example #19
0
# -*- encoding=utf8 -*-
__author__ = "lan"

from airtest.core.api import *
from airtest.cli.parser import cli_setup

if not cli_setup():
    auto_setup(
        __file__,
        logdir=True,
        devices=[
            "Android://127.0.0.1:5037/127.0.0.1:21503?cap_method=JAVACAP&&ori_method=ADBORI&&touch_method=ADBTOUCH",
        ])

# script content
print("start...")

# generate html report
# from airtest.report.report import simple_report
# simple_report(__file__, logpath="G:/PCR")

#  进入登录页
touch(Template(r"图标.png", record_pos=(-0.358, -0.072),
               resolution=(1440, 2960)))

#进入首页
touch(
    Template(r"CRIWARE.png", record_pos=(-0.34, 0.247),
             resolution=(1600, 900)))

#关闭公告
Example #20
0
    def cardLogin2(self):
        # 调用公共方法
        ba = Base()
        try:
            poco = AndroidUiautomationPoco(use_airtest_input=True,
                                           screenshot_each_action=False)
            # 安装APP
            ba.install_app()
            sleep(10)
            # 启动APP
            ba.start_app()

            if not cli_setup():
                auto_setup(__file__, logdir="./case/cardLogin/log")
            sleep(2)
            print("----------------测试信用卡号登錄流程開始----------------------")
            sleep(10)

            # 点击快捷登录
            poco("android.widget.LinearLayout").offspring(
                "android.widget.FrameLayout").child(
                    "android.view.ViewGroup").child("android.view.ViewGroup")[
                        1].offspring("CreditCard, tab, 2 of 3").offspring(
                            "android.widget.ImageView").click()

            poco(text="快捷登錄").click()
            # 切换到信用卡号登录
            poco(text="證件號登錄").click()
            swipe(Template(r"tpl1576725488897.png",
                           record_pos=(0.006, 0.61),
                           resolution=(1080, 2280)),
                  vector=[0.1507, 0.0809])
            touch(
                Template(r"tpl1576725505334.png",
                         record_pos=(0.424, 0.455),
                         resolution=(1080, 2280)))

            # 输入卡号
            poco(text="請輸入信用卡卡號").click()
            poco(text="6").click()
            poco(text="2").click()
            poco(text="6").click()
            poco(text="2").click()
            poco(text="9").click()
            poco(text="5").click()
            poco(text="0").click()
            poco(text="0").click()
            poco(text="0").click()
            poco(text="0").click()
            poco(text="0").click()
            poco(text="0").click()
            poco(text="0").click()
            poco(text="1").click()
            poco(text="5").click()
            poco(text="4").click()

            # 输入查询密码
            poco(text="請輸入信用卡查詢密碼").click()
            poco(text="1").click()
            poco(text="2").click()
            poco(text="3").click()
            poco(text="4").click()
            poco(text="5").click()
            poco(text="6").click()
            # 点击下一步,进入短信接收页面
            poco(text="下一步").click()
            assert_exists(
                Template(r"tpl1576725845426.png",
                         record_pos=(0.001, -0.502),
                         resolution=(1080, 2280)), "发送短信成功")
            poco.swipe(point_a, center, direction)
            print("信用卡发送短信成功")
            print("----------------测试信用卡号流程結束----------------------")

            # 退出app
            ba.stop_app()

        except Exception as e:
            print("-------------异常情况-------------")
            ba.log_error("登陆流程错误: \n %s" % (e))
            print(e)
            # 退出app
            ba.stop_app()