| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657 |
- import random
- import threading
- import time
- import uiautomator2 as u2
- from func.check_device import retry, reboot_device
- from task.task_dict import script_status
- from tools import loggerKit
- # 4.1.3(21966)
- # 编辑群名称
- def wework_edit(device_serial, keyword, content):
- # 连接设备
- device = u2.connect(device_serial)
- device.healthcheck()
- device.screen_on()
- device.unlock()
- device.debug = False
- # 重启企业微信
- device.app_stop("com.tencent.wework")
- device.app_start("com.tencent.wework")
- # 打开搜索框
- device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click()
- # 输入搜索文案
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(keyword)
- # 点击搜索所得的第一个
- device.xpath('//*[@resource-id="com.tencent.wework:id/ge2"]').click()
- # 点击编辑群按钮
- device.xpath('//*[@resource-id="com.tencent.wework:id/l6w"]').click()
- # 点击群名称
- device.xpath('//*[@resource-id="com.tencent.wework:id/bze"]').click()
- # 文案设置
- device.xpath('//*[@resource-id="com.tencent.wework:id/egb"]').set_text(content)
- # 编辑提交
- device.xpath('//*[@resource-id="com.tencent.wework:id/l73"]').click()
- # 创建字典来保存锁对象
- lock_dict = {}
- sleep_time = 0.5
- def random_add_subtract(number):
- operation = random.choice(['add'])
- if operation == 'add':
- number += random.choice([0.1, 0.2])
- elif operation == 'subtract':
- number += random.choice([0.1, 0.2])
- return number
- # 消息回复
- def wework_reply(device_serial, keyword, content):
- status = script_status(1, 0, '', '')
- # 连接设备
- device = u2.connect(device_serial)
- device.healthcheck()
- device.screen_on()
- device.unlock()
- device.debug = False
- time.sleep(random_add_subtract(sleep_time))
- # 打开搜索框
- loggerKit.info('thread[{0}=>{1}], 设备号: {2}, 打开搜索框', threading.current_thread().name, threading.get_ident(),
- device_serial)
- start_time1 = time.time()
- if device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click()
- else:
- return retry(lambda: device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click(), device_serial,
- "搜索按钮元素未获取到")
- end_time1 = time.time()
- loggerKit.info("thread[{0}=>{1}], 设备号:{2}, 打开搜索框==>>执行时长:{3}", threading.current_thread().name,
- threading.get_ident(), device_serial, end_time1 - start_time1)
- time.sleep(random_add_subtract(sleep_time))
- # 输入搜索文案
- loggerKit.info('thread[{0}=>{1}], 输入搜索文案:{2}, 设备号:{3}', threading.current_thread().name,
- threading.get_ident(),
- keyword, device_serial)
- start_time2 = time.time()
- if device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(keyword)
- else:
- return retry(lambda: device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(keyword),
- device_serial,
- "搜索框元素未获取到")
- end_time2 = time.time()
- loggerKit.info("thread[{0}=>{1}], 设备号:{2}, 输入搜索文案==>>执行时长:{3}", threading.current_thread().name,
- threading.get_ident(), device_serial, end_time2 - start_time2)
- time.sleep(random_add_subtract(sleep_time))
- loggerKit.info('thread[{0}=>{1}], 点击搜索所得的第一个', threading.current_thread().name, threading.get_ident())
- start_time3 = time.time()
- time.sleep(1)
- if device.xpath('//*[@resource-id="com.tencent.wework:id/kzx"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/ge2"]').click()
- else:
- return retry(lambda: device.xpath('//*[@resource-id="com.tencent.wework:id/ge2"]').click(), device_serial,
- "搜索不到群聊")
- end_time3 = time.time()
- loggerKit.info("thread[{0}=>{1}], 设备号:{2}, 点击搜索所得的第一个==>>执行时长:{3}",
- threading.current_thread().name,
- threading.get_ident(), device_serial, end_time3 - start_time3)
- time.sleep(random_add_subtract(sleep_time))
- # 编辑框
- loggerKit.info('thread[{0}=>{1}], 设备号:{2}, 输入编辑框文本', threading.current_thread().name,
- threading.get_ident(), device_serial)
- start_time4 = time.time()
- if device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').click()
- else:
- return retry(lambda: device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').click(), device_serial,
- "编辑框元素未获取到")
- end_time4 = time.time()
- loggerKit.info("thread[{0}=>{1}], 设备号:{2}, 编辑框==>>执行时长:{3}", threading.current_thread().name,
- threading.get_ident(), device_serial, end_time4 - start_time4)
- time.sleep(random_add_subtract(sleep_time))
- # 内容赋值
- text = content.replace("<br/>", "\n")
- # 直接输出替换后的字符串
- loggerKit.info('替换后的字符串:{0}', text)
- # 内容赋值
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').set_text(text)
- # 发送
- loggerKit.info('thread[{0}=>{1}], 设备号:{2}, 发送文案', threading.current_thread().name, threading.get_ident(),
- device_serial)
- start_time5 = time.time()
- if device.xpath('//*[@resource-id="com.tencent.wework:id/gsf"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsf"]').click()
- else:
- return retry(lambda: device.xpath('//*[@resource-id="com.tencent.wework:id/gsf"]').click(), device_serial,
- "发送按钮元素未获取到")
- end_time5 = time.time()
- loggerKit.info("thread[{0}=>{1}], 设备号:{2}, 发送==>>执行时长:{3}", threading.current_thread().name,
- threading.get_ident(), device_serial, end_time5 - start_time5)
- time.sleep(random_add_subtract(sleep_time))
- # 退出会话
- loggerKit.info('thread[{0}=>{1}], 设备号:{2}, 退出会话', threading.current_thread().name, threading.get_ident(),
- device_serial)
- time.sleep(random_add_subtract(sleep_time))
- start_time6 = time.time()
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- end_time6 = time.time()
- loggerKit.info("thread[{0}=>{1}], 设备号:{2}, 退出会话==>>执行时长:{3}", threading.current_thread().name,
- threading.get_ident(),
- device_serial, end_time6 - start_time6)
- # 退出搜索
- loggerKit.info('thread[{0}=>{1}], 设备号:{2}, 退出搜索', threading.current_thread().name, threading.get_ident(),
- device_serial)
- time.sleep(random_add_subtract(sleep_time))
- start_time7 = time.time()
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- end_time7 = time.time()
- loggerKit.info("thread[{0}=>{1}], 设备号:{2}, 退出搜索==>>执行时长:{3}", threading.current_thread().name,
- threading.get_ident(),
- device_serial, end_time7 - start_time7)
- return status
- # 指定人消息回复
- def wework_appoint_reply(device_serial, keyword, username, content):
- # 连接设备
- device = u2.connect(device_serial)
- status = script_status(1, 0, '', '')
- # 打开搜索框
- loggerKit.info('thread[{0}=>{1}], 设备号: {2}, 打开搜索框', threading.current_thread().name, threading.get_ident(),
- device_serial)
- if device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click()
- else:
- status = script_status(0, 500, '搜索按钮元素未获取到', '')
- reboot_device(device_serial, '搜索按钮元素未获取到')
- return status
- time.sleep(random_add_subtract(sleep_time))
- # 输入搜索文案
- loggerKit.info('thread[{0}=>{1}], 输入搜索文案:{2}, 设备号:{3}', threading.current_thread().name,
- threading.get_ident(),
- keyword, device_serial)
- if device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(keyword)
- else:
- status = script_status(0, 500, '搜索框元素未获取到', '')
- reboot_device(device_serial, '搜索框元素未获取到')
- return status
- time.sleep(1)
- # 点击搜索所得的第一个
- if device.xpath('//*[@resource-id="com.tencent.wework:id/kzx"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/ge2"]').click()
- else:
- status = script_status(0, 500, '搜索不到群聊', '')
- reboot_device(device_serial, '搜索不到群聊')
- return status
- time.sleep(random_add_subtract(sleep_time))
- # 编辑框
- loggerKit.info('thread[{0}=>{1}], 设备号:{2}, 输入编辑框文本', threading.current_thread().name,
- threading.get_ident(),
- device_serial)
- if device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').click()
- # 内容赋值
- edit = device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]')
- edit.set_text("@")
- time.sleep(random_add_subtract(sleep_time))
- if device.xpath('//*[@resource-id="com.tencent.wework:id/dae"]').exists:
- time.sleep(random_add_subtract(sleep_time))
- # 搜索框赋值 @出指定人
- device.xpath('//*[@resource-id="com.tencent.wework:id/dae"]').set_text(username)
- # 因网络原因 部分随机等待时间可能会对程序有影响
- time.sleep(random_add_subtract(sleep_time))
- # 获取到搜索出的第一个人
- if device.xpath('//*[@resource-id="com.tencent.wework:id/itp"]/android.view.ViewGroup[1]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/itp"]/android.view.ViewGroup[1]').click()
- else:
- status = script_status(0, 500, '@不到指定人', '')
- reboot_device(device_serial, '@不到指定人')
- return status
- # 内容赋值
- # 使用 replace() 方法将字符串中的 <br/> 替换成 \n
- text = content.replace("<br/>", "\n")
- edit.set_text(text + "\n" + edit.text)
- else:
- status = script_status(0, 500, '@指定人元素未获取到', '')
- reboot_device(device_serial, '@指定人元素未获取到')
- return status
- else:
- status = script_status(0, 500, '编辑框元素未获取到', '')
- reboot_device(device_serial, '编辑框元素未获取到')
- return status
- # 发送
- loggerKit.info('thread[{0}=>{1}], 设备号:{2}, 发送文案', threading.current_thread().name, threading.get_ident(),
- device_serial)
- if device.xpath('//*[@resource-id="com.tencent.wework:id/gsf"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsf"]').click()
- else:
- status = script_status(0, 500, '发送按钮元素未获取到', '')
- reboot_device(device_serial, '发送按钮元素未获取到')
- return status
- # 退出会话
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- # 退出搜索
- if device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- return status
- # 企微群消息回复+h5 转发操作
- def wework_reply_h5(device_serial, keyword, content, material_id):
- status = wework_reply(device_serial, keyword, content)
- if status.execute_status == 0:
- return status
- status = wework_h5(device_serial, keyword, material_id)
- return status
- # 企微指定人群消息回复 +h5 转发操作
- def wework_appoint_reply_h5(device_serial, keyword, username, content, material_id):
- status = wework_appoint_reply(device_serial, keyword, username, content)
- if status.execute_status == 0:
- return status
- status = wework_h5(device_serial, keyword, material_id)
- return status
- # 企微群消息回复+h5 转发操作
- def wework_reply_mini(device_serial, keyword, content, material_id):
- status = wework_reply(device_serial, keyword, content)
- if status.execute_status == 0:
- return status
- status = wework_mini(device_serial, keyword, material_id)
- return status
- # 企微指定人群消息回复 +h5 转发操作
- def wework_appoint_reply_mini(device_serial, keyword, username, content, material_id):
- status = wework_appoint_reply(device_serial, keyword, username, content)
- if status.execute_status == 0:
- return status
- status = wework_mini(device_serial, keyword, material_id)
- return status
- # 企微群转发h5 操作
- def wework_h5(device_serial, keyword, material_id):
- status = script_status(1, 0, '', '')
- # 设备连接
- d = u2.connect(device_serial)
- # 搜索
- d.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click_exists()
- # 关键词
- d.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').click_exists()
- d(focused=True).set_text("qa-机器人素材")
- # 点击
- d.xpath(
- '//*[@resource-id="com.tencent.wework:id/jh1"]/android.widget.RelativeLayout[2]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout['
- '1]/android.widget.RelativeLayout[1]').click_exists()
- # 加载等待
- time.sleep(5)
- # 点解编辑按钮
- d.click(0.402, 0.18)
- # 设置url
- d.send_keys(material_id)
- # 点击h5跳转
- d.click(0.563, 0.262)
- # 进行转发操作
- d.xpath('//*[@resource-id="com.tencent.wework:id/l6t"]').click()
- d.xpath('//*[@text="转发"]').click()
- # 搜索转发人
- d.xpath('//*[@resource-id="com.tencent.wework:id/l71"]').click()
- # 搜索框赋值
- d.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(keyword)
- time.sleep(1)
- # 点击第一个联系人
- d.xpath(
- '//*[@resource-id="com.tencent.wework:id/c6f"]/android.widget.RelativeLayout[2]').click()
- # 点击发送按钮
- d.xpath('//*[@resource-id="com.tencent.wework:id/ck0"]').click()
- # 退出
- d.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- # 返回首页
- d.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- return status
- # 企微群转发h5 操作
- def wework_mini(device_serial, keyword, material_id):
- status = script_status(1, 0, '', '')
- # 设备连接
- d = u2.connect(device_serial)
- # 搜索
- d.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click_exists()
- # 关键词
- d.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').click_exists()
- d(focused=True).set_text("qa-机器人素材")
- # 点击
- d.xpath(
- '//*[@resource-id="com.tencent.wework:id/jh1"]/android.widget.RelativeLayout['
- '2]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout['
- '1]/android.widget.RelativeLayout[1]').click_exists()
- # 加载等待
- time.sleep(5)
- # 点解编辑按钮
- d.click(0.402, 0.18)
- # 设置url
- d.send_keys(material_id)
- # 点击小程序跳转
- d.click(0.563, 0.334)
- # 进行转发操作
- d.xpath('//*[@content-desc="更多"]').click()
- time.sleep(2)
- # 进入小程序前可能会有加载时间
- if d.xpath('//*[@text="转发"]').exists:
- d.xpath('//*[@text="转发"]').click()
- else:
- status = script_status(0, 500, '无法打开小程序' + material_id, '')
- return status
- # 搜索转发人
- d.xpath('//*[@resource-id="com.tencent.wework:id/l71"]').click()
- # 搜索框赋值
- d.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(keyword)
- time.sleep(1)
- # 点击第一个联系人
- d.xpath(
- '//*[@resource-id="com.tencent.wework:id/c6f"]/android.widget.RelativeLayout[2]').click()
- # 点击发送按钮
- d.xpath('//*[@resource-id="com.tencent.wework:id/ck0"]').click()
- # 退出
- d.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- # 返回首页
- d.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- return status
- # 训练营
- def wework_camp(device_serial, keyword):
- # 连接设备
- device = u2.connect(device_serial)
- device.healthcheck()
- device.screen_on()
- device.unlock()
- device.debug = False
- # 重启企业微信
- device.app_stop("com.tencent.wework")
- device.app_start("com.tencent.wework")
- # 打开搜索框
- device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click()
- # 输入搜索文案
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(keyword)
- # 点击搜索所得的第一个
- device.xpath('//*[@resource-id="com.tencent.wework:id/ge2"]').click()
- while 1:
- # 如果有训练营按钮 点击进入
- if device.xpath('//*[@text="成长营"]').exists:
- device.xpath('//*[@text="成长营"]').click_exists(10)
- # 缓冲五秒
- time.sleep(5)
- # h5页面无法获取到对应的xpath元素 进行坐标点击
- device.click(0.168, 0.152)
- time.sleep(2)
- # 发送按钮点击
- device.xpath('//*[@resource-id="com.tencent.wework:id/ck0"]').click()
- break
- # 如果有添加xpath 进入添加工具栏页面
- if device.xpath('//*[@resource-id="com.tencent.wework:id/ham"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/ham"]').click()
- break
- # 向右滑动继续获取
- parent_view = device.xpath('//*[@resource-id="com.tencent.wework:id/fbf"]')
- parent_view.swipe("left")
- def invite_demo(device_serial, key_word, user_name, content):
- # 编辑群页面最多展示的群人数
- max_count = 20
- add_people_xpath = '//*[@resource-id="com.tencent.wework:id/edb"]/android.widget.LinearLayout[{}]/android.widget.ImageView[1]'
- # 设备连接
- device = u2.connect(device_serial)
- # 重启企业微信
- device.app_stop("com.tencent.wework")
- device.app_start("com.tencent.wework")
- # 打开搜索框
- device.xpath('//*[@resource-id="com.tencent.wework:id/l76"]').click()
- # 输入搜索文案
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(key_word)
- # 点击搜索所得的第一个
- device.xpath('//*[@resource-id="com.tencent.wework:id/ge2"]').click()
- # 点击编辑群按钮
- device.xpath('//*[@resource-id="com.tencent.wework:id/l6w"]').click()
- # 获取群人数
- people_count = device.xpath('//*[@resource-id="com.tencent.wework:id/eb_"]').get_text()
- # 获取到群人数
- people_count = int(people_count.replace("人", ""))
- if people_count >= max_count:
- people_count = max_count
- else:
- people_count = people_count + 1
- add_people_xpath = add_people_xpath.format(people_count)
- # 进入选择联系人页面
- device.xpath(add_people_xpath).click()
- # 选择企业通讯录
- device.xpath('//*[@text="企业通讯录"]').click()
- # 点击搜索按钮
- device.xpath(
- '//*[@resource-id="com.tencent.wework:id/jlj"]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[2]/android.widget.RelativeLayout[1]/android.widget.TextView[1]').click()
- # 搜索需添加人员
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(user_name)
- # 选中第一个匹配人员
- device.xpath(
- '//*[@resource-id="com.tencent.wework:id/jlj"]/android.widget.RelativeLayout[1]/android.widget.ListView[1]/android.widget.RelativeLayout[2]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[2]').click()
- # 确定添加人员
- if device.xpath('//*[@resource-id="com.tencent.wework:id/jlf"]').exists:
- # 如果有确认按钮 确保该群中之前没有该用户
- device.xpath('//*[@resource-id="com.tencent.wework:id/jlf"]').click()
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- else:
- # 如果没有确认按钮 确保该群众已经有了该用户
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- # 编辑框
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').click()
- # 内容赋值
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').set_text(content)
- # 发送
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsf"]').click()
- # 点击编辑群按钮
- device.xpath('//*[@resource-id="com.tencent.wework:id/l6w"]').click()
- # 退出群聊
- while 1:
- if device.xpath('//*[@resource-id="com.tencent.wework:id/jtt"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/jtt"]').click()
- break
- else:
- device.swipe_ext('up', scale=1)
- # 确定退出群聊
- device.xpath('//*[@resource-id="com.tencent.wework:id/b42"]').click()
- def create_group(device_serial, robot_name, customer_name, group_name, content):
- # 设备连接
- device = u2.connect(device_serial)
- # 打开添加按钮
- device.xpath('//*[@resource-id="com.tencent.wework:id/l6w"]').click()
- # 点击发起群聊按钮
- device.xpath('//*[@text="发起群聊"]').click()
- # 点击搜索按钮 开始搜索人员
- device.xpath('//*[@resource-id="com.tencent.wework:id/l7b"]').click()
- # 输入机器人姓名
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(robot_name)
- time.sleep(1)
- if device.xpath(
- '//*[@resource-id="com.tencent.wework:id/itp"]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.ImageView[1]').exists:
- device.xpath(
- '//*[@resource-id="com.tencent.wework:id/itp"]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.ImageView[1]').click()
- # 重置搜索框
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfh"]').click()
- # 输入机器人姓名
- device.xpath('//*[@resource-id="com.tencent.wework:id/jfi"]').set_text(customer_name)
- time.sleep(1)
- # 输入客户名称
- if device.xpath('//*[@resource-id="com.tencent.wework:id/jk0"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/jk0"]').click()
- # 点击确认按钮
- device.xpath('//*[@resource-id="com.tencent.wework:id/jjx"]').click()
- # 点击编辑群信息
- device.xpath('//*[@resource-id="com.tencent.wework:id/l6w"]').click()
- # 点击群聊名称
- device.xpath('//*[@text="群聊名称"]').click()
- # 设置群名称
- device.xpath('//*[@resource-id="com.tencent.wework:id/egb"]').set_text(group_name)
- # 确定修改
- device.xpath('//*[@resource-id="com.tencent.wework:id/l73"]').click()
- # 退出群编辑
- device.xpath('//*[@resource-id="com.tencent.wework:id/l67"]').click()
- # 编辑框
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').click()
- # 内容赋值
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsj"]').set_text(content)
- # 发送
- device.xpath('//*[@resource-id="com.tencent.wework:id/gsf"]').click()
- # 点击编辑群按钮
- device.xpath('//*[@resource-id="com.tencent.wework:id/l6w"]').click()
- # 退出群聊
- while 1:
- if device.xpath('//*[@resource-id="com.tencent.wework:id/jtt"]').exists:
- device.xpath('//*[@resource-id="com.tencent.wework:id/jtt"]').click()
- break
- else:
- device.swipe_ext('up', scale=1)
- # 确定退出群聊
- device.xpath('//*[@resource-id="com.tencent.wework:id/b42"]').click()
|