def er(): # 连接数据库 connect = pymysql.Connect( host='8.210.102.39', port=31007, user='******', passwd='CrazyCube!@#', db='CubeAgePlatform', # 数据库名称 charset='utf8', cursorclass=pymysql.cursors.DictCursor ) # sql查询结果返回类型:DictCursor 为字典类型, 没有指定为 数组 cursor = connect.cursor() try: sql = "select Value from {0} where StorageData ='{1}' ORDER BY CreatedAtUtc DESC LIMIT 1 ".format( "AuthenticationCode", "*****@*****.**") cursor.execute(sql) customers = cursor.fetchall() for customer in customers: logger.info("连接库成功") except Exception as e: # 捕捉异常,并打印 traceback.print_exc() # 关闭数据库连接 cursor.close() connect.close() return customer["Value"]
def xmain01(self, database, table, num): with SSHTunnelForwarder( ssh_address_or_host=("35.201.214.241", 22), # ssh跳转机的地址 ssh_username="******", # ssh的用户名 ssh_pkey="C:/nginx-user100-ssh-key", # ssh私钥地址 ssh_private_key_password="", # ssh私钥密码 local_bind_address=("127.0.0.1", 10023), remote_bind_address=("10.140.0.94", 31007)) as server: # 数据库地址 server.start() myConfig = pymysql.connect( user="******", # 数据库登录名 passwd="CrazyCube!@#", # 数据库密码 host="127.0.0.1", # 写死 db=database, # 数据库名称 port=server.local_bind_port, cursorclass=pymysql.cursors.DictCursor ) # sql查询结果返回类型:DictCursor 为字典类型, 没有指定为 数组 cursor = myConfig.cursor() try: sql = "select Value from {0} where StorageData ='{1}' ORDER BY CreatedAtUtc DESC LIMIT 1 ".format( table, num) cursor.execute(sql) customers = cursor.fetchall() for customer in customers: logger.info("连接{0}库中{1}表成功,获取{2}验证码:{3}".format( database, table, num, customer["Value"])) except Exception as e: # 捕捉异常,并打印 traceback.print_exc() # 关闭数据库连接 cursor.close() myConfig.close() return customer["Value"]
def addaccount_captcha_login(self, database="CubeAgePlatform", table="AuthenticationCode", num="*****@*****.**"): logger.info( "-----------------------测试信息页面-通过验证码添加账号【email、phone】-----------------------" ) doc = "测试信息页面-通过验证码添加账号登录功能" self.wait_eleVisible(loc.click_switchaccount, doc=doc) self.click_element(loc.click_switchaccount, doc) self.wait_eleVisible(loc.click_addaccount, doc=doc) self.click_element(loc.click_addaccount, doc) time.sleep(8) self.wait_eleVisible(loc.click_define, doc=doc) self.click_element(loc.click_define, doc) self.wait_eleVisible(loc.click_captcha_login, doc=doc) self.click_element(loc.click_captcha_login, doc) self.wait_eleVisible(loc.set_account, doc=doc) self.inpt_text(loc.set_account, num, doc) self.wait_eleVisible(loc.click_captcha_send, doc=doc) self.click_element(loc.click_captcha_send, doc) time.sleep(2) Captcha = self.connect_database_select(database, table, num) self.wait_eleVisible(loc.set_captcha, doc=doc) self.inpt_text(loc.set_captcha, Captcha, doc) self.wait_eleVisible(loc.click_login, doc=doc) self.click_element(loc.click_login, doc) self.wait_eleVisible(loc.click_Choose_role, doc=doc) self.click_element(loc.click_Choose_role, doc)
def is_authorize_login_safety_new(self): logger.info( "-----------------------SDK授权初始化_登录功能_新-----------------------") doc = "SDK授权初始化_登录功能_新" self.wait_eleVisible(loc.initialization_sdk_03, doc=doc) self.click_element(loc.initialization_sdk_03, doc) self.wait_eleVisible(loc.initialization_sdk_04, doc=doc) self.click_element(loc.initialization_sdk_04, doc) self.wait_eleVisible(loc.initialization_sdk_04, doc=doc) self.click_element(loc.initialization_sdk_04, doc) time.sleep(3)
def modify_user_id(self, text): logger.info( "-----------------------测试安全信息页面-修改用户id功能-----------------------") doc = "安全信息页面_修改用户id功能" self.wait_eleVisible(loc.click_userid, doc=doc) self.click_element(loc.click_userid, doc) self.wait_eleVisible(loc.set_userid, doc=doc) self.inpt_text(loc.set_userid, text, doc=doc) self.wait_eleVisible(loc.click_userid_submit, doc=doc) self.click_element(loc.click_userid_submit, doc) time.sleep(3)
def bind_phone_fail(self,num,captcha): logger.info("-----------------------测试安全信息页面-绑定账号功能-----------------------") doc = "安全信息页面_绑定电话功能【fail】" time.sleep(5) self.wait_eleVisible(loc.click_binding_phone, doc=doc) self.click_element(loc.click_binding_phone, doc) self.wait_eleVisible(loc.set_binding03, doc=doc) self.inpt_text(loc.set_binding03, num, doc) self.wait_eleVisible(loc.set_binding02, doc=doc) self.inpt_text(loc.set_binding02, captcha, doc) self.wait_eleVisible(loc.click_submit, doc=doc) self.click_element(loc.click_submit, doc)
def is_Login(self): try: WebDriverWait(self.driver, 10, 0.5).until( EC.visibility_of_element_located( (By.ID, "com.crazycube.sdk.demo:id/textView21"))) logger.info("********SDK初始化_登录功能【断言成功】********") return True except: logger.info("********SDK初始化_登录功能【断言失败】********") return False
def is_binding_phone(self, phone): try: WebDriverWait(self.driver, 15, 0.5).until(EC.visibility_of_element_located( (By.XPATH, '//*[@id="__next"]/div/div/div[2]/div[2]/div[3]'))) logger.info("********安全信息页面_绑定电话功能:绑定的电话为{0}【断言成功】********".format(phone)) self.save_screenshot("绑定电话断言成功截图") return True except: logger.info("********安全信息页面_绑定电话功能:绑定的电话为{0}【断言失败】********".format(phone)) self.save_screenshot("绑定电话断言失败截图") return False
def set_password(self,pwd01 ="12345678",pwd02 ="12345678"): logger.info("-----------------------测试安全信息页面-设置密码功能-----------------------") doc = "安全信息页面_设置密码功能" time.sleep(10) self.wait_eleVisible(loc.click_password_set, doc=doc) self.click_element(loc.click_password_set, doc) self.wait_eleVisible(loc.set_password01, doc=doc) self.inpt_text(loc.set_password01, pwd01, doc) self.wait_eleVisible(loc.set_password02, doc=doc) self.inpt_text(loc.set_password02,pwd02, doc) self.wait_eleVisible(loc.click_submit, doc=doc) self.click_element(loc.click_submit, doc) time.sleep(6)
def is_set_password(self, pwd): try: WebDriverWait(self.driver, 10, 0.5).until(EC.visibility_of_element_located( (By.XPATH, '//*[@id="__next"]/div/div/div[2]/div[2]/div[4]'))) logger.info("********安全信息页面_设置用户密码功能:设置的密码为{0}【断言成功】********".format(pwd)) self.save_screenshot("设置用户密码成功截图") return True except: logger.info("********安全信息页面_设置用户密码功能:设置的密码为{0}【断言失败】********".format(pwd)) self.save_screenshot("设置用户密码失败截图") return False
def modify_user_name(self, text): logger.info( "-----------------------测试用户信息页面-修改用户昵称功能-----------------------") doc = "用户信息页面_修改用户昵称功能" time.sleep(3) windows = self.driver.window_handles self.driver.switch_to.window(windows[-1]) self.Coordinate_positioning(loc.click_username) time.sleep(3) self.wait_eleVisible(loc.set_username, doc=doc) self.inpt_text(loc.set_username, text, doc=doc) self.wait_eleVisible(loc.click_username_submit, doc=doc) self.click_element(loc.click_username_submit, doc) time.sleep(7)
def is_binding_email(self, email): try: WebDriverWait(self.driver, 15, 0.5).until( EC.visibility_of_element_located( (By.XPATH, '//*[@id="__next"]/div/div/div[2]/div[2]/div[2]'))) logger.info( "********安全信息页面_绑定邮箱功能:绑定的邮箱为{0}【断言成功】********".format(email)) return True except: logger.info( "********安全信息页面_绑定邮箱功能:绑定的邮箱为{0}【断言失败】********".format(email)) return False
def buy_google(self): logger.info( "-----------------------商品购买页面_google支付-----------------------") doc = "商品购买页面_google支付" self.wait_eleVisible(loc.bug_submit, doc=doc) self.click_element(loc.bug_submit, doc) self.wait_eleVisible(loc.initialization_sdk_04, doc=doc) self.click_element(loc.initialization_sdk_04, doc) time.sleep(3) self.switch_scenes() self.wait_eleVisible(loc.click_confirm_payment, doc=doc) self.click_element(loc.click_confirm_payment, doc) time.sleep(3) self.Coordinate_positioning(loc.x_y_07) time.sleep(4)
def is_binding_facebook(self, account): try: windows = self.driver.window_handles self.driver.switch_to.window(windows[0]) WebDriverWait(self.driver, 15, 0.5).until(EC.visibility_of_element_located( (By.XPATH, '//*[@id="__next"]/div/div/div[2]/div[2]/div[6]'))) logger.info("********安全信息页面_绑定facebook功能:绑定的facebook账号为{0}【断言成功】********".format(account)) self.save_screenshot("绑定facebook断言成功截图") return True except: logger.info("********安全信息页面_绑定facebook功能:绑定的facebook账号为{0}【断言失败】********".format(account)) self.save_screenshot("绑定facebook断言失败截图") return False
def is_modify_userid02(self, text): try: WebDriverWait(self.driver, 5, 0.5).until( EC.visibility_of_element_located( (By.XPATH, '//*[contains(text(),"用戶名格式錯誤(不能純數字或者純符號)")]'))) logger.info( "********安全信息页面_修改用户id功能:修改的用户ID为{0}【断言成功】********".format( text)) return True except: logger.info( "********安全信息页面_修改用户id功能:修改的用户ID为{0}【断言失败】********".format( text)) return False
def bind_phone_success(self,database ="CubeAgePlatform",table ="AuthenticationCode",num ="98833331"): logger.info("-----------------------测试安全信息页面-绑定账号功能-----------------------") doc = "安全信息页面_绑定电话功能【success】" time.sleep(5) self.wait_eleVisible(loc.click_binding_phone, doc=doc) self.click_element(loc.click_binding_phone, doc) self.wait_eleVisible(loc.set_binding03, doc=doc) self.inpt_text(loc.set_binding03, num, doc) self.wait_eleVisible(loc.click_captcha_send, doc=doc) self.click_element(loc.click_captcha_send, doc) time.sleep(2) Captcha = self.connect_database_select(database,table,num) self.wait_eleVisible(loc.set_binding02, doc=doc) self.inpt_text(loc.set_binding02, Captcha, doc) self.wait_eleVisible(loc.click_submit, doc=doc) self.click_element(loc.click_submit, doc)
def modify_password(self,pwd01,pwd02,pwd03): logger.info("-----------------------测试安全信息页面-修改密码功能_旧密码-----------------------") doc = "安全信息页面_修改密码功能_旧密码" time.sleep(6) self.wait_eleVisible(loc.click_password01, doc=doc) self.click_element(loc.click_password01, doc) self.wait_eleVisible(loc.click_password02, doc=doc) self.click_element(loc.click_password02, doc) self.wait_eleVisible(loc.set_password01, doc=doc) self.inpt_text(loc.set_password01, pwd01) self.wait_eleVisible(loc.set_password02, doc=doc) self.inpt_text(loc.set_password02,pwd02, doc) self.wait_eleVisible(loc.set_password03, doc=doc) self.inpt_text(loc.set_password03,pwd03, doc) self.wait_eleVisible(loc.click_submit, doc=doc) self.click_element(loc.click_submit, doc)
def is_buy(self): try: contexts = self.driver.contexts self.driver.switch_to.context(contexts[0]) WebDriverWait(self.driver, 10, 0.5).until( EC.visibility_of_element_located( (By.ID, 'com.crazycube.sdk.demo:id/button3'))) logger.info("********商品购买页面_google支付:【断言成功】********") self.save_screenshot("购买商品成功截图") return True except: logger.info("********商品购买页面_google支付:【断言失败】********") self.save_screenshot("购买商品失败截图") return False
def addaccount_errorpassword_login(self, account, pwd): logger.info( "-----------------------测试信息页面-通过错误密码添加账号【email、phone】-----------------------" ) doc = "测试信息页面-通过错误密码添加账号登录功能" self.wait_eleVisible(loc.click_switchaccount, doc=doc) self.click_element(loc.click_switchaccount, doc) self.wait_eleVisible(loc.click_addaccount, doc=doc) self.click_element(loc.click_addaccount, doc) time.sleep(8) self.wait_eleVisible(loc.click_define, doc=doc) self.click_element(loc.click_define, doc) self.wait_eleVisible(loc.set_account, doc=doc) self.inpt_text(loc.set_account, account, doc) self.wait_eleVisible(loc.set_pwd, doc=doc) self.inpt_text(loc.set_pwd, pwd, doc) self.wait_eleVisible(loc.click_login, doc=doc) self.click_element(loc.click_login, doc)
def not_authorize_login_safety(self): logger.info( "-----------------------SDK未授权初始化_登录功能-----------------------") doc = "SDK未授权初始化_登录功能" self.click_element(loc.initialization_sdk_01, doc) self.wait_eleVisible(loc.initialization_sdk_02, doc=doc) self.click_element(loc.initialization_sdk_02, doc) self.wait_eleVisible(loc.initialization_sdk_02, doc=doc) self.click_element(loc.initialization_sdk_02, doc) self.wait_eleVisible(loc.login_sdk, doc=doc) self.click_element(loc.login_sdk, doc) self.wait_eleVisible(loc.login_success, doc=doc) self.click_element(loc.login_success, doc) time.sleep(8) # 平台浮标 self.Coordinate_positioning(loc.x_y_01) time.sleep(2) self.Coordinate_positioning(loc.x_y_02) self.switch_scenes()
def is_modify_username(self, text): try: WebDriverWait(self.driver, 8, 0.5).until( EC.visibility_of_element_located( (By.XPATH, '//*[@class="jsx-4002802977 UserInfo_New_WV_d1"]'))) logger.info( "********用户信息页面_修改用户昵称功能:修改的用户昵称为{0}【断言成功】********".format( text)) self.save_screenshot("修改用户昵称断言成功截图") return True except: logger.info( "********用户信息页面_修改用户昵称功能:修改的用户昵称为{0}【断言失败】********".format( text)) self.save_screenshot("修改用户昵称断言失败截图") return False
def is_modify_userid01(self, text): try: WebDriverWait(self.driver, 12, 0.5).until( EC.visibility_of_element_located(( By.XPATH, '//*[@id="__next"]/div/div/div[2]/div[2]/div[1]/div[1]/div[2]' ))) logger.info( "********安全信息页面_修改用户id功能:修改的用户ID为{0}【断言成功】********".format( text)) return True except: logger.info( "********安全信息页面_修改用户id功能:修改的用户ID为{0}【断言失败】********".format( text)) return False
def modify_password_email_fail(self,captcha,pwd01,pwd02): logger.info("-----------------------测试安全信息页面-修改密码功能_email【fail】-----------------------") doc = "安全信息页面_修改密码功能_email【fail】" time.sleep(4) self.wait_eleVisible(loc.click_password01, doc=doc) self.click_element(loc.click_password01, doc) time.sleep(2) self.wait_eleVisible(loc.click_password03, doc=doc) self.click_element(loc.click_password03, doc) time.sleep(2) self.wait_eleVisible(loc.click_captcha_send, doc=doc) self.click_element(loc.click_captcha_send, doc) self.wait_eleVisible(loc.set_password02, doc=doc) self.inpt_text(loc.set_password02, captcha, doc) self.wait_eleVisible(loc.set_password03, doc=doc) self.inpt_text(loc.set_password03,pwd01, doc) self.wait_eleVisible(loc.set_password04, doc=doc) self.inpt_text(loc.set_password04,pwd02, doc) self.wait_eleVisible(loc.click_submit, doc=doc) self.click_element(loc.click_submit, doc)
def addaccount_facebook_login(self, account, pwd): logger.info( "-----------------------测试信息页面-通过facebook添加账号-----------------------" ) doc = "测试信息页面-通过facebook添加账号登录功能" self.wait_eleVisible(loc.click_switchaccount, doc=doc) self.click_element(loc.click_switchaccount, doc) self.wait_eleVisible(loc.click_addaccount, doc=doc) self.click_element(loc.click_addaccount, doc) time.sleep(8) self.wait_eleVisible(loc.click_define, doc=doc) self.click_element(loc.click_define, doc) self.wait_eleVisible(loc.set_account, doc=doc) self.inpt_text(loc.set_account, account, doc) self.wait_eleVisible(loc.set_pwd, doc=doc) self.inpt_text(loc.set_pwd, pwd, doc) self.wait_eleVisible(loc.click_login, doc=doc) self.click_element(loc.click_login, doc) self.wait_eleVisible(loc.click_Choose_role, doc=doc) self.click_element(loc.click_Choose_role, doc)
def access_demo(request): global driver desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['deviceName'] = 'emulator-5554' # desired_caps['appPackage'] = 'com.crazycube.sdk.demo' # desired_caps['appActivity'] = 'com.crazycube.sdk.demo.MainActivity' desired_caps['appPackage'] = 'com.crazycube.hkmahjongtycoon.app' desired_caps[ 'appActivity'] = 'com.crazycube.hkmahjongtycoon.app.MainActivity' desired_caps['noReset'] = 'True' driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) logger.info('-----开始执行当前用例-----') def final(): logger.info('-----当前用例执行完毕-----') driver.quit() request.addfinalizer(final) return driver
def bind_facebook_success(self,database ="CubeAgePlatform",table ="AuthenticationCode",account ="",pwd =""): logger.info("-----------------------测试安全信息页面-绑定账号功能-----------------------") doc = "安全信息页面_绑定facebook功能【success】" time.sleep(5) self.wait_eleVisible(loc.click_binding_facebook, doc=doc) self.click_element(loc.click_binding_facebook, doc) time.sleep(3) windows = self.driver.window_handles self.driver.switch_to.window(windows[-1]) self.wait_eleVisible(loc.set_account_facebook, doc=doc) self.inpt_text(loc.set_account_facebook, account, doc) self.wait_eleVisible(loc.set_password_facebook, doc=doc) self.inpt_text(loc.set_password_facebook, pwd, doc) self.wait_eleVisible(loc.click_login_facebook, doc=doc) self.click_element(loc.click_login_facebook, doc) time.sleep(3) self.Coordinate_positioning(loc.x_y_06) # time.sleep(2) # self.wait_eleVisible(loc.click_keeplogin_facebook02, doc=doc) # self.click_element(loc.click_keeplogin_facebook02, doc) time.sleep(10)
def addaccount_errorcaptcha_login(self, account, captcha="363636"): logger.info( "-----------------------测试信息页面-通过错误验证码添加账号【email、phone】-----------------------" ) doc = "测试信息页面-通过错误验证码添加账号登录功能" self.wait_eleVisible(loc.click_switchaccount, doc=doc) self.click_element(loc.click_switchaccount, doc) self.wait_eleVisible(loc.click_addaccount, doc=doc) self.click_element(loc.click_addaccount, doc) time.sleep(8) self.wait_eleVisible(loc.click_define, doc=doc) self.click_element(loc.click_define, doc) self.wait_eleVisible(loc.click_captcha_login, doc=doc) self.click_element(loc.click_captcha_login, doc) self.wait_eleVisible(loc.set_account, doc=doc) self.inpt_text(loc.set_account, account, doc) self.wait_eleVisible(loc.set_captcha, doc=doc) self.inpt_text(loc.set_captcha, captcha, doc) self.wait_eleVisible(loc.click_login, doc=doc) self.click_element(loc.click_login) time.sleep(2)
def modify_password_phone_success(self,database ="CubeAgePlatform",table ="AuthenticationCode",num ="98833325",pwd01 ="12345678",pwd02 ="12345678"): logger.info("-----------------------测试安全信息页面-修改密码功能_phone【success】-----------------------") doc = "安全信息页面_修改密码功能_phone【success】" time.sleep(4) self.wait_eleVisible(loc.click_password01, doc=doc) self.click_element(loc.click_password01, doc) time.sleep(2) self.wait_eleVisible(loc.click_password04, doc=doc) self.click_element(loc.click_password04, doc) time.sleep(2) self.wait_eleVisible(loc.click_captcha_send, doc=doc) self.click_element(loc.click_captcha_send, doc) time.sleep(3) Captcha = self.connect_database_select(database, table, num) self.wait_eleVisible(loc.set_password02, doc=doc) self.inpt_text(loc.set_password02, Captcha, doc) self.wait_eleVisible(loc.set_password03, doc=doc) self.inpt_text(loc.set_password03,pwd01, doc) self.wait_eleVisible(loc.set_password04, doc=doc) self.inpt_text(loc.set_password04,pwd02, doc) self.wait_eleVisible(loc.click_submit, doc=doc) self.click_element(loc.click_submit, doc)
def is_login_account(self, account): try: contexts = self.driver.contexts self.driver.switch_to.context(contexts[0]) logger.info("切换到原生页面") WebDriverWait(self.driver, 10, 0.5).until( EC.visibility_of_element_located( (By.ID, "com.crazycube.hkmahjongtycoon.app:id/init_sdk"))) logger.info( "********用户信息页面_切换账号登录功能:切换的账号为{0}【断言成功】********".format( account)) return True except: logger.info( "********用户信息页面_切换账号登录功能:切换的账号为{0}【断言失败】********".format( account)) return False
def final(): logger.info('-----当前用例执行完毕-----') driver.quit()