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()
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()
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
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
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()
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()
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()
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()