通过自动化脚本,可以实现一系列自动化操作,包括机卡分离复机、解绑、绑定首话单和绑定TAC等功能。此外,还可以进行区域限制变更,绑定新区域或首话单。这些功能可以无缝集成到自己的平台中,并支持多账号管理。这样一来,我们无需频繁切换onelink账号进行操作,可以大幅提升工作效率,预计可提高80%的工作效率。

# 示例代码  q:1308137826
key = b"4353534fdgd"
aa = AeCipher(key)
# 配置日志记录
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# 创建全局Logger对象
logger = logging.getLogger()
# 创建文件处理程序,并设置日志文件路径
file_handler = logging.FileHandler('log.txt')
# 设置文件处理程序的日志级别和格式
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
# 将文件处理程序添加到全局Logger对象中
logger.addHandler(file_handler)class Login:@staticmethoddef test(user):print(user.username)@staticmethoddef run(user, map):global aa, logger"""登录方法,返回token  industrySecurityKey返回: 正常返回token 密码错误返回:1 登录失败返回:2"""session = map[user.userId]  # 获取session对象session.refreshDate = datetime.datetime.now()if 1 == session.tokenStatus:# print("getToken 账号正常,无需登录, 跳过",user.userId)returnlogger.info("登录账号: %s", user.userId)logger.info("第1步:获取publicKey")response = requests.get('https://xxx.com/ecology/api/service/industry/industrySecurity/getPublicKey')parsed_data = json.loads(response.text)if '0' == parsed_data["code"]:data_dict = response.json()['data']user.industrySecurityKey = data_dict["key"]user.newPassword = Login.run_javascript(aa.decrypt(user.password), data_dict["exponent"], data_dict["modulus"])else:logger.info("获取publicKey失败,跳过登录")returnres = requests.get(f"https://xxx.com/ecology/api/service/industry/verify/getImgInfo?userId={user.userId}")data_dict = res.json()['data']uniqueNum = data_dict['uniqueNum']cookies = {'industry_securityKey': user.industrySecurityKey, }data = f'{{"userId": "{user.userId}", "password": "{user.newPassword}", "xlocation": {distance}, "uniqueNum": "{uniqueNum}"}}'response = requests.post('https://xxx.com/ecology/api/service/industry/industryLogin/doLogin',data=data)logger.info(response.text)parsed_data = json.loads(response.text)if parsed_data['code'] == '0':data_body = parsed_data['data']token = data_body['token']# 保存登录信息session.userId = user.userIdsession.token = tokensession.tokenStatus = 1# 更新账号信息user.status = 1user.beId = data_body["beId"]elif parsed_data['code'] == '903003':logger.info("账号密码错误 %s", parsed_data)session.tokenStatus = 0user.status = 3  # 密码key过期,应该要重新获取 industrySecurityKeyuser.refreshNum = user.refreshNum - 1  elif parsed_data['code'] == '001':logger.info("密码失效 %s", parsed_data)session.tokenStatus = 0user.status = 0else:logger.info("登录异常 %s", parsed_data)session.tokenStatus = 0user.status = 0@staticmethoddef getTxToken(user, map):session = map[user.userId]  # 获取session对象session.refreshDate = datetime.datetime.now()if 1 == session.xTokenStatus:return# 格式化时间为字符串formatted_time = session.refreshDate.strftime("%Y-%m-%d %H:%M:%S")logger.info("第5步 ================================ 当前时间 %s", formatted_time)headers = {'User-Agent': 'Apipost client Runtime/+https://www.apipost.cn/', }params = (('lang', 'zh-CN'),)data = {'token': session.token}response = requests.post('https://xxx.com/api/user/sys/login', headers=headers, params=params,data=data)# print(response.text)if response.status_code == 200:parsed_data = json.loads(response.text)if '2001' == parsed_data['code']:if 'rows' in parsed_data and isinstance(parsed_data['rows'], list):rows = parsed_data['rows']if rows:  # 检查列表是否非空session.xToken = rows[0]['X-Token']session.xTokenStatus = 1else:session.xToken = Nonesession.xTokenStatus = 0else:session.xToken = Nonesession.xTokenStatus = 0elif '5002' == parsed_data['code']:session.token = Nonesession.xToken = Nonesession.tokenStatus = 0session.xTokenStatus = 0else:session.xToken = Nonesession.xTokenStatus = 0

