示例#1
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()
示例#2
0
def main():
    parse_command_line()
    Base.install()
    app = tornado.web.Application(
        [
            (r"/", MainHandler),
            (r"/comics/detail", ComicsDetailHandler),
            (r"/test", TestHandler),
        ],
        cookie_secret="IloveYou",
        template_path=os.path.join(os.path.dirname(__file__), "templates"),
        static_path=os.path.join(os.path.dirname(__file__), "static"),
        xsrf_cookies=True,
    )
    app.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()
示例#3
0
    def decode(self, decoder, message, key=None):
        base = Base()
        morsecode = MorseCode()
        rot13 = Rot13()
        rot47 = Rot47()
        vigenere = Vigenere()

        if decoder == "base16":
            translated = base.decode16(message)
        elif decoder == "base32":
            translated = base.decode32(message)
        elif decoder == "base64":
            translated = base.decode64(message)
        elif decoder == "base85":
            translated = base.decode85(message)
        elif decoder == "morse":
            translated = morsecode.decode(message)
        elif decoder == "rot13":
            translated = rot13.decode(message)
        elif decoder == "rot47":
            translated = rot47.decode(message)
        elif decoder == "vigenere":
            translated = vigenere.decode(message, key)
        else:
            translated = None
        return translated
示例#4
0
    def decode(self, decoder, message, shift, key=None):
        base = Base()
        autokey = AutoKey()
        atbash = AtBash()
        baconian = Baconian()
        beaufort = BeauFort()
        caesar = Caesar()
        morsecode = MorseCode()
        rot13 = Rot13()
        rot47 = Rot47()
        playfair = PlayFair()
        vigenere = Vigenere()

        if decoder == "base16":
            translated = base.decode16(message)
        elif decoder == "base32":
            translated = base.decode32(message)
        elif decoder == "base64":
            translated = base.decode64(message)
        elif decoder == "base85":
            translated = base.decode85(message)
        elif decoder == "autokey":
            translated = autokey.decode(message, key)
        elif decoder == "atbash":
            translated = atbash.decode(message)
        elif decoder == "baconian":
            translated = baconian.decode(message)
        elif decoder == "beaufort":
            translated = beaufort.decode(message, key)
        elif decoder == "caesar":
            translated = caesar.decode(message, shift)
        elif decoder == "morse":
            translated = morsecode.decode(message)
        elif decoder == "rot13":
            translated = rot13.decode(message)
        elif decoder == "rot47":
            translated = rot47.decode(message)
        elif decoder == "playfair":
            translated = playfair.decode(message, key)
        elif decoder == "vigenere":
            translated = vigenere.decode(message, key)
        else:
            translated = None
        return translated
示例#5
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()
示例#6
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()
示例#7
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()
示例#8
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()