移动onelink自动化脚本,机卡分离解绑,区域限制变更相关推荐

  1. 【云真机平台】稳定性测试自动化脚本

    前面文章中针对云真机平台稳定性设计了[云真机平台]平台稳定性测试方案,接下来实现具体的脚本进行稳定性测试 一.selenium IDE录制 许久没有写UI自动化,倍感陌生哈哈,那么使用selenium ...

  2. APPium+Python编写真机移动端自动化脚本

    前置条件 完成软件和环境的安装后就可以开始移动端自动化脚本的编写了. 连接设备 手机打开USB调试模式,连接手机.此时去命令窗口查看自己的设备是否已经连接. 让后打开Appium Server,进行配 ...

  3. 做python自动化得时候怎么添加断言_在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例。就像功能测试一样,当测试人员做了一些操作...

    在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例.就像功能测试一样,当测试人员做了一些操作之后必然会判断实际结果是否等于预期结果,只不过,这个 ...

  4. 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训

    7月份新增内容: 一.[autojs协议教程] 第一部分:HTTP教程 1.1.HTTP概念介绍1.2.HTTP消息结构1.3.HTTP请求方法1.4.HTTP请求方法1.5.HTTP状态码 第二部分 ...

  5. 怎么快速写python自动化脚本_自动化脚本如何编写?

    首先,我们看一个视频 ,通过视频,了解下什么是自动化脚本 . 这个是我用auto.js写的一个 抖音自动养号脚本 .大体功能就是自动私信,评论,关注 , 有兴趣可以先去一下链接了解 . 目前编写自动化 ...

  6. Pycharm中用Appium框架编写第一个自动化脚本

    一.环境依赖 ·Node.js ·appium ·python ·jdk ·Android SDK ·Appium-Python-Client ·Appium-doctor 二.环境搭建 提醒:安装路 ...

  7. 纽约蹭饭手册:怎样利用Python和自动化脚本在纽约省钱又省心?

    在家做饭不下馆子可以减少开支已经是公开的秘密.但作为一名美食天堂的国民,不下馆子几乎是不可能的. 到处都是火锅店.烧烤餐厅或美味披萨店,瞅一眼这些美食,就足以摧毁大家省钱的意志力. 如果你即不想让钱包 ...

  8. 纽约蹭饭手册:怎样利用Python和自动化脚本在纽约吃霸王餐?

    在家做饭不下馆子可以减少开支已经是公开的秘密.但作为一名美食天堂的国民,不下馆子几乎是不可能的. 到处都是火锅店.烧烤餐厅或美味披萨店,瞅一眼这些美食,就足以摧毁大家省钱的意志力. 如果你即不想让钱包 ...

  9. 软件测试 自动化测试 Web自动化测试01 selenium 定位元素方法 元素操作 自动化脚本开发

    文章目录 1 自动化测试概述 1.1 测试的目的 1.2 自动化测试的优点 1.3 自动化测试的缺点 1.4 自动化测试工具 1.5 自动化测试流程 2 selenium基础 2.1 selenium ...

最新文章

  1. 利用 Bootstrap 进行快速 Web 开发
  2. GDCM:DICOM文件转换为QImage文件的测试程序
  3. linux安全运维(一)
  4. 如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习)
  5. npm install
  6. matlab杜哈梅尔积分,非平稳地震作用下桥梁系统碰撞间隙宽度的概率评价方法与流程...
  7. LINUX不能恢复式安装
  8. matlab 分式拟合,如何用matlab拟合微分方程
  9. 如何编辑Microsoft Office Word 2003默认的Normal.dot模板文件
  10. java synchronized关键字的用法以及锁的等级:方法锁、对象锁、类锁
  11. matlab两表格合并,在matlab中将两个单元合并到一个单个单元中(merge two cell in one single cell in matlab)...
  12. Load Switch负载开关详解
  13. el-descriptions
  14. androidlib.java_实现 Java SDK 库
  15. response概述
  16. python实现购物车总结,Python实现的购物车功能示例
  17. 如何混迹程序猿江湖,你得懂程序员黑话暗语!
  18. getCoverageAndShow.sh 测试覆盖率结果使用nginx实现远程访问展示
  19. html css语法几部分,CSS部分语法1
  20. 区块链报告会心得体会3000_心得体会范文3000字

热门文章

  1. 了解公司企业Advance Metering
  2. Android App A/B测试总结
  3. 【剑指offer】登峰造极--数组中重复的数字
  4. scanf函数的返回值是什么?
  5. 愿2014年02月14日,所有情人情人节快乐!
  6. Android系统名词解释汇总
  7. 十一、监控和管理Linux进程
  8. 香港理工大学计算机科学教授,香港理工大学教授、IEEE院士杨苏来我校授课
  9. 什么是敏捷软件开发?
  10. 给孩子的史上最全思维导图使用指南